From ad031a15a40a9086f53c86a7fc1093c46f53e105 Mon Sep 17 00:00:00 2001 From: Reece Dunham Date: Sun, 12 Jan 2020 08:27:08 -0500 Subject: [PATCH] feat(v2): support IP anonymization for Google Analytics plugin (#2148) * Support IP anonymization for google analytics * Fixes * Add docs * typo fix * Fix syntax * document in suggested place * attempted to add functionality to gtag plugin * Remove from api-site-config * document in appropriate places * fix anonymize IP Co-authored-by: Yangshun Tay --- packages/docusaurus-plugin-google-analytics/src/index.js | 3 ++- packages/docusaurus-plugin-google-gtag/src/index.js | 6 ++++-- website/docs/using-plugins.md | 4 ++++ 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/packages/docusaurus-plugin-google-analytics/src/index.js b/packages/docusaurus-plugin-google-analytics/src/index.js index 8bb72276ff..349a2b672e 100644 --- a/packages/docusaurus-plugin-google-analytics/src/index.js +++ b/packages/docusaurus-plugin-google-analytics/src/index.js @@ -18,7 +18,7 @@ module.exports = function(context) { ); } - const {trackingID} = googleAnalytics; + const {trackingID, anonymizeIP} = googleAnalytics; if (!trackingID) { throw new Error( @@ -53,6 +53,7 @@ module.exports = function(context) { innerHTML: ` window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date; ga('create', '${trackingID}', 'auto'); + ga('set', 'anonymizeIp', ${anonymizeIP}); ga('send', 'pageview'); `, }, diff --git a/packages/docusaurus-plugin-google-gtag/src/index.js b/packages/docusaurus-plugin-google-gtag/src/index.js index 30d2d611a8..eba2b605e4 100644 --- a/packages/docusaurus-plugin-google-gtag/src/index.js +++ b/packages/docusaurus-plugin-google-gtag/src/index.js @@ -18,7 +18,7 @@ module.exports = function(context) { ); } - const {trackingID} = gtag; + const {anonymizeIP, trackingID} = gtag; if (!trackingID) { throw new Error( @@ -70,7 +70,9 @@ module.exports = function(context) { window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); - gtag('config', '${trackingID}');`, + gtag('config', '${trackingID}', { ${ + anonymizeIP ? "'anonymize_ip': true" : '' + } });`, }, ], }; diff --git a/website/docs/using-plugins.md b/website/docs/using-plugins.md index 8c132d5561..fce9b74fb4 100644 --- a/website/docs/using-plugins.md +++ b/website/docs/using-plugins.md @@ -312,6 +312,8 @@ module.exports = { themeConfig: { googleAnalytics: { trackingID: 'UA-141789564-1', + // Optional fields. + anonymizeIP: true, // Should IPs be anonymized? }, }, }; @@ -338,6 +340,8 @@ module.exports = { themeConfig: { gtag: { trackingID: 'UA-141789564-1', + // Optional fields. + anonymizeIP: true, // Should IPs be anonymized? }, }, };