Skip to content
Simple Google Analytics integration for Django.
Python JavaScript
Find file
Latest commit c6c12e7 Jan 25, 2015 @rdegges Version bump.
Failed to load latest commit information.
assets Adding a simple readme purpose. Jun 25, 2012
ganalytics
test_project
.gitignore Adding a simple .gitignore file. Jun 25, 2012
.travis.yml Updating our travis test command, since we renamed the project. Jun 25, 2012
MANIFEST.in Bumping version. Jun 25, 2012
README.md Fixing whitespace. Nov 7, 2014
UNLICENSE Adding UNLICENSE. Jun 25, 2012
manage.py Adding test_project for running our unit tests. Jun 25, 2012
setup.py Version bump. Jan 25, 2015

README.md

django-ganalytics

Simple Google Analytics integration for Django.

Meta

  • author: Randall Degges
  • email: r@rdegges.com
  • status: maintained, in development

Build Status

Purpose

Honestly, all the other Google Analytics Django apps suck. All I want to do is put my Google Analytics code in my settings.py file, and use a simple template tag to render the Google Analytics asynchronous javascript code, damnet!

Unfortunately, all the existing solutions don't do this, and that pisses me off!

squint

Installation and Usage

Anyway, let's install this bitch! The first thing you'll want to do is run:

$ pip install django-ganalytics

Next, modify your settings.py file, and add your Google Analytics code (usually something like UA-XXXXXXXX-XX), as well as put ganalytics in your INSTALLED_APPS:

# settings.py

INSTALLED_APPS = (
    # ...
    'ganalytics',
)

GANALYTICS_TRACKING_CODE = 'UA-XXXXXXXX-XX'

Now, to actually render your Google Analytics asynchronous javascript code, edit your desired Django template (I like to do this in my base.html template), and add the following:

{% load ganalytics %}
<!--- ... -->

<head>
  {% ganalytics %}
</head>

<!--- ... -->

When Django processes your template, it'll replace {% ganalytics %} with:

<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  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', '{{ GANALYTICS_TRACKING_CODE }}', 'auto');
  ga('send', 'pageview');
</script>

Easy, right?

Something went wrong with that request. Please try again.