Skip to content

Commit d8a728c

Browse files
support tracker name provided on 1st argument
1 parent 372a0b2 commit d8a728c

2 files changed

Lines changed: 5 additions & 7 deletions

File tree

src/integrations/ga/__tests__/GaToSplit.spec.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -272,13 +272,15 @@ test('GaToSplit: `autoRequire` script and flag param', () => {
272272
window.ga('create', 'UA-ID-1', 'auto', 't1');
273273
window.ga('create', 'UA-ID-2', { name: 't2' });
274274
window.ga('create', 'UA-ID-3', 'auto', { name: 't3' });
275+
window.ga('create', { trackingId: 'UA-ID-4', name: 't4' });
275276

276277
expect(window.ga.q.map(args => args[0])).toEqual([
277278
'provide', 'provide',
278279
'create', 'require',
279280
'create', 't1.require',
280281
'create', 't2.require',
281282
'create', 't3.require',
283+
'create', 't4.require',
282284
]);
283285

284286
// test teardown

src/integrations/ga/autoRequire.js

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,14 @@
88
i[r].q = i[r].q || [];
99

1010
var ts = {}; // Tracker names
11+
function name(arg) { return typeof arg === 'object' && typeof arg.name === 'string' && arg.name; }
12+
1113
var o = i[r].q.push;
1214
i[r].q.push = function (v) {
1315
var result = o.apply(this, arguments);
1416

1517
if (v && v[0] === 'create') {
16-
var t = typeof v[2] === 'object' && typeof v[2].name === 'string' ?
17-
v[2].name : // `ga('create', 'UA-ID', { name: 'trackerName', ... })`
18-
typeof v[3] === 'object' && typeof v[3].name === 'string' ?
19-
v[3].name : // `ga('create', 'UA-ID', 'auto', { name: 'trackerName', ... })`
20-
typeof v[3] === 'string' ?
21-
v[3] : // `ga('create', 'UA-ID', 'auto', 'trackerName')`
22-
undefined; // Default name, e.g.: `ga('create', 'UA-ID', 'auto')`
18+
var t = name(v[1]) || name(v[2]) || name(v[3]) || (typeof v[3] === 'string' ? v[3] : undefined); // Get tracker name
2319

2420
if (!ts[t]) {
2521
ts[t] = true;

0 commit comments

Comments
 (0)