Skip to content

Instantly share code, notes, and snippets.

@ismyrnow
Last active March 14, 2022 21:32
Show Gist options
  • Star 27 You must be signed in to star a gist
  • Fork 7 You must be signed in to fork a gist
  • Save ismyrnow/6252718 to your computer and use it in GitHub Desktop.
Save ismyrnow/6252718 to your computer and use it in GitHub Desktop.
Google Analytics AMD Module
define(function (require) {
var module;
// Setup temporary Google Analytics objects.
window.GoogleAnalyticsObject = "ga";
window.ga = function () { (window.ga.q = window.ga.q || []).push(arguments); };
window.ga.l = 1 * new Date();
// Immediately add a pageview event to the queue.
window.ga("create", "{{TrackingID}}", "{{Domain}}");
window.ga("send", "pageview");
// Create a function that wraps `window.ga`.
// This allows dependant modules to use `window.ga` without knowingly
// programming against a global object.
module = function () { window.ga.apply(this, arguments); };
// Asynchronously load Google Analytics, letting it take over our `window.ga`
// object after it loads. This allows us to add events to `window.ga` even
// before the library has fully loaded.
require(["//www.google-analytics.com/analytics.js"]);
return module;
});
@prrraveen
Copy link

@paulcanning. You can just just add the module to your require / define method. It will take care of rest of things.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment