Skip to content

LukaData/GA4-Measurement-Protocol-Typescript

 
 

Repository files navigation

Google Analytics GA4 Measurement Protocol Library

This library provides an interface for sending data to Google Analytics 4 properties using Measurement Protocol.

NOTE Google Analytics 4 is in Alpha as of the latest update

Use

BSD 3-Clause license can be found in ./LICENSE

Contact

[email protected]

Compatible with

  • Node.js version 8+
  • es2015

Installation

npm install -s ga4-mp

Setup

ga4mp = require('ga4-mp');
let ga4 = ga4mp.createClient(apiSecret, measurementId, clientId);

Send Hits to GA4 Account

You can send events to GA4 as they happen or batch them to be sent at another time of your choosing.

Send immediately

ga4.send(<events>);

Send later

ga4.send(<events>, true); // Set postpone flag
ga4.flushBuffer();  // Send all postponed events

Events passed to send()

var events = [
  {
    name : 'add_to_cart',
    params : {
      currency : 'USD',
       items : ['Pokémon cards'],
       value : "4.99"
    }
  },
  {
    name : 'app_update',
    params : {
      previous_app_version : '4.6'
    }
  }
]

Events are expected to be passed to the send() function within an array and matching the object schema found in the Google Analytics 4 documentation.

Additional Features

Set and unset a constant parameter

ga4.setConstantParam(key, value);  // Set a constant
ga4.unsetConstantParam(key); // Remove a constant

Set custom dimensions/metrics, country codes, etc. for all outgoing events. You can unset them too.

Output connection details

ga4.readClientInfo();

About

Google Analytics 4 Measurement Protocol library downloadable on NPM

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 100.0%