Skip to content

Instantly share code, notes, and snippets.

@branneman
Created January 23, 2018 14:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save branneman/f69b7f5b2279ee9a3c1f70eaae38756d to your computer and use it in GitHub Desktop.
Save branneman/f69b7f5b2279ee9a3c1f70eaae38756d to your computer and use it in GitHub Desktop.
/**
* @module GTMEventTracking
* @example
* <a
* data-module="event-tracking/GTMEventTracking"
* data-payload='{"event":"EventOpenGoogle"}'
* href="https://google.com/" target="_blank">
* Click me
* </a>
*/
class GTMEventTracking {
/**
* @param {HTMLElement} element
* @param {Object} options
*/
constructor(element, options) {
this._element = element;
this._options = options;
this.load();
}
load() {
const payload = JSON.parse(this._options.payload);
this._element.addEventListener('click', () => {
window.dataLayer = window.dataLayer || [];
window.dataLayer.push(payload);
});
}
}
export default GTMEventTracking;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment