Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
import { pushDataLayer } from '@doodle/tagmanager';

const events = {
  GTM: 'gtmEvent',
  VIRTUAL_PAGE: 'virtualPageview',
  OPTIMIZE_TRIGGER: 'optimize.trigger',
};

const eventCategories = {
  USER_INTERACTION: 'userInteraction',
  CONVERSION: 'conversion',
};

const eventActions = {
  NOT_INTERESTED: 'clickNotInterested',
  BUY_PLAN: 'clickPremiumBannerBuyNow',
  SHOW_BANNER: 'showPremiumBanner',
};

const eventLabels = {
  TRIAL_OVER: 'trial over',
  TRIAL_RUNNING: 'trial running',
  PREMIUM_OVER: 'Premium over',
  PREMIUM_RUNNING: 'Premium running',
};

const defaultTrackingFields = {
  eventNonInteraction: 'False',
  eventCategory: eventCategories.UserInteraction,
  eventLabel: undefined, // flush datalayer value in order to not mix them up between events
  eventValue: undefined, // flush datalayer value in order to not mix them up between events
};

const pushDataLayerEvent = ({ eventCategory, eventAction, eventLabel }) =>
  pushDataLayer({
    ...defaultTrackingFields,
    event: events.GTM,
    eventCategory,
    eventAction,
    eventLabel,
  });

export { eventCategories, eventActions, eventLabels, pushDataLayerEvent };