Allow fields to be specified when creating the tracker

This commit is contained in:
Martin Burchell 2016-07-04 15:46:50 +01:00
parent 3be1e138df
commit a46cc5299c
3 changed files with 8 additions and 2 deletions

View File

@ -87,6 +87,7 @@ Installation
googleanalytics_resource_prefix = /downloads/
googleanalytics.domain = auto
googleanalytics.track_events = false
googleanalytics.fields = {}
``resource_prefix`` is an arbitrary identifier so that we can query
for downloads in Google Analytics. It can theoretically be any
@ -107,6 +108,8 @@ Installation
is always enabled,* ``track_events`` *enables event tracking for other
pages as well.*
``fields`` allows you to specify various options when creating the tracker. See `Google's documentation <https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference>`.
Setting Up Statistics Retrieval from Google Analytics
-----------------------------------------------------

View File

@ -66,6 +66,8 @@ class GoogleAnalyticsPlugin(p.SingletonPlugin):
self.googleanalytics_id = config['googleanalytics.id']
self.googleanalytics_domain = config.get(
'googleanalytics.domain', 'auto')
self.googleanalytics_fields = config.get(
'googleanalytics.fields', '{}')
self.googleanalytics_javascript_url = h.url_for_static(
'/scripts/ckanext-googleanalytics.js')
@ -270,6 +272,7 @@ class GoogleAnalyticsPlugin(p.SingletonPlugin):
'''
data = {'googleanalytics_id': self.googleanalytics_id,
'googleanalytics_domain': self.googleanalytics_domain}
'googleanalytics_domain': self.googleanalytics_domain,
'googleanalytics_fields': self.googleanalytics_fields}
return p.toolkit.render_snippet(
'googleanalytics/snippets/googleanalytics_header.html', data)

View File

@ -4,7 +4,7 @@
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', '{{googleanalytics_id}}', '{{googleanalytics_domain}}');
ga('create', '{{googleanalytics_id}}', '{{googleanalytics_domain}}', {{googleanalytics_fields|safe}});
ga('set', 'anonymizeIp', true);
ga('send', 'pageview');
</script>