@d-cat/utility-ga-event-listener
TypeScript icon, indicating that this package has built-in type declarations

19.1.0 • Public • Published

Getting started with @d-cat/utility-ga-event-listener

codecov

This utility package is designed for @d-cat/tag-manager. It uses DDM-NPM to subscribe to both ga.event as other events with a ga_data prop. Make sure Google Analytics is available at runtime.

Install

npm i @d-cat/utility-ga-event-listener

Usage

Two listeners are set through this package:

  • 'ga.event'
  • '**'

By default the listeners abort sending hits to Google Analytics when they do not validate against the following (RegExo) categories:

  • ^click.(button|link|click|outbound|download)$
  • ^bat$

Enhancing this list goes by passing an RegExp[] with accepted categories.

Init

The initialization happens 1 time per page.

import gaEvent from '@d-cat/utility-ga-event-listener';

const TRACKER_NAMES = ['directsales'];

// empty array when no additional whitelisted categories are given
// this means the default whitelist apply
gaEvent({
  names: TRACKER_NAMES,
});

// No array given,
// this means the default whitelist apply
gaEvent({ names: TRACKER_NAMES });

// Given string merges with the default array
// that means the default whitelisted categories apply including connected-cloud.
gaEvent({
  categories: [/connect\-cloud/],
  names: TRACKER_NAMES,
});

Sending data to Google Analytics

There are 2 options, after the initialization is done to send data to Google Analytics:

  • triggering ga.event (with a whitelisted category)
  • triggering a random event, while passing additional attributes

ga.event

import { emit } from '@d-cat/digital-data-manager'

// Triggering ga.event with a NOT whitelisted category
// this will abort sending the hit to GA, however the event
// will be visible in the eventbus.
emit({
  event: 'ga.event',
  data: {
    data: {
      category: 'category',
      action: 'random action',
      label: 'really long label',
    },
  },
});

Random event

Property Type Descrioption
ga_data {category: string, action: string, label?:string} Object where category should validate against given whitelist, action and label have to be of type string.
import { emit } from '@d-cat/digital-data-manager'

// Each event can trigger to send a hit to Google Analytics
// by forwarding send_to_ga: true including ga_data object
// default rules apply according to whitelisted categories
emit({
  event: 'random.event',
  data: {
    data: {
      ga_data: {
        category: 'click.link',
        action: 'random action',
        label: 'random label',
      },
    },
  },
});

Send to a single trackerName

You can override the trackernames by providing a new array with trackers. This will then only send data to the given tracker names, and not to the initial tracker names.

import { emit } from '@d-cat/digital-data-manager'

// Each event can trigger to send a hit to Google Analytics
// by forwarding send_to_ga: true including ga_data object
// default rules apply according to whitelisted categories
emit({
  event: 'random.event',
  data: {
    data: {
      ga_data: {
        category: 'click.link',
        action: 'random action',
        label: 'random label',
        trackers: ['t0', 'ziggo'],
      },
    },
  },
});

Versions

Current Tags

VersionDownloads (Last 7 Days)Tag
19.1.01latest

Version History

VersionDownloads (Last 7 Days)Published
19.1.01
19.0.00
18.0.00
17.0.00
16.0.00
15.0.00
14.0.00
13.0.00
12.0.00
11.0.00
10.0.00
9.0.00
8.0.00
7.0.00
6.0.00
5.0.00
4.0.00
3.0.60
3.0.50
3.0.40
3.0.30
3.0.20
3.0.10
3.0.00
2.1.00
2.0.10
2.0.00
1.1.00

Package Sidebar

Install

npm i @d-cat/utility-ga-event-listener

Weekly Downloads

1

Version

19.1.0

License

ISC

Unpacked Size

58.2 kB

Total Files

9

Last publish

Collaborators

  • d-cat