Skip to content

Commit 0b5e3bc

Browse files
author
Steve Laing
committed
Include -with-hint event labels
Cross domain tracking should behave the same way as normal event tracking so include event labels including the -with-hint prefix for parity.
1 parent 5e0a973 commit 0b5e3bc

File tree

2 files changed

+21
-12
lines changed

2 files changed

+21
-12
lines changed

app/assets/javascripts/modules/track-radio-group.js

+17-10
Original file line numberDiff line numberDiff line change
@@ -22,16 +22,10 @@ window.GOVUK.Modules = window.GOVUK.Modules || {};
2222

2323
var $checkedOption = $submittedForm.find('input:checked')
2424

25-
var checkedValue = $checkedOption.val();
26-
27-
if (typeof checkedValue === 'undefined') {
28-
checkedValue = 'submitted-without-choosing'
29-
}
30-
31-
GOVUK.analytics.trackEvent('Radio button chosen', checkedValue + (withHint ? '-with-hint' : ''), options)
25+
GOVUK.analytics.trackEvent('Radio button chosen', eventTrackingValue($checkedOption, withHint), options)
3226

3327
if (typeof $submittedForm.attr('data-tracking-code') !== 'undefined') {
34-
addCrossDomainTracking($submittedForm, $checkedOption, options)
28+
addCrossDomainTracking($submittedForm, $checkedOption, options, withHint)
3529
}
3630
})
3731
}
@@ -58,15 +52,28 @@ window.GOVUK.Modules = window.GOVUK.Modules || {};
5852
}
5953
}
6054

61-
function addCrossDomainTracking(element, $checkedOption, options) {
55+
function eventTrackingValue(element, withHint) {
56+
var value = element.val()
57+
58+
if (typeof value === 'undefined') {
59+
value = 'submitted-without-choosing'
60+
}
61+
62+
if (withHint) {
63+
value += '-with-hint'
64+
}
65+
return value
66+
}
67+
68+
function addCrossDomainTracking(element, $checkedOption, options, withHint) {
6269
var code = element.attr('data-tracking-code')
6370
var name = element.attr('data-tracking-name')
6471
var url = $checkedOption.attr('data-tracking-url')
6572
var hostname = $('<a>').prop('href', url).prop('hostname')
6673
var eventOptions = $.extend({ 'trackerName': name }, options)
6774

6875
GOVUK.analytics.addLinkedTrackerDomain(code, name, hostname)
69-
GOVUK.analytics.trackEvent('Radio button chosen', $checkedOption.val(), eventOptions)
76+
GOVUK.analytics.trackEvent('Radio button chosen', eventTrackingValue($checkedOption, withHint), eventOptions)
7077
}
7178
}
7279
})(window, window.GOVUK);

spec/javascripts/track-radio-group.spec.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -155,13 +155,15 @@ describe('A radio group tracker', function () {
155155
var $form, $radioInput
156156

157157
beforeEach(function () {
158+
tracker.trackVerifyUser(element, { status: 'OK', value: true })
159+
158160
spyOn(GOVUK.analytics, 'addLinkedTrackerDomain')
159161

160162
var $form = element.find('form')
161163
$form.attr('data-tracking-code', 'UA-xxxxxx')
162164
$form.attr('data-tracking-name', 'testTracker')
163165

164-
var $radioInput = element.find('input[value="government-gateway"]')
166+
var $radioInput = element.find('input[value="govuk-verify"]')
165167
$radioInput.attr('data-tracking-url', 'https://test.service.gov.uk')
166168

167169
$radioInput.trigger('click')
@@ -176,7 +178,7 @@ describe('A radio group tracker', function () {
176178

177179
it('sends an event to the linked tracker', function() {
178180
expect(GOVUK.analytics.trackEvent).toHaveBeenCalledWith(
179-
'Radio button chosen', 'government-gateway', { trackerName: 'testTracker', transport: 'beacon' }
181+
'Radio button chosen', 'govuk-verify-with-hint', { trackerName: 'testTracker', transport: 'beacon' }
180182
)
181183
})
182184
})

0 commit comments

Comments
 (0)