diff --git a/packages/docusaurus-plugin-google-analytics/src/analytics.js b/packages/docusaurus-plugin-google-analytics/src/analytics.js index 3f2d0ce8fb..0a74149298 100644 --- a/packages/docusaurus-plugin-google-analytics/src/analytics.js +++ b/packages/docusaurus-plugin-google-analytics/src/analytics.js @@ -24,7 +24,7 @@ export default (function() { } if ( - // process.env.NODE_ENV !== 'production' || // TODO: Add it back after testing that it works. + process.env.NODE_ENV !== 'production' || !trackingID || typeof window === 'undefined' ) { diff --git a/packages/docusaurus-plugin-google-gtag/src/gtag.js b/packages/docusaurus-plugin-google-gtag/src/gtag.js index 9ef10b8532..bdd40d369e 100644 --- a/packages/docusaurus-plugin-google-gtag/src/gtag.js +++ b/packages/docusaurus-plugin-google-gtag/src/gtag.js @@ -24,32 +24,36 @@ export default (function() { } if ( - // process.env.NODE_ENV !== 'production' || // TODO: Add it back after testing that it works. + process.env.NODE_ENV !== 'production' || !trackingID || typeof window === 'undefined' ) { return null; } + /* eslint-disable */ const $scriptEl = window.document.createElement('script'); $scriptEl.async = 1; $scriptEl.src = `https://www.googletagmanager.com/gtag/js?id=${trackingID}`; window.document.head.appendChild($scriptEl); window.dataLayer = window.dataLayer || []; - // eslint-disable-next-line no-inner-declarations - function gtag(...args) { - window.dataLayer.push(args); + function gtag() { + // Have to use `arguments` instead of spreading as there are + // other properties attached to it e.g. callee. + // The GA library requires usage of `arguments. + window.dataLayer.push(arguments); } // Expose globally. window.gtag = gtag; gtag('js', new Date()); gtag('config', trackingID); + /* eslint-enable */ return { onRouteUpdate({location}) { // Always refer to the variable on window in-case it gets overridden elsewhere. - window.gtag('event', 'page_view', { + window.gtag('config', trackingID, { page_path: location.pathname, }); }, diff --git a/website/docs/analytics.md b/website/docs/analytics.md index 159752ef62..2de49940b6 100644 --- a/website/docs/analytics.md +++ b/website/docs/analytics.md @@ -3,4 +3,4 @@ id: analytics title: Adding Analytics --- -TODO: Talk about how to add Algolia search and offline search via the search plugin (TBD). +TODO: Talk about using Google analytics and Google gtag plugins and how to track using your own plugins.