2.2.0 • Published 5 months ago

react-ga-neo v2.2.0

Weekly downloads
-
License
MIT
Repository
github
Last release
5 months ago

React GA Neo GitHub Actions npm version

A fork of react-ga4 with a few more features sprinkled on top.

Install

This package is available at npm as react-ga-neo.

npm install react-ga-neo

Usage

import ReactGA from "react-ga-neo";

ReactGA.initialize("G-XXXXXXXXXX"); // Your GA4 measurement id

Migrating from old react-ga

Simply replace react-ga with react-ga-neo and remove ReactGA.pageview() calls.

// import ReactGA from "react-ga";
import ReactGA from "react-ga-neo";

A few old methods may not be available. You may use ReactGA.gtag() or React.ga() as last resort to call gtag/ga directly. Alternatively, you can extend the library. Pull requests with improvements are welcome! :)

Example

Check out the tests for more examples.

// Multiple products (previously known as trackers)
ReactGA.initialize([
  {
    trackingId: "your GA measurement id",
    gaOptions: {...}, // optional
    gtagOptions: {...}, // optional
  },
  {
    trackingId: "your second GA measurement id",
  },
]);

// Send pageview with a custom path
ReactGA.send({ hitType: "pageview", page: "/my-path", title: "Custom Title" });

// Send a custom event
ReactGA.event({
  category: "your category",
  action: "your action",
  label: "your label", // optional
  value: 99, // optional, must be a number
  nonInteraction: true, // optional, true/false
  transport: "xhr", // optional, beacon/xhr/image
});

Reference

ReactGA.initialize(GA_MEASUREMENT_ID, [options])

ParameterNotes
GA_MEASUREMENT_IDstring Required
options.noncestring Optional Used for Content Security Policy (CSP) more
options.testModeboolean Default false
options.titleCaseboolean Default true
options.gtagUrlstring Default https://www.googletagmanager.com/gtag/js
options.gaOptionsobject Optional Reference
options.gtagOptionsobject Optional

ReactGA.set(fieldsObject)

ParameterNotes
fieldsObjectobject Required

ReactGA.event(name, params)

This method signature is NOT for UA-XXX

ParameterNotes
namestring Required A recommended event or a custom event
paramsobject Optional

ReactGA.event(options)

ParameterNotes
optionsobject Required
options.actionstring Required
options.categorystring Required
options.labelstring Optional
options.valuenumber Optional
options.nonInteractionboolean Optional
options.transport'beacon'\|'xhr'\|'image' Optional

ReactGA.send(fieldsObject)

ParameterNotes
fieldsObjectobject Required

ReactGA.exception([details])

ParameterNotes
details.descriptionstring
details.fatalstring

ReactGA.timing(timingObject)

ParameterNotes
timingObject.categorystring Required
timingObject.variablestring Required
timingObject.valuenumber Required
timingObject.labelstring Optional

ReactGA.gtag(...args)

Used to call gtag() directly (see official documentation for details).

ReactGA.ga(...args)

DEPRECATED.

Extending

import { ReactGAImplementation } from "react-ga-neo";

class MyCustomOverriddenClass extends ReactGAImplementation {}

export default new MyCustomOverriddenClass();

License

MIT