diff --git a/analytical/templatetags/google_analytics.py b/analytical/templatetags/google_analytics.py index 375a4e8..5e57a0b 100644 --- a/analytical/templatetags/google_analytics.py +++ b/analytical/templatetags/google_analytics.py @@ -50,6 +50,7 @@ ALLOW_LINKER_CODE = "_gaq.push(['_setAllowLinker', true]);" CUSTOM_VAR_CODE = "_gaq.push(['_setCustomVar', %(index)s, '%(name)s', " \ "'%(value)s', %(scope)s]);" SITE_SPEED_CODE = "_gaq.push(['_trackPageLoadTime']);" +ANONYMIZE_IP_CODE = "_gaq.push (['_gat._anonymizeIp']);" register = Library() @@ -120,6 +121,8 @@ class GoogleAnalyticsNode(Node): commands = [] if getattr(settings, 'GOOGLE_ANALYTICS_SITE_SPEED', False): commands.append(SITE_SPEED_CODE) + if getattr(settings, 'GOOGLE_ANALYTICS_ANONYMIZE_IP', False): + commands.append(ANONYMIZE_IP_CODE) return commands def contribute_to_analytical(add_node): diff --git a/analytical/tests/test_tag_google_analytics.py b/analytical/tests/test_tag_google_analytics.py index c833bf3..3b858e6 100644 --- a/analytical/tests/test_tag_google_analytics.py +++ b/analytical/tests/test_tag_google_analytics.py @@ -86,6 +86,15 @@ class GoogleAnalyticsTagTestCase(TagTestCase): ''), r) + @override_settings(GOOGLE_ANALYTICS_ANONYMIZE_IP=True) + def test_anonymize_ip(self): + r = GoogleAnalyticsNode().render(Context()) + self.assertTrue("_gaq.push (['_gat._anonymizeIp']);" in r, r) + + @override_settings(GOOGLE_ANALYTICS_ANONYMIZE_IP=False) + def test_anonymize_ip_not_present(self): + r = GoogleAnalyticsNode().render(Context()) + self.assertFalse("_gaq.push (['_gat._anonymizeIp']);" in r, r) @without_apps('django.contrib.sites') @override_settings(GOOGLE_ANALYTICS_PROPERTY_ID='UA-123456-7', diff --git a/docs/services/google_analytics.rst b/docs/services/google_analytics.rst index 7e2d892..7136ee4 100644 --- a/docs/services/google_analytics.rst +++ b/docs/services/google_analytics.rst @@ -172,3 +172,21 @@ Just remember that if you set the same context variable in the context processor, the latter clobbers the former. .. _`custom variables`: http://code.google.com/apis/analytics/docs/tracking/gaTrackingCustomVariables.html + + +.. _google-analytics-anonimyze-ips: + +Anonymize IPs +---------------- + +You can enable the `IP anonymization`_ feature by setting the +:const:`GOOGLE_ANALYTICS_ANONYMIZE_IP` configuration setting:: + + GOOGLE_ANALYTICS_ANONYMIZE_IP = True + +This may be mandatory for deployments in countries that have a firm policies +concerning data privacy (e.g. Germany). + +By default, IPs are not anonymized. + +.. _`IP anonymization`: https://support.google.com/analytics/bin/answer.py?hl=en&answer=2763052 \ No newline at end of file