@spencerwhyte/gatsby-plugin-gdpr-cookies
Version:
Gatsby plugin to add google analytics, google tag manager facebook pixel, tik tok pixel and hotjar in a gdpr form to your site. Consent coming soon.
50 lines (48 loc) • 2.15 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.onRouteUpdate = exports.onClientEntry = void 0;
var _defaultOptions = require("./default-options");
var _index = require("./index");
var _merge = _interopRequireDefault(require("lodash/merge"));
// init
var onClientEntry = function onClientEntry(_, pluginOptions) {
if (pluginOptions === void 0) {
pluginOptions = {};
}
window.gatsbyPluginGDPRCookiesGoogleAnalyticsAdded = false;
window.gatsbyPluginGDPRCookiesGoogleTagManagerAdded = false;
window.gatsbyPluginGDPRCookiesFacebookPixelAdded = false;
window.gatsbyPluginGDPRCookiesTikTokPixelAdded = false;
window.gatsbyPluginGDPRCookiesHotjarAdded = false;
window.gatsbyPluginGDPRCookiesChatwootAdded = false;
window.gatsbyPluginGDPRCookiesLinkedinAdded = false;
window.gatsbyPluginGDPRCookiesGoogleAnalyticsInitialized = false;
window.gatsbyPluginGDPRCookiesGoogleTagManagerInitialized = false;
window.gatsbyPluginGDPRCookiesFacebookPixelInitialized = false;
window.gatsbyPluginGDPRCookiesTikTokPixelInitialized = false;
window.gatsbyPluginGDPRCookiesHotjarInitialized = false;
window.gatsbyPluginGDPRCookiesLinkedinInitialized = false;
// google tag manager setup
var _pluginOptions = pluginOptions,
googleTagManager = _pluginOptions.googleTagManager;
if (googleTagManager && googleTagManager.defaultDataLayer) {
googleTagManager.defaultDataLayer = {
type: typeof googleTagManager.defaultDataLayer,
value: googleTagManager.defaultDataLayer
};
if (googleTagManager.defaultDataLayer.type === "function") {
googleTagManager.defaultDataLayer.value = googleTagManager.defaultDataLayer.value.toString();
}
}
var options = (0, _merge.default)(_defaultOptions.defaultOptions, pluginOptions);
window.gatsbyPluginGDPRCookiesOptions = options;
};
// track
exports.onClientEntry = onClientEntry;
var onRouteUpdate = function onRouteUpdate(_ref) {
var location = _ref.location;
(0, _index.initializeAndTrack)(location);
};
exports.onRouteUpdate = onRouteUpdate;