-
Notifications
You must be signed in to change notification settings - Fork 107
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add cross domain tracking to Tracker object #185
Conversation
This looks good to me but would appreciate @fofr having a look as he has done the bulk of the GA work. |
Looks great. Would it be possible to add something to the analytics docs for this? |
@bradleywright thanks! |
As far as I know the cross-domain trackers have a single Universal profile (eg https://github.com/alphagov/frontend/blob/master/app/views/root/_transaction_cross_domain_analytics.html.erb). Which means we won't need the classic parts, Creating a classic and universal tracker for the same profile may have unexpected results. It looks like this code would track the same pageview twice – once through the classic mechanism and once through the Universal one. For a Universal analytics profile, I don't know how Google handles data passed to it using the classic API. My suggestion is to remove the classic implementation. |
So that pages that link to known partners can allow those partners to track full user journeys, this commit adds the necessary UA incantations to link domains and separate accounts together. This is for Universal Analytics only.
262b168
to
7a7507d
Compare
@fofr updated. |
👍 |
Add cross domain tracking to Tracker object
#3.5.1 - Changes Analytics API library to accept one, both or neither of the analytics tracking codes. This means we can start removing classic tracking codes from apps. - Add Sass variables for colours for discovery and live #3.5.0 - Adds cross domain tracking to Analytics API library: alphagov/govuk_frontend_toolkit#185 - Adds sass variables for discovery and live phases #3.4.2 - Fix: Before this fix, when a user fell into variant 0 of a multivariate test, the data wouldn't be reported to Google correctly because of a broken null check in the code block that opts the user into the Google Content Experiment. # 3.4.1 - Fix: Make the error colour a darker red for greater contrast and to meet WCAG 2.0 AAAA (this was meant to go into 3.3.1 but was lost from history) - Add `$focus-colour` variable (#180)
The analytics tracker now includes a method for adding a cross domain analytics tracker. Use this instead. The implementation is identical. See alphagov/govuk_frontend_toolkit#185
# 4.10.0 - Allow New Transport font stack to be overridden by apps using `$toolkit-font-stack` and `$toolkit-font-stack-tabular` (PR #230) # 4.9.1 - Fix phase banner alignment (PR #266) # 4.9.0 - Add websafe organisation colours - Split colours into two files with backwards-compatible colours.scss replacement # 4.8.2 - Add GOV.UK lint to lint scss files (PR #260) - Remove reference to old colour palette (PR #256) - Fix link to GOV.UK elements - tabular data # 4.8.1 - Update DEFRA brand colour to new green (PR #249) # 4.8.0 - Pass cohort name to analytics when using multivariate test (PR #251) # 4.7.0 - Add 'mailto' tracking to GOV.UK Analytics (PR #244) # 4.6.1 - Use the Sass variable $light-blue for link active and hover colours (PR #242) # 4.6.0 - Add breadcrumb styles, separator images and documentation (PR #236) - Add fallback image for the back link (PR #235) # 4.5.0 - Find and auto-start JavaScript modules from markup: `data-module="module-name"`(PR #227) # 4.4.0 - Add helpers partial for functions - Add px to em function and documentation # 4.3.0 - Allow javascript error tracking to be filtered to avoid noise from plugins # 4.2.1 - Track download links using events not pageviews # 4.2.0 - Add two analytics plugins for download and external link tracking - Update typography mixins to be mobile first (PR #157) # 4.1.1 - Update Accessible Media Player to remove dependency on $.browser (PR #206) # 4.1.0 - Add support for sending the `page` option to `GOVUK.analytics.trackEvent` (PR #203) # 4.0.1 - Fix: stop multiline text from dropping below phase tag. # 4.0.0 - Remove Google Analytics classic alphagov/govuk_frontend_toolkit#194 - References to google-analytics-classic-tracker.js should be removed - Rename GOVUK.Tracker to GOVUK.Analytics - References to GOVUK.Tracker should be updated # 3.5.1 - Changes Analytics API library to accept one, both or neither of the analytics tracking codes. This means we can start removing classic tracking codes from apps. #3.5.0 - Adds cross domain tracking to Analytics API library: alphagov/govuk_frontend_toolkit#185 - Adds sass variables for discovery and live phases #3.4.2 - Fix: Before this fix, when a user fell into variant 0 of a multivariate test, the data wouldn't be reported to Google correctly because of a broken null check in the code block that opts the user into the Google Content Experiment. # 3.4.1 - Fix: Make the error colour a darker red for greater contrast and to meet WCAG 2.0 AAAA (this was meant to go into 3.3.1 but was lost from history) - Add `$focus-colour` variable (#180) # 3.4.0 - multivariate-test.js: add support for using Google Content Experiments as the reporting backend for multivariate tests # 3.3.1 - Fix: Make the error colour a darker red for greater contrast and to meet WCAG 2.0 AAAA # 3.3.0 - Add: Analytics - pageview tracking for a print attempt # 3.2.1 - Fix: Analytics - don't run error and print plugins on load # 3.2.0 - Add: Analytics API alphagov/govuk_frontend_toolkit#162 https://github.com/alphagov/govuk_frontend_toolkit/blob/master/docs/anal ytics.md # 3.1.0 - Fix: outdent to add right margin rather than only left - Fix: add missing semi-colons in JavaScript files - Fix: use box-sizing mixin in column mixin to support more browsers - Add: ability to specify float direction on column mixin - Add: Sass-lint tests # 3.0.1 - Fix a bug with the npm publishing. npm requires a version change to publish a package. # 3.0.0 - Change publishing method to not use git submodules in govuk_frontend_toolkit_npm. This is a major version bump because it will move the toolkit from `./node_modules/govuk_frontend_toolkit/govuk_frontend_toolkit/` to `./node_modules/govuk_frontend_toolkit/`, which will break relative imports in Sass. - Fix typo in Sass comment
# 4.10.0 - Allow New Transport font stack to be overridden by apps using `$toolkit-font-stack` and `$toolkit-font-stack-tabular` (PR #230) # 4.9.1 - Fix phase banner alignment (PR #266) # 4.9.0 - Add websafe organisation colours - Split colours into two files with backwards-compatible colours.scss replacement # 4.8.2 - Add GOV.UK lint to lint scss files (PR #260) - Remove reference to old colour palette (PR #256) - Fix link to GOV.UK elements - tabular data # 4.8.1 - Update DEFRA brand colour to new green (PR #249) # 4.8.0 - Pass cohort name to analytics when using multivariate test (PR #251) # 4.7.0 - Add 'mailto' tracking to GOV.UK Analytics (PR #244) # 4.6.1 - Use the Sass variable $light-blue for link active and hover colours (PR #242) # 4.6.0 - Add breadcrumb styles, separator images and documentation (PR #236) - Add fallback image for the back link (PR #235) # 4.5.0 - Find and auto-start JavaScript modules from markup: `data-module="module-name"`(PR #227) # 4.4.0 - Add helpers partial for functions - Add px to em function and documentation # 4.3.0 - Allow javascript error tracking to be filtered to avoid noise from plugins # 4.2.1 - Track download links using events not pageviews # 4.2.0 - Add two analytics plugins for download and external link tracking - Update typography mixins to be mobile first (PR #157) # 4.1.1 - Update Accessible Media Player to remove dependency on $.browser (PR #206) # 4.1.0 - Add support for sending the `page` option to `GOVUK.analytics.trackEvent` (PR #203) # 4.0.1 - Fix: stop multiline text from dropping below phase tag. # 4.0.0 - Remove Google Analytics classic alphagov/govuk_frontend_toolkit#194 - References to google-analytics-classic-tracker.js should be removed - Rename GOVUK.Tracker to GOVUK.Analytics - References to GOVUK.Tracker should be updated # 3.5.1 - Changes Analytics API library to accept one, both or neither of the analytics tracking codes. This means we can start removing classic tracking codes from apps. #3.5.0 - Adds cross domain tracking to Analytics API library: alphagov/govuk_frontend_toolkit#185 - Adds sass variables for discovery and live phases #3.4.2 - Fix: Before this fix, when a user fell into variant 0 of a multivariate test, the data wouldn't be reported to Google correctly because of a broken null check in the code block that opts the user into the Google Content Experiment. # 3.4.1 - Fix: Make the error colour a darker red for greater contrast and to meet WCAG 2.0 AAAA (this was meant to go into 3.3.1 but was lost from history) - Add `$focus-colour` variable (#180) # 3.4.0 - multivariate-test.js: add support for using Google Content Experiments as the reporting backend for multivariate tests # 3.3.1 - Fix: Make the error colour a darker red for greater contrast and to meet WCAG 2.0 AAAA # 3.3.0 - Add: Analytics - pageview tracking for a print attempt # 3.2.1 - Fix: Analytics - don't run error and print plugins on load # 3.2.0 - Add: Analytics API alphagov/govuk_frontend_toolkit#162 https://github.com/alphagov/govuk_frontend_toolkit/blob/master/docs/anal ytics.md # 3.1.0 - Fix: outdent to add right margin rather than only left - Fix: add missing semi-colons in JavaScript files - Fix: use box-sizing mixin in column mixin to support more browsers - Add: ability to specify float direction on column mixin - Add: Sass-lint tests # 3.0.1 - Fix a bug with the npm publishing. npm requires a version change to publish a package. # 3.0.0 - Change publishing method to not use git submodules in govuk_frontend_toolkit_npm. This is a major version bump because it will move the toolkit from `./node_modules/govuk_frontend_toolkit/govuk_frontend_toolkit/` to `./node_modules/govuk_frontend_toolkit/`, which will break relative imports in Sass. - Fix typo in Sass comment
# 4.10.0 - Allow New Transport font stack to be overridden by apps using `$toolkit-font-stack` and `$toolkit-font-stack-tabular` (PR #230) # 4.9.1 - Fix phase banner alignment (PR #266) # 4.9.0 - Add websafe organisation colours - Split colours into two files with backwards-compatible colours.scss replacement # 4.8.2 - Add GOV.UK lint to lint scss files (PR #260) - Remove reference to old colour palette (PR #256) - Fix link to GOV.UK elements - tabular data # 4.8.1 - Update DEFRA brand colour to new green (PR #249) # 4.8.0 - Pass cohort name to analytics when using multivariate test (PR #251) # 4.7.0 - Add 'mailto' tracking to GOV.UK Analytics (PR #244) # 4.6.1 - Use the Sass variable $light-blue for link active and hover colours (PR #242) # 4.6.0 - Add breadcrumb styles, separator images and documentation (PR #236) - Add fallback image for the back link (PR #235) # 4.5.0 - Find and auto-start JavaScript modules from markup: `data-module="module-name"`(PR #227) # 4.4.0 - Add helpers partial for functions - Add px to em function and documentation # 4.3.0 - Allow javascript error tracking to be filtered to avoid noise from plugins # 4.2.1 - Track download links using events not pageviews # 4.2.0 - Add two analytics plugins for download and external link tracking - Update typography mixins to be mobile first (PR #157) # 4.1.1 - Update Accessible Media Player to remove dependency on $.browser (PR #206) # 4.1.0 - Add support for sending the `page` option to `GOVUK.analytics.trackEvent` (PR #203) # 4.0.1 - Fix: stop multiline text from dropping below phase tag. # 4.0.0 - Remove Google Analytics classic alphagov/govuk_frontend_toolkit#194 - References to google-analytics-classic-tracker.js should be removed - Rename GOVUK.Tracker to GOVUK.Analytics - References to GOVUK.Tracker should be updated # 3.5.1 - Changes Analytics API library to accept one, both or neither of the analytics tracking codes. This means we can start removing classic tracking codes from apps. #3.5.0 - Adds cross domain tracking to Analytics API library: alphagov/govuk_frontend_toolkit#185 - Adds sass variables for discovery and live phases #3.4.2 - Fix: Before this fix, when a user fell into variant 0 of a multivariate test, the data wouldn't be reported to Google correctly because of a broken null check in the code block that opts the user into the Google Content Experiment. # 3.4.1 - Fix: Make the error colour a darker red for greater contrast and to meet WCAG 2.0 AAAA (this was meant to go into 3.3.1 but was lost from history) - Add `$focus-colour` variable (#180) # 3.4.0 - multivariate-test.js: add support for using Google Content Experiments as the reporting backend for multivariate tests # 3.3.1 - Fix: Make the error colour a darker red for greater contrast and to meet WCAG 2.0 AAAA # 3.3.0 - Add: Analytics - pageview tracking for a print attempt # 3.2.1 - Fix: Analytics - don't run error and print plugins on load # 3.2.0 - Add: Analytics API alphagov/govuk_frontend_toolkit#162 https://github.com/alphagov/govuk_frontend_toolkit/blob/master/docs/anal ytics.md # 3.1.0 - Fix: outdent to add right margin rather than only left - Fix: add missing semi-colons in JavaScript files - Fix: use box-sizing mixin in column mixin to support more browsers - Add: ability to specify float direction on column mixin - Add: Sass-lint tests # 3.0.1 - Fix a bug with the npm publishing. npm requires a version change to publish a package. # 3.0.0 - Change publishing method to not use git submodules in govuk_frontend_toolkit_npm. This is a major version bump because it will move the toolkit from `./node_modules/govuk_frontend_toolkit/govuk_frontend_toolkit/` to `./node_modules/govuk_frontend_toolkit/`, which will break relative imports in Sass. - Fix typo in Sass comment
So that pages that link to known partners can allow those partners to track full user journeys, this commit adds the necessary GA and UA incantations to link domains and separate accounts together.
This is to enable the removal of bespoke HTML code in several transaction start pages across GOV.UK.
One thing I'm not sure about - do we need to support separate UA and GA account IDs? @fofr @benilovj