1.1.0 • Published 4 years ago

@d-cat/tag-template-dv360 v1.1.0

Weekly downloads
10
License
ISC
Repository
gitlab
Last release
4 years ago

Getting started with @d-cat/tag-template-dv360

codecov

Tag Template to handle DV360 pixels, based on Google Tag Manager data objects.

Install

npm i @d-cat/tag-template-dv360

Usage

The class returns 1 method: render.

ParameterTypeDesc
thresholdnumberThreshold of ga.event triggers.
detailsIdKeystringKey of ecommerce detail id inside DDM.
revenueKeystringKey of ecommerce revenue id inside DDM.
import DV360 from '@d-cat/tag-template-dv360';

const dv360 = new DV360({
  threshold: 0.01,
  detailsIdKey: 'ecommerce.detail.id',
  revenueKey: 'ecommerce.revenue',
});

render(gtag?: Function, config: IDV360): void

The render method accepts a Google Tag Manager config file and than sends data to given endpoints. The GTM Config file should be generated using a GTM Tag Template, and looks like:

{
  "data": {
    "account_id": "DC-9539518",
    "pixels": [
      {
        "id": "12345",
        "type": "counter",
        "send_to": "DC-123/test/test+standard",
        "trigger": {
          "page": "zakelijk",
          "reverse": true,
          "matchAllRules": true,
          "matchAllEvents": false,
          "eventData": true,
          "events": [],
          "rules": [
            {
              "key": "random.dd.value",
              "regex": "random",
              "reverse": false
            },
            {
              "key": "random.dd.value",
              "regex": "random",
              "reverse": true
            }
          ],
          "gtmEventId": 0
        },
        "uvars": {
          "variables": [
            {
              "key": "u1",
              "value": "page.host"
            }
          ],
          "gtmEventId": 0
        }
      }
    ],
    "gtmTagId": 3,
    "gtmEventId": 0
  }
}

Please make sure gtag is defined.

Example

import { listen } from '@d-cat/digital-data-manager';
import DV360 from '@d-cat/tag-template-dv360';

listen('3rd.gtag.loaded', ({ data }) => {
  const { gtag } = data;

  // wait for a GTM object
  listen('pixels.dv360', async gtmConfig => {
    const dv360 = new DV360({
      threshold: 0.01,
      detailsIdKey: 'ecommerce.detail.id',
      revenueKey: 'ecommerce.revenue',
    });

    await dv360.render(gtag, gtmConfig.data);
  });
});
1.1.0

4 years ago

1.0.1

4 years ago

0.2.0

4 years ago

0.1.0

4 years ago

0.0.4

4 years ago

0.0.3

4 years ago

0.0.2

4 years ago

0.0.1

4 years ago