This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description

django-ga-tracking is a simple Django pluggable app that provides a context processor and template for adding Google Analytics tracking code to your pages.

Alternatives and differences

There are alternatives like django-google-analytics and Django Analytics Middleware, but this project begun as both solutions seem to introduce unnecessary complexity and/or lack the ability to configure analytics via Django settings module. The latter factor was particularly important for this project because hard-coding configuration or storing configuration in a databaes column was something we absolutely wanted to avoid.

Installation

Install using pip:

pip install django-ga-tracking

Basic usage

Add ga_tracking to INSTALLED_APPS.

Next, add the ga_tracking_id context processor to TEMPLATE_CONTEXT_PROCESSORS:

TEMPLATE_CONTEXT_PROCESSORS = (
    ....
    'ga_tracking.context_processors.ga_tracking_id',
)

Define a GA_TRACKING_ID setting and assign your tracking ID to it. For example:

GA_TRACKING_ID = 'UA-12345678-9'

Finally, add the tracker code template somewhere in your own template:

{% include "ga_tracking/ga.html" %}

Tracking superusers

By default, django-ga-analytics will track superusers. You can disable this by using the GA_TRACK_SUPERUSER setting. Setting it to False will cause the tracking code to not be renedered for any user that has is_superuser property set to True.

New tracking code

Google Analytics offers an alternative tracking code (analytics.js). This code is also available in django-ga-tracking. Since the tracking code uses both the property ID and the top level domain, you will need to specify both. So, add this to your settings:

GA_TRACKING_ID = 'UA-12345678-9'
GA_DOMAIN = 'example.com'

Next, include the alternative template:

{% include "ga_tracking/ga_new.html" %}

Customization

Because django-ga-tracking uses a simple template to add the code, you can customize it simply by overriding the template with your own. The ga.html template contains the default <script> block as provided by Google.

The script block is not rendered at all if the GA_TRACKING_ID setting is not present, so you can, for example, set the setting only in production to avoid development sites from being tracked, or use different tracking codes on different deployments. For example:

# in settings.py
import os

GA_TRACKING_ID = os.environ.get('GA_TRACKING_ID')

Customizing the tracking call

Tracking call itself can be customized. The default tacking calls are:

// For old API
_gaq.push(['_trackPageview']);

// For new API
ga('send', 'pageview');

These calls are separated out into their own templates: ga_tracking/ga_track.js and ga_tracking/ga_new_track.js respectively. By overriding these templates, you can customize the calls. For more information on respective APIs, check out the Google Developers documentation for ga.js and analytics.js.

It should be reiterated that the two partial templates are standard Django templates, so they have full access to template context should you need to access any of the context variables for the purpose of customization.

Reporting bugs

Please report bugs to Bitbucket issue tracker.

Release History

Release History

0.0.6

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.0.5

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.0.4

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.0.3

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.0.2

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.0.1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
django-ga-tracking-0.0.6.tar.gz (4.8 kB) Copy SHA256 Checksum SHA256 Source Apr 2, 2013
django-ga-tracking-0.0.6.zip (8.5 kB) Copy SHA256 Checksum SHA256 Source Apr 2, 2013

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS HPE HPE Development Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting