@elbwalker/destination-web-google-ga4
TypeScript icon, indicating that this package has built-in type declarations

2.1.2 • Public • Published

Google Analytics 4 (GA4) web destination for walkerOS

Made to be used with walker.js from walkerOS.

More detailed information and examples can be found in the documentation.

🤓 Usage

Start by setting up the config for the destination. Optional fields as comments. Destinations can be used via node or directly in the browser.

Configuration

Learn more about destinations in general and read the detailled Google GA4 configuration.

const config = {
  custom: {
    measurementId: 'G-XXXXXXXXXX', // Required
    debug: false,
    include: ['globals'],
    items: {},
    pageview: false,
    params: {
      currency: {
        default: 'EUR',
        key: 'data.currency',
      },
      user_id: 'user.id',
    },
    snakeCase: true,
    transport_url: 'https://www.google-analytics.com/j/collect',
  },
  mapping: {
    '*': { '*': {} }, // Process all events
    // entity: { action: { name: 'custom_name' } },
    page: { view: { ignore: true } }, // Ignore page view events, same as pageview: false
    product: {
      add: {
        name: 'add_to_cart', // Rename the product add event to add_to_cart
        custom: {
          // Set parameters for items array
          include: ['all'], // Add all properties to parameters
          items: {
            params: {
              item_id: 'data.id',
              item_category: 'context.category.0', // Value is an array
              quantity: { default: 1, key: 'data.quantity' },
            },
          },
          // Set event parameters
          params: { value: 'data.price' },
        },
      },
      // Add view and other product-related actions
    },
    order: {
      complete: {
        name: 'purchase',
        custom: {
          items: {
            params: {
              // Nested entities are looped and can be used with a wildcard
              // This will add multiple items to the event
              item_id: 'nested.*.data.id',
            },
          },
          params: { transaction_id: 'data.id', value: 'data.revenue' },
        },
      },
    },
  },
};

Node usage

npm i --save @elbwalker/destination-web-google-ga4
import { elb } from '@elbwalker/walker.js';
import destinationGoogleGA4 from '@elbwalker/destination-web-google-ga4';

elb('walker destination', destinationGoogleGA4, config);

Contribute

Feel free to contribute by submitting an issue, starting a discussion or getting in contact.

Package Sidebar

Install

npm i @elbwalker/destination-web-google-ga4

Weekly Downloads

85

Version

2.1.2

License

MIT

Unpacked Size

40.8 kB

Total Files

12

Last publish

Collaborators

  • alexanderkirtzel