ready-to-deploy custom web analytics collection & reporting for government
Note 8.31.16: As of this week, there have been significant changes to the Google Tag Manager UI. I will try to update screenshots asap, but keep this in mind if attempting to follow this version of documentation.
There are three basic components to any web analytics implementation: configuration, collection, and reporting. This setup gives a solid foundation for all three, using a single snippet of code that is installed on each page of every site to be included in tracking.
This will be an ongoing documentation of one method for implementing web analytics to track many government agency websites using Google Analytics, with the goal of populating a dashboarding tool such as analytics-reporter or city-analytics-dashboard.
This project is under active development and not (quite) ready for production
1. Pre-configuration items for this setup in Google Analytics & GTM.
- Screaming Frog SEO Spider Pro Crawl current site, useful for producing sitemaps and checking analytics implementation coverage.
- Tag Assistant (Chrome extension) See all analytics tags firing on a page.
- Google Analytics Debugger (Chrome extension) Prints all Google Analytics calls to the JavaScript console.
- Page Analytics by Google (Chrome extension) See Google Analytics for properties you have access to without leaving the page.
- Autotrack.js JavaScript library by Google intended for a developer audience. Simplifies deploys by automating tracking of common interactions.
- Universal Analytics (Node module) Node implementation of Universal Analytics tracking.
Add Frustrated.js to container and configure coresponding custom reportAddTrack Telephone Clicks
tag to config- Incorporate in-line feedback form as a config option - sends user feedback comments to GA as custom events.
- Release universal reporting tool using the Google Analytics Embed API | in progress
- Browser-based client-side app that allows user to auth to Google Tag Manager account, select custom features, fill in a few variables such as
domain
and Google AnayticsProfile Id
and upload config (json
) directly to a container. This would eliminate the need to touch both GA & GTM interfaces directly.