JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 117
  • Score
    100M100P100Q90571F
  • License MIT

An Open-Source Google Analytics 4 Client-Side Protocol Implementation

Package Exports

  • @analytics-debugger/ga4mp
  • @analytics-debugger/ga4mp/dist/ga4mp.esm.min.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@analytics-debugger/ga4mp) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

GA4MP - Google Analytics 4 Measurement Protocol

This is an open-source implementation for the client-side protocol used by Google Analytics 4. When I mention "client-side" is because it must be differentiated with the official GA4 Measurement Protocol offered by Google.

This library implements the public Google Analytics 4 protocol to make possible to do a full server-side tracking using NODE/JS which is not actually possible with the official Measurement Protocol , which is meant only to augment the current GA4 data and it's not ready for doing a full tracking.

Main differences with the official offerser server-side protocol are:

  • Trigger new sessions and visits starts
  • Track Sessions attribution
  • Override the User IP to populate the GEO Details
  • View the hits on the DebugView
  • Override ANY value you want
  • Easily portable to other languages

If we compare this library with the official GTAG implementation.

  • Lightweight 8.7kb (<4kb compressed ) 95.6% Lighter than a GTAG Container image
  • Privacy Compliant: Full control over which cookies are created/read and sent to Google
  • Dual Tracking (send hits to multiple measurement Ids)

Usage

ES6 Imports

import  ga4mp  from  '@analytics-debugger/ga4mp'
const  ga4track = ga4mp(["G-THYNGSTER"], {
    user_id:  undefined,
    non_personalized_ads:  true,
    debug:  true
});

Browser

<.script src="" title="undefined" rel="noopener noreferrer">https://cdn.jsdelivr.net/npm/@analytics-debugger/ga4mp@latest/dist/ga4mp.umd.min.js">< /script>

const  ga4track  =  ga4mp(["G-THYNGSTER"],  {
    user_id: undefined,
    non_personalized_ads: true,
    debug: true
});

NODE.JS

const  ga4mp = require('./dist/ga4mp')
const  ga4track = ga4mp(["G-THYNGSTER"], {
    user_id:  undefined,
    non_personalized_ads:  true,
    debug:  true
});

More API details

Read more at: https://ga4mp.dev/