Skip to main content

Simple Google Analytics integration for Django projects

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" %}

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')

Reporting bugs

Please report bugs to Bitbucket issue tracker.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

django-ga-tracking-0.0.3.zip (6.8 kB view details)

Uploaded Source

django-ga-tracking-0.0.3.tar.gz (4.0 kB view details)

Uploaded Source

File details

Details for the file django-ga-tracking-0.0.3.zip.

File metadata

File hashes

Hashes for django-ga-tracking-0.0.3.zip
Algorithm Hash digest
SHA256 3aebc6a8e72b9ec35290af96c7a0cc8a0ecfd9ddd39d920438106272a13a442a
MD5 498a313f5718eb6d09f81f1d0ab4619b
BLAKE2b-256 42cf8709cd98f09ee26671e255ead789ca8e5b86c66127cbf6733738818fb14b

See more details on using hashes here.

File details

Details for the file django-ga-tracking-0.0.3.tar.gz.

File metadata

File hashes

Hashes for django-ga-tracking-0.0.3.tar.gz
Algorithm Hash digest
SHA256 a69f6105e00be2185aa0961ffc494ba5de7f2be9a628aa015b9f9ef6bdac3325
MD5 93561c7c3d2fd9941532dac5035e3536
BLAKE2b-256 71ab3299d0796c58d0a1a157df481c4de0c67f7a474079e4a882b80ca29a02c2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page