- Notifications
You must be signed in to change notification settings - Fork42
A Google Analytics dashboard in your Wagtail admin
License
tomdyson/wagalytics
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
(Last Updated 12/17/19 for Wagtail v2.x)
This module provides a simple dashboard of Google Analytics data, integrated into the Wagtail admin UI. Tested on Wagtail 2.0+.
- Create a service account and download the JSON key (Credentials > Create Credentials > API key)
- Make sure theAnalytics API is enabled for your project (Seeissue 2)
- Add theservice account email address as a read-only user in Google Analytics (Admin > User Management)
- Find the ID for your Google Analytics property (Admin > Property > View Settings, note: this is NOT the key that begins with "UA-")
- Store your JSON key somewhere safe, and do not check it into your repo
pip install wagalytics
- Add 'wagalytics' to your INSTALLED_APPS
- Add 'wagtailfontawesome' to INSTALLED_APPS if it's not there already
- Update your settings:
GA_KEY_FILEPATH = '/path/to/secure/directory/your-key.json'
or when using environment variables (e.g. Heroku):
GA_KEY_CONTENT = 'content_of_your_key.json'
GA_VIEW_ID = 'ga:xxxxxxxx'
If you get CryptoUnavailableError errors, you probably need topip install PyOpenSSL
and/orpip install pycrypto
. SeeStackOverflow.
Ensure that your code snippet is included on each page you want to be tracked (likely by putting it in your base.html template.) (Admin > Property > Tracking Code)
To enable multisite support you'll need to update your Wagalytics settingsand havewagtail.contrib.settings
installed. Sites can use aGA_KEY_FILEPATH
or aGA_KEY_CONTENT
key, but it's best not to use both.
In the snippet below, you'll seesite_id
. This is the ID (Primary Key) of your Wagtail Site.
# Use either the GA_KEY_FILEPATH or the GA_KEY_CONTENT setting on your sites,# but don't use bothWAGALYTICS_SETTINGS= {site_id: {'GA_VIEW_ID':'ga:xxxxxxxx','GA_KEY_FILEPATH':'/path/to/secure/directory/your-key.json', },site_id: {'GA_VIEW_ID':'ga:xxxxxxxx','GA_KEY_CONTENT':'content_of_your_key.json',}}
For every Wagalytics site you add in your multisiteWAGALYTICS_SETTINGS
you'll need to make sure you have the proper GA View ID and API Key. One View ID and API Key won't work for all your sites automatically.
Here's a working example of multisite WAGALYTICS_SETTINGS:
WAGALYTICS_SETTINGS= {# My default site. 2 is the site ID. This one uses GA_KEY_FILEPATH.2: {'GA_VIEW_ID':'ga:xxxxxxxx','GA_KEY_FILEPATH':'/path/to/secure/directory/your-key.json', },# The secondary site. 3 is the Site ID. This one uses GA_KEY_CONTENT.3: {'GA_KEY_CONTENT':'content_of_your_key.json','GA_VIEW_ID':'ga:xxxxxxxx', }}
Developers will need to carry out the following steps after cloning wagalytics:
- Ensure NodeJS & NPM are installed
- Run
npm install
thennpm run build
in the top level wagalytics directory
You will need to runnpm run build
anytime the javascript source is updated.
- allow configuration of results
- better styling, e.g. usingchart.js
- Throw an error if the relevant settings aren't available
- addper-page results
This module doesn't help with recording user activity. Seethe Wagtail docs andStackOverflow for pointers on how to avoid gathering data during preview and testing.
- Thijs Kramer
- Stefan Schärmeli
- Alex Gleason
- James Ramm
- Jake Kent
- Kalob Taulien
- Julius Parishy
About
A Google Analytics dashboard in your Wagtail admin
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Contributors9
Uh oh!
There was an error while loading.Please reload this page.