In order to use the library, call workbox.googleAnalytics.initialize(). It will take care of setting up service worker fetch handlers to ensure that the Google Analytics JavaScript is available offline, and that any Google Analytics requests made while offline are saved (using IndexedDB) and retried the next time the service worker starts up.

Examples
// This code should live inside your service worker JavaScript, ideally
// before any other 'fetch' event handlers are defined:

// First, import the library into the service worker global scope:
importScripts('path/to/offline-google-analytics-import.js');

// Then, call workbox.googleAnalytics.initialize():
workbox.googleAnalytics.initialize();

// At this point, implement any other service worker caching strategies
// appropriate for your web app.
// If you need to specify parameters to be sent with each hit, you can use
// the `parameterOverrides` configuration option. This is useful in cases
// where you want to set a custom dimension on all hits sent by the service
// worker to differentiate them in your reports later.
workbox.googleAnalytics.initialize({
  parameterOverrides: {
    cd1: 'replay'
  }
});
// In situations where you need to programmatically modify a hit's
// parameters you can use the `hitFilter` option. One example of when this
// might be useful is if you wanted to track the amount of time that elapsed
// between when the hit was attempted and when it was successfully replayed.
workbox.googleAnalytics.initialize({
  hitFilter: searchParams =>
    // Sets the `qt` param as a custom metric.
    const qt = searchParams.get('qt');
    searchParams.set('cm1', qt);
  }
});

Instance Methods

(static) this.workbox.googleAnalytics.initialize(config)

Parameters
config Object (Optional)
Properties
parameterOverrides Object (Optional)

Measurement Protocol parameters, expressed as key/value pairs, to be added to replayed Google Analytics requests. This can be used to, e.g., set a custom dimension indicating that the request was replayed.

hitFilter function (Optional)

A function that allows you to modify the hit parameters prior to replaying the hit. The function is invoked with the original hit's URLSearchParams object as its only argument. To abort the hit and prevent it from being replayed, throw an error.