Skip to content

Commit dda3577

Browse files
author
Han Kim
committed
send anonymousId automatically
1 parent e338f16 commit dda3577

File tree

2 files changed

+24
-5
lines changed

2 files changed

+24
-5
lines changed

lib/index.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -83,8 +83,10 @@ GTM.prototype.page = function(page) {
8383

8484
GTM.prototype.track = function(track) {
8585
var props = track.properties();
86-
var id = this.analytics.user().id();
87-
if (id) props.userId = id;
86+
var userId = this.analytics.user().id();
87+
var anonymousId = this.analytics.user().anonymousId();
88+
if (userId) props.userId = userId;
89+
if (anonymousId) props.anonymousId = anonymousId;
8890
props.event = track.event();
8991

9092
push(props);

test/index.test.js

+20-3
Original file line numberDiff line numberDiff line change
@@ -63,19 +63,28 @@ describe('Google Tag Manager', function() {
6363
});
6464

6565
it('should send event', function() {
66+
var anonId = analytics.user().anonymousId();
6667
analytics.track('some-event');
67-
analytics.called(window.dataLayer.push, { event: 'some-event' });
68+
analytics.called(window.dataLayer.push, { anonymousId: anonId, event: 'some-event' });
6869
});
6970

7071
it('should send userId if it exists', function() {
7172
analytics.user().id('pablo');
73+
var anonId = analytics.user().anonymousId();
7274
analytics.track('some-event');
73-
analytics.called(window.dataLayer.push, { userId: 'pablo', event: 'some-event' });
75+
analytics.called(window.dataLayer.push, { anonymousId: anonId, userId: 'pablo', event: 'some-event' });
76+
});
77+
78+
it('should send anonymousId if it exists', function() {
79+
analytics.user().anonymousId('el');
80+
analytics.track('stranger things');
81+
analytics.called(window.dataLayer.push, { anonymousId: 'el', event: 'stranger things' });
7482
});
7583

7684
it('should send event with properties', function() {
85+
var anonId = analytics.user().anonymousId();
7786
analytics.track('event', { prop: true });
78-
analytics.called(window.dataLayer.push, { event: 'event', prop: true });
87+
analytics.called(window.dataLayer.push, { anonymousId: anonId, event: 'event', prop: true });
7988
});
8089
});
8190

@@ -91,9 +100,11 @@ describe('Google Tag Manager', function() {
91100

92101
it('should track unamed pages if enabled', function() {
93102
gtm.options.trackAllPages = true;
103+
var anonId = analytics.user().anonymousId();
94104
analytics.page();
95105
analytics.called(window.dataLayer.push, {
96106
event: 'Loaded a Page',
107+
anonymousId: anonId,
97108
path: window.location.pathname,
98109
referrer: document.referrer,
99110
title: document.title,
@@ -103,9 +114,11 @@ describe('Google Tag Manager', function() {
103114
});
104115

105116
it('should track named pages by default', function() {
117+
var anonId = analytics.user().anonymousId();
106118
analytics.page('Name');
107119
analytics.called(window.dataLayer.push, {
108120
event: 'Viewed Name Page',
121+
anonymousId: anonId,
109122
name: 'Name',
110123
path: window.location.pathname,
111124
referrer: document.referrer,
@@ -116,9 +129,11 @@ describe('Google Tag Manager', function() {
116129
});
117130

118131
it('should track named pages with a category added', function() {
132+
var anonId = analytics.user().anonymousId();
119133
analytics.page('Category', 'Name');
120134
analytics.called(window.dataLayer.push, {
121135
event: 'Viewed Category Name Page',
136+
anonymousId: anonId,
122137
category: 'Category',
123138
name: 'Name',
124139
path: window.location.pathname,
@@ -130,10 +145,12 @@ describe('Google Tag Manager', function() {
130145
});
131146

132147
it('should track categorized pages by default', function() {
148+
var anonId = analytics.user().anonymousId();
133149
analytics.page('Category', 'Name');
134150
analytics.called(window.dataLayer.push, {
135151
event: 'Viewed Category Name Page',
136152
category: 'Category',
153+
anonymousId: anonId,
137154
name: 'Name',
138155
path: window.location.pathname,
139156
referrer: document.referrer,

0 commit comments

Comments
 (0)