1.0.2 • Published 5 years ago
@ichnos/core v1.0.2
@ichnos/core
Install
npm install @ichnos/core
if you using yarn as package manager
yarn add @ichnos/core
Getting started
Create Ichnos instance and register event types.
import Ichnos from '@ichnos/core'
const ichnos = new Ichnos({
options: { id: 'GTM-XXX' },
events: [ // register events
{ type: 'addToCart' }
]
})
next, you can fire events with payload as follow:
ichnos.send(
ichnos.events.addToCart({ productId: 'abc' })
)
Configurations
config.options
Name | type | default | comments |
---|---|---|---|
id (required) | string | ||
events (required) | { type: String } | [] | register event types |
active | boolean | false | whether to enable sending gtm events |
layer | string | dataLayer | whether to enable sending gtm events |
debug | boolean | false | show logs in the console |
config.events
array of events types to register to ichnos instance, Example:
const ichnos = new Ichnos({
// ...
events: [{ type: 'addToCart' }]
// ...
})
then, you can use it to generate event with payload before send
ichnos.send(
ichnos.events.addToCart({ productId: 'abc'})
)
config.hook
Events defined with a lifecycle in ichnos to reduce any boilerplate and redundunt code and make it simple to roll out your tracking events. below list of hooks can be applied:
beforeSend
beforeSend(type:string, payload: any, history: gtmEvents[])
hook called before send gtm event to the datalayer
below is example to attach event
property to all the events schema.
import Ichnos from '@ichnos/core'
const ichnos = new Ichnos({
// ...
hook: {
beforeSend: (type, payload, history) => {
let event = payload;
if(type === 'addToCart'){
return {
userId: 'xyz'
...event
}
}
return event;
}
}
})
//...
ichnos.send(ichnos.events.addToCart({ productId: '123' })); // { userId: 'xyz', productId: '123' }
1.0.2
5 years ago
1.0.1
5 years ago
1.0.0
5 years ago
0.0.14
5 years ago
0.0.13
5 years ago
0.0.10
5 years ago
0.0.10-alpha.0
5 years ago
0.0.8-alpha.0
5 years ago
0.0.5-alpha.0
5 years ago