Add anonymizeIP to GA privacy config

See #4751
This commit is contained in:
Bjørn Erik Pedersen 2018-05-25 10:53:39 +02:00
parent ffcf26e68c
commit 1f1d955b56
No known key found for this signature in database
GPG key ID: 330E6E2BD4859D8F
7 changed files with 30 additions and 1 deletions

View file

@ -48,6 +48,9 @@ type GoogleAnalytics struct {
// Enabling this will make the GA templates respect the
// "Do Not Track" HTTP header. See https://www.paulfurley.com/google-analytics-dnt/.
RespectDoNotTrack bool
// Enabling this will make it so the users' IP addresses are anonymized within Google Analytics.
AnonymizeIP bool
}
// Instagram holds the privacy configuration settings related to the Instagram shortcode.

View file

@ -34,6 +34,7 @@ disable = true
[privacy.googleAnalytics]
disable = true
respectDoNotTrack = true
anonymizeIP = true
[privacy.instagram]
disable = true
simple = true
@ -59,6 +60,7 @@ simple = true
assert.True(pc.Disqus.Disable)
assert.True(pc.GoogleAnalytics.Disable)
assert.True(pc.GoogleAnalytics.RespectDoNotTrack)
assert.True(pc.GoogleAnalytics.AnonymizeIP)
assert.True(pc.Instagram.Disable)
assert.True(pc.Instagram.Simple)
assert.True(pc.SpeakerDeck.Disable)

View file

@ -47,7 +47,10 @@ Disqus:
b.Build(BuildCfg{})
// Gheck GA regular and async
b.AssertFileContent("public/index.html", "'script','https://www.google-analytics.com/analytics.js','ga');\n\tga('create', 'ga_id', 'auto')", "<script async src='//www.google-analytics.com/analytics.js'>")
b.AssertFileContent("public/index.html",
"'anonymizeIp', true",
"'script','https://www.google-analytics.com/analytics.js','ga');\n\tga('create', 'ga_id', 'auto')",
"<script async src='//www.google-analytics.com/analytics.js'>")
// Disqus
b.AssertFileContent("public/index.html", "\"disqus_shortname\" + '.disqus.com/embed.js';")

View file

@ -143,6 +143,23 @@ shortname = "disqus_shortname"
[services.googleAnalytics]
id = "ga_id"
[privacy]
[privacy.disqus]
disable = false
[privacy.googleAnalytics]
respectDoNotTrack = true
anonymizeIP = true
[privacy.instagram]
simple = true
[privacy.speakerDeck]
[privacy.twitter]
enableDNT = true
[privacy.vimeo]
disable = false
[privacy.youtube]
disable = false
privacyEnhanced = true
`
func (s *sitesBuilder) WithSimpleConfigFile() *sitesBuilder {

View file

@ -111,6 +111,7 @@ if (!doNotTrack) {
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', '{{ . }}', 'auto');
ga('send', 'pageview');
{{ if $pc.AnonymizeIP }}ga('set', 'anonymizeIp', true);{{ end -}}
}
</script>
{{ end }}
@ -133,6 +134,7 @@ if (!doNotTrack) {
window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
ga('create', '{{ . }}', 'auto');
ga('send', 'pageview');
{{ if $pc.AnonymizeIP }}ga('set', 'anonymizeIp', true);{{ end -}}
}
</script>
<script async src='//www.google-analytics.com/analytics.js'></script>

View file

@ -10,6 +10,7 @@ if (!doNotTrack) {
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', '{{ . }}', 'auto');
ga('send', 'pageview');
{{ if $pc.AnonymizeIP }}ga('set', 'anonymizeIp', true);{{ end -}}
}
</script>
{{ end }}

View file

@ -7,6 +7,7 @@ if (!doNotTrack) {
window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
ga('create', '{{ . }}', 'auto');
ga('send', 'pageview');
{{ if $pc.AnonymizeIP }}ga('set', 'anonymizeIp', true);{{ end -}}
}
</script>
<script async src='//www.google-analytics.com/analytics.js'></script>