@gleaner/tracker
Version:
A JavaScript tracking library with ecommerce support
69 lines (48 loc) • 1.07 kB
JavaScript
import Event from './event'
export class ImpressionEvent extends Event {
constructor(products) {
super('ec_i');
this.addPayload({products});
}
}
export class ProductDetailEvent extends Event {
constructor(products) {
super('ec_pd');
this.addPayload({products});
}
}
export class AddToCartEvent extends Event {
constructor(products) {
super('ec_atc');
this.addPayload({products});
}
}
export class RemoveFromCartEvent extends Event {
constructor(products) {
super('ec_rfc');
this.addPayload({products});
}
}
// shortening keys not yet, or maybe never
export class CheckoutEvent extends Event {
constructor(products, checkout) {
super('ec_checkout')
this.addPayload({products, ...checkout})
}
}
export class PurchaseEvent extends Event {
/*
@param {Array}
@param {Object}
*/
constructor(products, purchase) {
super('ec_purchase')
this.addPayload({products, ...purchase})
}
}
// class CategoryVisitEvent extends Event {
// constructor(products) {
// super('ec_rfc');
// this.payload(products);
// }
// }