@ht-sdks/events-sdk-js-browser 1.3.0 → 1.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +77 -17
- package/dist/cjs/core/session/index.js +2 -1
- package/dist/cjs/core/session/index.js.map +1 -1
- package/dist/cjs/generated/version.js +1 -1
- package/dist/cjs/plugins/destinations/google-tag-manager.js +8 -21
- package/dist/cjs/plugins/destinations/google-tag-manager.js.map +1 -1
- package/dist/cjs/plugins/destinations/gtag.js +44 -0
- package/dist/cjs/plugins/destinations/gtag.js.map +1 -0
- package/dist/cjs/plugins/destinations/index.js +4 -0
- package/dist/cjs/plugins/destinations/index.js.map +1 -1
- package/dist/pkg/core/session/index.js +2 -1
- package/dist/pkg/core/session/index.js.map +1 -1
- package/dist/pkg/generated/version.js +1 -1
- package/dist/pkg/plugins/destinations/google-tag-manager.js +8 -21
- package/dist/pkg/plugins/destinations/google-tag-manager.js.map +1 -1
- package/dist/pkg/plugins/destinations/gtag.js +42 -0
- package/dist/pkg/plugins/destinations/gtag.js.map +1 -0
- package/dist/pkg/plugins/destinations/index.js +4 -0
- package/dist/pkg/plugins/destinations/index.js.map +1 -1
- package/dist/types/core/buffer/index.d.ts +1 -1
- package/dist/types/core/session/index.d.ts.map +1 -1
- package/dist/types/generated/version.d.ts +1 -1
- package/dist/types/plugins/destinations/google-tag-manager.d.ts +1 -5
- package/dist/types/plugins/destinations/google-tag-manager.d.ts.map +1 -1
- package/dist/types/plugins/destinations/gtag.d.ts +27 -0
- package/dist/types/plugins/destinations/gtag.d.ts.map +1 -0
- package/dist/types/plugins/destinations/index.d.ts.map +1 -1
- package/dist/umd/events.min.js +1 -1
- package/dist/umd/events.min.js.map +1 -1
- package/dist/umd/google-tag-manager.bundle.238ad1d40bdf04d984ef.js +2 -0
- package/dist/umd/google-tag-manager.bundle.238ad1d40bdf04d984ef.js.map +1 -0
- package/dist/umd/gtag.bundle.a5e7c472f1c04f2b9ebd.js +2 -0
- package/dist/umd/gtag.bundle.a5e7c472f1c04f2b9ebd.js.map +1 -0
- package/dist/umd/index.js +1 -1
- package/dist/umd/index.js.map +1 -1
- package/package.json +1 -1
- package/src/core/http-cookies/server-examples/node-aws-lambda.md +1 -1
- package/src/core/session/index.ts +2 -1
- package/src/generated/version.ts +1 -1
- package/src/plugins/destinations/google-tag-manager.ts +15 -36
- package/src/plugins/destinations/gtag.ts +93 -0
- package/src/plugins/destinations/index.ts +4 -0
- package/dist/umd/google-tag-manager.bundle.c27daab560c3298c04ca.js +0 -2
- package/dist/umd/google-tag-manager.bundle.c27daab560c3298c04ca.js.map +0 -1
package/README.md
CHANGED
|
@@ -217,42 +217,101 @@ htevents.register(lowercase)
|
|
|
217
217
|
|
|
218
218
|
For further examples check out our [existing plugins](/packages/browser/src/plugins).
|
|
219
219
|
|
|
220
|
+
## Source Middleware
|
|
221
|
+
|
|
222
|
+
Source middleware allows for defining a function to manipulate the event payload and filter events on a per source basis. It's a specialized `before` [`Plugin`](#plugins) that makes it easy to do things like enriching the event `context` with custom fields.
|
|
223
|
+
|
|
224
|
+
```ts
|
|
225
|
+
htevents.addSourceMiddleware(({ payload, next }) => {
|
|
226
|
+
const event = payload.obj;
|
|
227
|
+
event.context = {
|
|
228
|
+
...event.context,
|
|
229
|
+
customField: "123",
|
|
230
|
+
};
|
|
231
|
+
next(payload);
|
|
232
|
+
});
|
|
233
|
+
```
|
|
234
|
+
|
|
220
235
|
# Client-side destinations
|
|
221
236
|
|
|
222
237
|
The Browser SDK supports sending events directly from the client to destinations which is useful in situations where the destination requires a client-side context in order to fully enrich and attribute events.
|
|
223
238
|
|
|
224
|
-
## Google
|
|
239
|
+
## Google Tag Manager
|
|
225
240
|
|
|
226
|
-
Google
|
|
241
|
+
The Google Tag Manager integration pushes events directly to [Google Tag Manager](https://support.google.com/tagmanager/answer/6102821?hl=en). This tag in turn can forward to a variety of other tools.
|
|
227
242
|
|
|
228
243
|
### Installation
|
|
229
244
|
|
|
230
|
-
Make sure your
|
|
245
|
+
Make sure your Google Tag Manager setup scripts are configured on your website. Our implementation expects `window.dataLayer` to be available in the global scope.
|
|
231
246
|
|
|
232
247
|
```html
|
|
233
|
-
<!-- example
|
|
234
|
-
<script
|
|
248
|
+
<!-- example Google Tag Manager script -->
|
|
249
|
+
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
|
|
250
|
+
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
|
|
251
|
+
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
|
|
252
|
+
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
|
|
253
|
+
})(window,document,'script','dataLayer','GTM-XXXXXXXX');</script>
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
You can then configure the Browser SDK to send events directly to Google Tag Manager by enabling the `Google Tag Manager` destination:
|
|
257
|
+
|
|
258
|
+
```js
|
|
259
|
+
htevents.load('WRITE_KEY', {
|
|
260
|
+
destinations: {
|
|
261
|
+
'Google Tag Manager': {},
|
|
262
|
+
},
|
|
263
|
+
})
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
View the complete plugin documentation in [`google-tag-manager.ts`](src/plugins/destinations/google-tag-manager.ts#L12)
|
|
267
|
+
|
|
268
|
+
### Usage
|
|
269
|
+
|
|
270
|
+
Once the destination is configured, all applicable `identify`, `track`, and `page` events will be sent. The integration also automatically populates the `userId` and `hightouchAnonymousId` fields.
|
|
271
|
+
|
|
272
|
+
```js
|
|
273
|
+
htevents.track('My Event', { prop: 'abc' })
|
|
274
|
+
// This results in the following Google Tag Manager event.
|
|
275
|
+
// window.dataLayer.push({ event: 'My Event', prop: 'abc', user_id: '123', hightouch_anonymous_id: '456' })
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
## gtag.js
|
|
279
|
+
|
|
280
|
+
The Google Tag (gtag.js) integration pushes events directly to [gtag.js](https://developers.google.com/tag-platform/gtagjs). This tag in turn can forward to a variety of Google products, including Google Ads, Google Analytics, Campaign Manager, Display & Video 360, and Search Ads 360.
|
|
281
|
+
|
|
282
|
+
### Installation
|
|
283
|
+
|
|
284
|
+
Make sure your gtag.js setup scripts are configured on your website. Our implementation expects the `gtag` function to be available in the global scope.
|
|
285
|
+
|
|
286
|
+
```html
|
|
287
|
+
<!-- example GA4 setup using gtag.js -->
|
|
288
|
+
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXX" ></script>
|
|
235
289
|
<script>
|
|
236
|
-
window.dataLayer = window.dataLayer || []
|
|
237
|
-
function gtag() {
|
|
238
|
-
|
|
239
|
-
|
|
290
|
+
window.dataLayer = window.dataLayer || []
|
|
291
|
+
function gtag() {
|
|
292
|
+
dataLayer.push(arguments)
|
|
293
|
+
}
|
|
294
|
+
gtag('js', new Date())
|
|
295
|
+
gtag('config', 'G-XXXXXXXX')
|
|
240
296
|
</script>
|
|
241
297
|
```
|
|
242
298
|
|
|
243
|
-
You can then configure the Browser SDK to send events directly to
|
|
299
|
+
You can then configure the Browser SDK to send events directly to gtag.js by enabling the `gtag` destination:
|
|
244
300
|
|
|
245
301
|
```js
|
|
246
|
-
htevents.load(
|
|
302
|
+
htevents.load('WRITE_KEY', {
|
|
247
303
|
destinations: {
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
304
|
+
gtag: {
|
|
305
|
+
// Events are only forwarded to the configured measurement IDs.
|
|
306
|
+
// For example, if you'd like to forward to GA4, you should include
|
|
307
|
+
// your GA4 measurement ID here.
|
|
308
|
+
measurementId: 'G-XXXXXXXX',
|
|
309
|
+
},
|
|
310
|
+
},
|
|
252
311
|
})
|
|
253
312
|
```
|
|
254
313
|
|
|
255
|
-
View the complete plugin documentation in [`
|
|
314
|
+
View the complete plugin documentation in [`gtag.ts`](src/plugins/destinations/gtag.ts#L11)
|
|
256
315
|
|
|
257
316
|
### Usage
|
|
258
317
|
|
|
@@ -260,7 +319,8 @@ Once the destination is configured, all applicable `identify`, `track`, and `pag
|
|
|
260
319
|
|
|
261
320
|
```js
|
|
262
321
|
htevents.track('My Event', { prop: 'abc' })
|
|
263
|
-
//
|
|
322
|
+
// This results in the following gtag call.
|
|
323
|
+
// gtag('event', 'My Event', { prop: 'abc', user_id: '123', hightouchAnonymousId: '456' })
|
|
264
324
|
```
|
|
265
325
|
|
|
266
326
|
## Custom client-side destinations
|
|
@@ -63,7 +63,8 @@ exports.generateManualTrackingSession = generateManualTrackingSession;
|
|
|
63
63
|
var updateSessionExpiration = function (session) {
|
|
64
64
|
session.sessionStart = false;
|
|
65
65
|
if (session.autoTrack) {
|
|
66
|
-
|
|
66
|
+
// extend session by `timeout`
|
|
67
|
+
session.expiresAt = Date.now() + session.timeout;
|
|
67
68
|
}
|
|
68
69
|
return session;
|
|
69
70
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/session/index.ts"],"names":[],"mappings":";AAAA,0HAA0H;AAC1H,cAAc;;;AAoCd;;;GAGG;AACI,IAAM,iBAAiB,GAAG,UAAC,SAAiB;IACjD,IAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IAC5B,OAAO,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;AACvC,CAAC,CAAA;AAHY,QAAA,iBAAiB,qBAG7B;AAED,IAAM,iBAAiB,GAAG,cAAc,OAAA,IAAI,CAAC,GAAG,EAAE,EAAV,CAAU,CAAA;AAE3C,IAAM,sBAAsB,GAAG,UAAC,SAAkB;IACvD,IACE,CAAC,SAAS;QACV,SAAS,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;QACpC,SAAS,CAAC,QAAQ,EAAE,CAAC,MAAM,GAAG,EAAE,EAChC;QACA,OAAO,KAAK,CAAA;KACb;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AATY,QAAA,sBAAsB,0BASlC;AAED,IAAM,sBAAsB,GAAG,EAAE,GAAG,IAAI,CAAA,CAAC,aAAa;AACtD,IAAM,0BAA0B,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA,CAAC,aAAa;AAE/D;;;;GAIG;AACI,IAAM,2BAA2B,GAAG,UACzC,cAAuB;IAEvB,IAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IAC5B,IAAM,OAAO,GAAW,cAAc,IAAI,0BAA0B,CAAA;IACpE,IAAI,OAAO,GAAG,sBAAsB,EAAE;QACpC,OAAO,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAA;KAC7E;IACD,OAAO;QACL,EAAE,EAAE,SAAS;QACb,SAAS,EAAE,SAAS,GAAG,OAAO;QAC9B,OAAO,SAAA;QACP,YAAY,EAAE,IAAI;QAClB,SAAS,EAAE,IAAI;KAChB,CAAA;AACH,CAAC,CAAA;AAfY,QAAA,2BAA2B,+BAevC;AAED;;;;GAIG;AACI,IAAM,6BAA6B,GAAG,UAAC,EAAW;IACvD,IAAM,SAAS,GAAW,IAAA,8BAAsB,EAAC,EAAE,CAAC;QAClD,CAAC,CAAE,EAAa;QAChB,CAAC,CAAC,iBAAiB,EAAE,CAAA;IACvB,OAAO;QACL,EAAE,EAAE,SAAS;QACb,YAAY,EAAE,IAAI;QAClB,WAAW,EAAE,IAAI;KAClB,CAAA;AACH,CAAC,CAAA;AATY,QAAA,6BAA6B,iCASzC;AAEM,IAAM,uBAAuB,GAAG,UAAC,OAAoB;IAC1D,OAAO,CAAC,YAAY,GAAG,KAAK,CAAA;IAC5B,IAAI,OAAO,CAAC,SAAS,EAAE;QACrB,OAAO,CAAC,SAAS,GAAG,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/session/index.ts"],"names":[],"mappings":";AAAA,0HAA0H;AAC1H,cAAc;;;AAoCd;;;GAGG;AACI,IAAM,iBAAiB,GAAG,UAAC,SAAiB;IACjD,IAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IAC5B,OAAO,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;AACvC,CAAC,CAAA;AAHY,QAAA,iBAAiB,qBAG7B;AAED,IAAM,iBAAiB,GAAG,cAAc,OAAA,IAAI,CAAC,GAAG,EAAE,EAAV,CAAU,CAAA;AAE3C,IAAM,sBAAsB,GAAG,UAAC,SAAkB;IACvD,IACE,CAAC,SAAS;QACV,SAAS,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;QACpC,SAAS,CAAC,QAAQ,EAAE,CAAC,MAAM,GAAG,EAAE,EAChC;QACA,OAAO,KAAK,CAAA;KACb;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AATY,QAAA,sBAAsB,0BASlC;AAED,IAAM,sBAAsB,GAAG,EAAE,GAAG,IAAI,CAAA,CAAC,aAAa;AACtD,IAAM,0BAA0B,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA,CAAC,aAAa;AAE/D;;;;GAIG;AACI,IAAM,2BAA2B,GAAG,UACzC,cAAuB;IAEvB,IAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IAC5B,IAAM,OAAO,GAAW,cAAc,IAAI,0BAA0B,CAAA;IACpE,IAAI,OAAO,GAAG,sBAAsB,EAAE;QACpC,OAAO,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAA;KAC7E;IACD,OAAO;QACL,EAAE,EAAE,SAAS;QACb,SAAS,EAAE,SAAS,GAAG,OAAO;QAC9B,OAAO,SAAA;QACP,YAAY,EAAE,IAAI;QAClB,SAAS,EAAE,IAAI;KAChB,CAAA;AACH,CAAC,CAAA;AAfY,QAAA,2BAA2B,+BAevC;AAED;;;;GAIG;AACI,IAAM,6BAA6B,GAAG,UAAC,EAAW;IACvD,IAAM,SAAS,GAAW,IAAA,8BAAsB,EAAC,EAAE,CAAC;QAClD,CAAC,CAAE,EAAa;QAChB,CAAC,CAAC,iBAAiB,EAAE,CAAA;IACvB,OAAO;QACL,EAAE,EAAE,SAAS;QACb,YAAY,EAAE,IAAI;QAClB,WAAW,EAAE,IAAI;KAClB,CAAA;AACH,CAAC,CAAA;AATY,QAAA,6BAA6B,iCASzC;AAEM,IAAM,uBAAuB,GAAG,UAAC,OAAoB;IAC1D,OAAO,CAAC,YAAY,GAAG,KAAK,CAAA;IAC5B,IAAI,OAAO,CAAC,SAAS,EAAE;QACrB,8BAA8B;QAC9B,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,OAAQ,CAAA;KAClD;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAPY,QAAA,uBAAuB,2BAOnC"}
|
|
@@ -6,28 +6,15 @@ var destination_1 = require("./destination");
|
|
|
6
6
|
* https://github.com/segmentio/analytics.js-integrations/blob/master/integrations/google-tag-manager/lib/index.js
|
|
7
7
|
*/
|
|
8
8
|
var googleTagManager = function (_a) {
|
|
9
|
-
var _b = _a.
|
|
10
|
-
var
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
return tslib_1.__assign(tslib_1.__assign(tslib_1.__assign(tslib_1.__assign({}, (event.userId && {
|
|
14
|
-
user_id: event.userId,
|
|
9
|
+
var _b = _a.trackAllPages, trackAllPages = _b === void 0 ? false : _b, _c = _a.trackNamedPages, trackNamedPages = _c === void 0 ? true : _c, _d = _a.trackCategorizedPages, trackCategorizedPages = _d === void 0 ? true : _d;
|
|
10
|
+
var pushEvent = function (event) {
|
|
11
|
+
window.dataLayer.push(tslib_1.__assign(tslib_1.__assign(tslib_1.__assign(tslib_1.__assign({}, (event.userId && {
|
|
12
|
+
userId: event.userId,
|
|
15
13
|
})), (event.anonymousId && {
|
|
16
|
-
|
|
17
|
-
})),
|
|
18
|
-
send_to: measurementIds,
|
|
19
|
-
})), event.properties);
|
|
14
|
+
hightouchAnonymousId: event.anonymousId,
|
|
15
|
+
})), { event: event.event }), event.properties));
|
|
20
16
|
};
|
|
21
17
|
return new destination_1.Destination('Google Tag Manager', '0.0.1', {
|
|
22
|
-
identify: function (ctx) {
|
|
23
|
-
if (ctx.event.userId) {
|
|
24
|
-
measurementIds.forEach(function (measurementId) {
|
|
25
|
-
window.gtag('config', measurementId, {
|
|
26
|
-
user_id: ctx.event.userId,
|
|
27
|
-
});
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
},
|
|
31
18
|
page: function (ctx) {
|
|
32
19
|
if (trackAllPages ||
|
|
33
20
|
(trackNamedPages && ctx.event.name) ||
|
|
@@ -35,11 +22,11 @@ var googleTagManager = function (_a) {
|
|
|
35
22
|
var eventName = ['Viewed', ctx.event.category, ctx.event.name, 'Page']
|
|
36
23
|
.filter(Boolean)
|
|
37
24
|
.join(' ');
|
|
38
|
-
|
|
25
|
+
pushEvent(tslib_1.__assign(tslib_1.__assign({}, ctx.event), { type: 'track', event: eventName }));
|
|
39
26
|
}
|
|
40
27
|
},
|
|
41
28
|
track: function (ctx) {
|
|
42
|
-
|
|
29
|
+
pushEvent(ctx.event);
|
|
43
30
|
},
|
|
44
31
|
});
|
|
45
32
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google-tag-manager.js","sourceRoot":"","sources":["../../../../src/plugins/destinations/google-tag-manager.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"google-tag-manager.js","sourceRoot":"","sources":["../../../../src/plugins/destinations/google-tag-manager.ts"],"names":[],"mappings":";;;AAGA,6CAA2C;AAyB3C;;GAEG;AACH,IAAM,gBAAgB,GAAiD,UAAC,EAIvE;QAHC,qBAAqB,EAArB,aAAa,mBAAG,KAAK,KAAA,EACrB,uBAAsB,EAAtB,eAAe,mBAAG,IAAI,KAAA,EACtB,6BAA4B,EAA5B,qBAAqB,mBAAG,IAAI,KAAA;IAE5B,IAAM,SAAS,GAAG,UAAC,KAAqB;QACtC,MAAM,CAAC,SAAS,CAAC,IAAI,yEAChB,CAAC,KAAK,CAAC,MAAM,IAAI;YAClB,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,CAAC,GACC,CAAC,KAAK,CAAC,WAAW,IAAI;YACvB,oBAAoB,EAAE,KAAK,CAAC,WAAW;SACxC,CAAC,KACF,KAAK,EAAE,KAAK,CAAC,KAAK,KACf,KAAK,CAAC,UAAU,EACnB,CAAA;IACJ,CAAC,CAAA;IAED,OAAO,IAAI,yBAAW,CAAC,oBAAoB,EAAE,OAAO,EAAE;QACpD,IAAI,EAAE,UAAC,GAAY;YACjB,IACE,aAAa;gBACb,CAAC,eAAe,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;gBACnC,CAAC,qBAAqB,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAC7C;gBACA,IAAM,SAAS,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC;qBACrE,MAAM,CAAC,OAAO,CAAC;qBACf,IAAI,CAAC,GAAG,CAAC,CAAA;gBAEZ,SAAS,uCACJ,GAAG,CAAC,KAAK,KACZ,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,SAAS,IAChB,CAAA;aACH;QACH,CAAC;QAED,KAAK,EAAE,UAAC,GAAY;YAClB,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACtB,CAAC;KACF,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,kBAAe,gBAAgB,CAAA"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
4
|
+
var destination_1 = require("./destination");
|
|
5
|
+
var gtag = function (_a) {
|
|
6
|
+
var _b = _a.measurementId, measurementId = _b === void 0 ? [] : _b, _c = _a.trackAllPages, trackAllPages = _c === void 0 ? false : _c, _d = _a.trackNamedPages, trackNamedPages = _d === void 0 ? true : _d, _e = _a.trackCategorizedPages, trackCategorizedPages = _e === void 0 ? true : _e;
|
|
7
|
+
var measurementIds = (Array.isArray(measurementId) ? measurementId : [measurementId]).filter(Boolean);
|
|
8
|
+
var baseEvent = function (_a) {
|
|
9
|
+
var event = _a.event;
|
|
10
|
+
return tslib_1.__assign(tslib_1.__assign(tslib_1.__assign(tslib_1.__assign({}, (event.userId && {
|
|
11
|
+
user_id: event.userId,
|
|
12
|
+
})), (event.anonymousId && {
|
|
13
|
+
hightouch_anonymous_id: event.anonymousId,
|
|
14
|
+
})), (measurementIds.length > 0 && {
|
|
15
|
+
send_to: measurementIds,
|
|
16
|
+
})), event.properties);
|
|
17
|
+
};
|
|
18
|
+
return new destination_1.Destination('gtag', '0.0.1', {
|
|
19
|
+
identify: function (ctx) {
|
|
20
|
+
if (ctx.event.userId) {
|
|
21
|
+
measurementIds.forEach(function (measurementId) {
|
|
22
|
+
window.gtag('config', measurementId, {
|
|
23
|
+
user_id: ctx.event.userId,
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
page: function (ctx) {
|
|
29
|
+
if (trackAllPages ||
|
|
30
|
+
(trackNamedPages && ctx.event.name) ||
|
|
31
|
+
(trackCategorizedPages && ctx.event.category)) {
|
|
32
|
+
var eventName = ['Viewed', ctx.event.category, ctx.event.name, 'Page']
|
|
33
|
+
.filter(Boolean)
|
|
34
|
+
.join(' ');
|
|
35
|
+
window.gtag('event', eventName, tslib_1.__assign({}, baseEvent(ctx)));
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
track: function (ctx) {
|
|
39
|
+
window.gtag('event', ctx.event.event, tslib_1.__assign({}, baseEvent(ctx)));
|
|
40
|
+
},
|
|
41
|
+
});
|
|
42
|
+
};
|
|
43
|
+
exports.default = gtag;
|
|
44
|
+
//# sourceMappingURL=gtag.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gtag.js","sourceRoot":"","sources":["../../../../src/plugins/destinations/gtag.ts"],"names":[],"mappings":";;;AAEA,6CAA2C;AA8B3C,IAAM,IAAI,GAAqC,UAAC,EAK/C;QAJC,qBAAkB,EAAlB,aAAa,mBAAG,EAAE,KAAA,EAClB,qBAAqB,EAArB,aAAa,mBAAG,KAAK,KAAA,EACrB,uBAAsB,EAAtB,eAAe,mBAAG,IAAI,KAAA,EACtB,6BAA4B,EAA5B,qBAAqB,mBAAG,IAAI,KAAA;IAE5B,IAAM,cAAc,GAAG,CACrB,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAC/D,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAEjB,IAAM,SAAS,GAAG,UAAC,EAAkB;YAAhB,KAAK,WAAA;QACxB,+EACK,CAAC,KAAK,CAAC,MAAM,IAAI;YAClB,OAAO,EAAE,KAAK,CAAC,MAAM;SACtB,CAAC,GACC,CAAC,KAAK,CAAC,WAAW,IAAI;YACvB,sBAAsB,EAAE,KAAK,CAAC,WAAW;SAC1C,CAAC,GACC,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI;YAC/B,OAAO,EAAE,cAAc;SACxB,CAAC,GACC,KAAK,CAAC,UAAU,EACpB;IACH,CAAC,CAAA;IAED,OAAO,IAAI,yBAAW,CAAC,MAAM,EAAE,OAAO,EAAE;QACtC,QAAQ,EAAE,UAAC,GAAG;YACZ,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE;gBACpB,cAAc,CAAC,OAAO,CAAC,UAAC,aAAa;oBACnC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE;wBACnC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM;qBAC1B,CAAC,CAAA;gBACJ,CAAC,CAAC,CAAA;aACH;QACH,CAAC;QAED,IAAI,EAAE,UAAC,GAAG;YACR,IACE,aAAa;gBACb,CAAC,eAAe,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;gBACnC,CAAC,qBAAqB,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAC7C;gBACA,IAAM,SAAS,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC;qBACrE,MAAM,CAAC,OAAO,CAAC;qBACf,IAAI,CAAC,GAAG,CAAC,CAAA;gBAEZ,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,uBACzB,SAAS,CAAC,GAAG,CAAC,EACjB,CAAA;aACH;QACH,CAAC;QAED,KAAK,EAAE,UAAC,GAAG;YACT,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,uBAC/B,SAAS,CAAC,GAAG,CAAC,EACjB,CAAA;QACJ,CAAC;KACF,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,kBAAe,IAAI,CAAA"}
|
|
@@ -8,6 +8,10 @@ function createDestination(name, settings) {
|
|
|
8
8
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
9
9
|
return tslib_1.__generator(this, function (_a) {
|
|
10
10
|
switch (name) {
|
|
11
|
+
case 'gtag':
|
|
12
|
+
return [2 /*return*/, Promise.resolve().then(function () { return tslib_1.__importStar(require(/* webpackChunkName: "gtag" */ './gtag')); }).then(function (mod) {
|
|
13
|
+
return mod.default(settings);
|
|
14
|
+
})];
|
|
11
15
|
case 'Google Tag Manager':
|
|
12
16
|
return [2 /*return*/, Promise.resolve().then(function () { return tslib_1.__importStar(require(
|
|
13
17
|
/* webpackChunkName: "google-tag-manager" */ './google-tag-manager')); }).then(function (mod) { return mod.default(settings); })];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/destinations/index.ts"],"names":[],"mappings":";;;;AACA,6CAA2C;AAElC,4FAFA,yBAAW,OAEA;AAGpB,SAAsB,iBAAiB,CACrC,IAAY,EACZ,QAA6B;;;YAE7B,QAAQ,IAAI,EAAE;gBACZ,KAAK,oBAAoB;oBACvB,sBAAO;wBACL,4CAA4C,CAAC,sBAAsB,OACnE,IAAI,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,OAAO,CAAC,QAAe,CAAC,EAA5B,CAA4B,CAAC,EAAA;gBAC/C;oBACE,sBAAO,SAAS,EAAA;aACnB;;;;CACF;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/destinations/index.ts"],"names":[],"mappings":";;;;AACA,6CAA2C;AAElC,4FAFA,yBAAW,OAEA;AAGpB,SAAsB,iBAAiB,CACrC,IAAY,EACZ,QAA6B;;;YAE7B,QAAQ,IAAI,EAAE;gBACZ,KAAK,MAAM;oBACT,sBAAO,yEAAO,8BAA8B,CAAC,QAAQ,OAAE,IAAI,CAAC,UAAC,GAAG;4BAC9D,OAAA,GAAG,CAAC,OAAO,CAAC,QAAe,CAAC;wBAA5B,CAA4B,CAC7B,EAAA;gBACH,KAAK,oBAAoB;oBACvB,sBAAO;wBACL,4CAA4C,CAAC,sBAAsB,OACnE,IAAI,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,OAAO,CAAC,QAAe,CAAC,EAA5B,CAA4B,CAAC,EAAA;gBAC/C;oBACE,sBAAO,SAAS,EAAA;aACnB;;;;CACF;AAhBD,8CAgBC"}
|
|
@@ -56,7 +56,8 @@ export var generateManualTrackingSession = function (id) {
|
|
|
56
56
|
export var updateSessionExpiration = function (session) {
|
|
57
57
|
session.sessionStart = false;
|
|
58
58
|
if (session.autoTrack) {
|
|
59
|
-
|
|
59
|
+
// extend session by `timeout`
|
|
60
|
+
session.expiresAt = Date.now() + session.timeout;
|
|
60
61
|
}
|
|
61
62
|
return session;
|
|
62
63
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/session/index.ts"],"names":[],"mappings":"AAAA,0HAA0H;AAC1H,cAAc;AAoCd;;;GAGG;AACH,MAAM,CAAC,IAAM,iBAAiB,GAAG,UAAC,SAAiB;IACjD,IAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IAC5B,OAAO,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;AACvC,CAAC,CAAA;AAED,IAAM,iBAAiB,GAAG,cAAc,OAAA,IAAI,CAAC,GAAG,EAAE,EAAV,CAAU,CAAA;AAElD,MAAM,CAAC,IAAM,sBAAsB,GAAG,UAAC,SAAkB;IACvD,IACE,CAAC,SAAS;QACV,SAAS,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;QACpC,SAAS,CAAC,QAAQ,EAAE,CAAC,MAAM,GAAG,EAAE,EAChC;QACA,OAAO,KAAK,CAAA;KACb;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,IAAM,sBAAsB,GAAG,EAAE,GAAG,IAAI,CAAA,CAAC,aAAa;AACtD,IAAM,0BAA0B,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA,CAAC,aAAa;AAE/D;;;;GAIG;AACH,MAAM,CAAC,IAAM,2BAA2B,GAAG,UACzC,cAAuB;IAEvB,IAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IAC5B,IAAM,OAAO,GAAW,cAAc,IAAI,0BAA0B,CAAA;IACpE,IAAI,OAAO,GAAG,sBAAsB,EAAE;QACpC,OAAO,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAA;KAC7E;IACD,OAAO;QACL,EAAE,EAAE,SAAS;QACb,SAAS,EAAE,SAAS,GAAG,OAAO;QAC9B,OAAO,SAAA;QACP,YAAY,EAAE,IAAI;QAClB,SAAS,EAAE,IAAI;KAChB,CAAA;AACH,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,IAAM,6BAA6B,GAAG,UAAC,EAAW;IACvD,IAAM,SAAS,GAAW,sBAAsB,CAAC,EAAE,CAAC;QAClD,CAAC,CAAE,EAAa;QAChB,CAAC,CAAC,iBAAiB,EAAE,CAAA;IACvB,OAAO;QACL,EAAE,EAAE,SAAS;QACb,YAAY,EAAE,IAAI;QAClB,WAAW,EAAE,IAAI;KAClB,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,IAAM,uBAAuB,GAAG,UAAC,OAAoB;IAC1D,OAAO,CAAC,YAAY,GAAG,KAAK,CAAA;IAC5B,IAAI,OAAO,CAAC,SAAS,EAAE;QACrB,OAAO,CAAC,SAAS,GAAG,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/session/index.ts"],"names":[],"mappings":"AAAA,0HAA0H;AAC1H,cAAc;AAoCd;;;GAGG;AACH,MAAM,CAAC,IAAM,iBAAiB,GAAG,UAAC,SAAiB;IACjD,IAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IAC5B,OAAO,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;AACvC,CAAC,CAAA;AAED,IAAM,iBAAiB,GAAG,cAAc,OAAA,IAAI,CAAC,GAAG,EAAE,EAAV,CAAU,CAAA;AAElD,MAAM,CAAC,IAAM,sBAAsB,GAAG,UAAC,SAAkB;IACvD,IACE,CAAC,SAAS;QACV,SAAS,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;QACpC,SAAS,CAAC,QAAQ,EAAE,CAAC,MAAM,GAAG,EAAE,EAChC;QACA,OAAO,KAAK,CAAA;KACb;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,IAAM,sBAAsB,GAAG,EAAE,GAAG,IAAI,CAAA,CAAC,aAAa;AACtD,IAAM,0BAA0B,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA,CAAC,aAAa;AAE/D;;;;GAIG;AACH,MAAM,CAAC,IAAM,2BAA2B,GAAG,UACzC,cAAuB;IAEvB,IAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IAC5B,IAAM,OAAO,GAAW,cAAc,IAAI,0BAA0B,CAAA;IACpE,IAAI,OAAO,GAAG,sBAAsB,EAAE;QACpC,OAAO,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAA;KAC7E;IACD,OAAO;QACL,EAAE,EAAE,SAAS;QACb,SAAS,EAAE,SAAS,GAAG,OAAO;QAC9B,OAAO,SAAA;QACP,YAAY,EAAE,IAAI;QAClB,SAAS,EAAE,IAAI;KAChB,CAAA;AACH,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,IAAM,6BAA6B,GAAG,UAAC,EAAW;IACvD,IAAM,SAAS,GAAW,sBAAsB,CAAC,EAAE,CAAC;QAClD,CAAC,CAAE,EAAa;QAChB,CAAC,CAAC,iBAAiB,EAAE,CAAA;IACvB,OAAO;QACL,EAAE,EAAE,SAAS;QACb,YAAY,EAAE,IAAI;QAClB,WAAW,EAAE,IAAI;KAClB,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,IAAM,uBAAuB,GAAG,UAAC,OAAoB;IAC1D,OAAO,CAAC,YAAY,GAAG,KAAK,CAAA;IAC5B,IAAI,OAAO,CAAC,SAAS,EAAE;QACrB,8BAA8B;QAC9B,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,OAAQ,CAAA;KAClD;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
|
|
@@ -4,28 +4,15 @@ import { Destination } from './destination';
|
|
|
4
4
|
* https://github.com/segmentio/analytics.js-integrations/blob/master/integrations/google-tag-manager/lib/index.js
|
|
5
5
|
*/
|
|
6
6
|
var googleTagManager = function (_a) {
|
|
7
|
-
var _b = _a.
|
|
8
|
-
var
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
return __assign(__assign(__assign(__assign({}, (event.userId && {
|
|
12
|
-
user_id: event.userId,
|
|
7
|
+
var _b = _a.trackAllPages, trackAllPages = _b === void 0 ? false : _b, _c = _a.trackNamedPages, trackNamedPages = _c === void 0 ? true : _c, _d = _a.trackCategorizedPages, trackCategorizedPages = _d === void 0 ? true : _d;
|
|
8
|
+
var pushEvent = function (event) {
|
|
9
|
+
window.dataLayer.push(__assign(__assign(__assign(__assign({}, (event.userId && {
|
|
10
|
+
userId: event.userId,
|
|
13
11
|
})), (event.anonymousId && {
|
|
14
|
-
|
|
15
|
-
})),
|
|
16
|
-
send_to: measurementIds,
|
|
17
|
-
})), event.properties);
|
|
12
|
+
hightouchAnonymousId: event.anonymousId,
|
|
13
|
+
})), { event: event.event }), event.properties));
|
|
18
14
|
};
|
|
19
15
|
return new Destination('Google Tag Manager', '0.0.1', {
|
|
20
|
-
identify: function (ctx) {
|
|
21
|
-
if (ctx.event.userId) {
|
|
22
|
-
measurementIds.forEach(function (measurementId) {
|
|
23
|
-
window.gtag('config', measurementId, {
|
|
24
|
-
user_id: ctx.event.userId,
|
|
25
|
-
});
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
},
|
|
29
16
|
page: function (ctx) {
|
|
30
17
|
if (trackAllPages ||
|
|
31
18
|
(trackNamedPages && ctx.event.name) ||
|
|
@@ -33,11 +20,11 @@ var googleTagManager = function (_a) {
|
|
|
33
20
|
var eventName = ['Viewed', ctx.event.category, ctx.event.name, 'Page']
|
|
34
21
|
.filter(Boolean)
|
|
35
22
|
.join(' ');
|
|
36
|
-
|
|
23
|
+
pushEvent(__assign(__assign({}, ctx.event), { type: 'track', event: eventName }));
|
|
37
24
|
}
|
|
38
25
|
},
|
|
39
26
|
track: function (ctx) {
|
|
40
|
-
|
|
27
|
+
pushEvent(ctx.event);
|
|
41
28
|
},
|
|
42
29
|
});
|
|
43
30
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google-tag-manager.js","sourceRoot":"","sources":["../../../../src/plugins/destinations/google-tag-manager.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"google-tag-manager.js","sourceRoot":"","sources":["../../../../src/plugins/destinations/google-tag-manager.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAyB3C;;GAEG;AACH,IAAM,gBAAgB,GAAiD,UAAC,EAIvE;QAHC,qBAAqB,EAArB,aAAa,mBAAG,KAAK,KAAA,EACrB,uBAAsB,EAAtB,eAAe,mBAAG,IAAI,KAAA,EACtB,6BAA4B,EAA5B,qBAAqB,mBAAG,IAAI,KAAA;IAE5B,IAAM,SAAS,GAAG,UAAC,KAAqB;QACtC,MAAM,CAAC,SAAS,CAAC,IAAI,yCAChB,CAAC,KAAK,CAAC,MAAM,IAAI;YAClB,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,CAAC,GACC,CAAC,KAAK,CAAC,WAAW,IAAI;YACvB,oBAAoB,EAAE,KAAK,CAAC,WAAW;SACxC,CAAC,KACF,KAAK,EAAE,KAAK,CAAC,KAAK,KACf,KAAK,CAAC,UAAU,EACnB,CAAA;IACJ,CAAC,CAAA;IAED,OAAO,IAAI,WAAW,CAAC,oBAAoB,EAAE,OAAO,EAAE;QACpD,IAAI,EAAE,UAAC,GAAY;YACjB,IACE,aAAa;gBACb,CAAC,eAAe,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;gBACnC,CAAC,qBAAqB,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAC7C;gBACA,IAAM,SAAS,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC;qBACrE,MAAM,CAAC,OAAO,CAAC;qBACf,IAAI,CAAC,GAAG,CAAC,CAAA;gBAEZ,SAAS,uBACJ,GAAG,CAAC,KAAK,KACZ,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,SAAS,IAChB,CAAA;aACH;QACH,CAAC;QAED,KAAK,EAAE,UAAC,GAAY;YAClB,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACtB,CAAC;KACF,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,eAAe,gBAAgB,CAAA"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { __assign } from "tslib";
|
|
2
|
+
import { Destination } from './destination';
|
|
3
|
+
var gtag = function (_a) {
|
|
4
|
+
var _b = _a.measurementId, measurementId = _b === void 0 ? [] : _b, _c = _a.trackAllPages, trackAllPages = _c === void 0 ? false : _c, _d = _a.trackNamedPages, trackNamedPages = _d === void 0 ? true : _d, _e = _a.trackCategorizedPages, trackCategorizedPages = _e === void 0 ? true : _e;
|
|
5
|
+
var measurementIds = (Array.isArray(measurementId) ? measurementId : [measurementId]).filter(Boolean);
|
|
6
|
+
var baseEvent = function (_a) {
|
|
7
|
+
var event = _a.event;
|
|
8
|
+
return __assign(__assign(__assign(__assign({}, (event.userId && {
|
|
9
|
+
user_id: event.userId,
|
|
10
|
+
})), (event.anonymousId && {
|
|
11
|
+
hightouch_anonymous_id: event.anonymousId,
|
|
12
|
+
})), (measurementIds.length > 0 && {
|
|
13
|
+
send_to: measurementIds,
|
|
14
|
+
})), event.properties);
|
|
15
|
+
};
|
|
16
|
+
return new Destination('gtag', '0.0.1', {
|
|
17
|
+
identify: function (ctx) {
|
|
18
|
+
if (ctx.event.userId) {
|
|
19
|
+
measurementIds.forEach(function (measurementId) {
|
|
20
|
+
window.gtag('config', measurementId, {
|
|
21
|
+
user_id: ctx.event.userId,
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
page: function (ctx) {
|
|
27
|
+
if (trackAllPages ||
|
|
28
|
+
(trackNamedPages && ctx.event.name) ||
|
|
29
|
+
(trackCategorizedPages && ctx.event.category)) {
|
|
30
|
+
var eventName = ['Viewed', ctx.event.category, ctx.event.name, 'Page']
|
|
31
|
+
.filter(Boolean)
|
|
32
|
+
.join(' ');
|
|
33
|
+
window.gtag('event', eventName, __assign({}, baseEvent(ctx)));
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
track: function (ctx) {
|
|
37
|
+
window.gtag('event', ctx.event.event, __assign({}, baseEvent(ctx)));
|
|
38
|
+
},
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
export default gtag;
|
|
42
|
+
//# sourceMappingURL=gtag.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gtag.js","sourceRoot":"","sources":["../../../../src/plugins/destinations/gtag.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AA8B3C,IAAM,IAAI,GAAqC,UAAC,EAK/C;QAJC,qBAAkB,EAAlB,aAAa,mBAAG,EAAE,KAAA,EAClB,qBAAqB,EAArB,aAAa,mBAAG,KAAK,KAAA,EACrB,uBAAsB,EAAtB,eAAe,mBAAG,IAAI,KAAA,EACtB,6BAA4B,EAA5B,qBAAqB,mBAAG,IAAI,KAAA;IAE5B,IAAM,cAAc,GAAG,CACrB,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAC/D,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAEjB,IAAM,SAAS,GAAG,UAAC,EAAkB;YAAhB,KAAK,WAAA;QACxB,+CACK,CAAC,KAAK,CAAC,MAAM,IAAI;YAClB,OAAO,EAAE,KAAK,CAAC,MAAM;SACtB,CAAC,GACC,CAAC,KAAK,CAAC,WAAW,IAAI;YACvB,sBAAsB,EAAE,KAAK,CAAC,WAAW;SAC1C,CAAC,GACC,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI;YAC/B,OAAO,EAAE,cAAc;SACxB,CAAC,GACC,KAAK,CAAC,UAAU,EACpB;IACH,CAAC,CAAA;IAED,OAAO,IAAI,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE;QACtC,QAAQ,EAAE,UAAC,GAAG;YACZ,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE;gBACpB,cAAc,CAAC,OAAO,CAAC,UAAC,aAAa;oBACnC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE;wBACnC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM;qBAC1B,CAAC,CAAA;gBACJ,CAAC,CAAC,CAAA;aACH;QACH,CAAC;QAED,IAAI,EAAE,UAAC,GAAG;YACR,IACE,aAAa;gBACb,CAAC,eAAe,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;gBACnC,CAAC,qBAAqB,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAC7C;gBACA,IAAM,SAAS,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC;qBACrE,MAAM,CAAC,OAAO,CAAC;qBACf,IAAI,CAAC,GAAG,CAAC,CAAA;gBAEZ,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,eACzB,SAAS,CAAC,GAAG,CAAC,EACjB,CAAA;aACH;QACH,CAAC;QAED,KAAK,EAAE,UAAC,GAAG;YACT,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,eAC/B,SAAS,CAAC,GAAG,CAAC,EACjB,CAAA;QACJ,CAAC;KACF,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,eAAe,IAAI,CAAA"}
|
|
@@ -5,6 +5,10 @@ export function createDestination(name, settings) {
|
|
|
5
5
|
return __awaiter(this, void 0, void 0, function () {
|
|
6
6
|
return __generator(this, function (_a) {
|
|
7
7
|
switch (name) {
|
|
8
|
+
case 'gtag':
|
|
9
|
+
return [2 /*return*/, import(/* webpackChunkName: "gtag" */ './gtag').then(function (mod) {
|
|
10
|
+
return mod.default(settings);
|
|
11
|
+
})];
|
|
8
12
|
case 'Google Tag Manager':
|
|
9
13
|
return [2 /*return*/, import(
|
|
10
14
|
/* webpackChunkName: "google-tag-manager" */ './google-tag-manager').then(function (mod) { return mod.default(settings); })];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/destinations/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,OAAO,EAAE,WAAW,EAAE,CAAA;AAGtB,MAAM,UAAgB,iBAAiB,CACrC,IAAY,EACZ,QAA6B;;;YAE7B,QAAQ,IAAI,EAAE;gBACZ,KAAK,oBAAoB;oBACvB,sBAAO,MAAM;wBACX,4CAA4C,CAAC,sBAAsB,CACpE,CAAC,IAAI,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,OAAO,CAAC,QAAe,CAAC,EAA5B,CAA4B,CAAC,EAAA;gBAC/C;oBACE,sBAAO,SAAS,EAAA;aACnB;;;;CACF"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/destinations/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,OAAO,EAAE,WAAW,EAAE,CAAA;AAGtB,MAAM,UAAgB,iBAAiB,CACrC,IAAY,EACZ,QAA6B;;;YAE7B,QAAQ,IAAI,EAAE;gBACZ,KAAK,MAAM;oBACT,sBAAO,MAAM,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAC,GAAG;4BAC9D,OAAA,GAAG,CAAC,OAAO,CAAC,QAAe,CAAC;wBAA5B,CAA4B,CAC7B,EAAA;gBACH,KAAK,oBAAoB;oBACvB,sBAAO,MAAM;wBACX,4CAA4C,CAAC,sBAAsB,CACpE,CAAC,IAAI,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,OAAO,CAAC,QAAe,CAAC,EAA5B,CAA4B,CAAC,EAAA;gBAC/C;oBACE,sBAAO,SAAS,EAAA;aACnB;;;;CACF"}
|
|
@@ -91,7 +91,7 @@ export declare class AnalyticsBuffered implements PromiseLike<[Analytics, Contex
|
|
|
91
91
|
register: (...args: import("../plugin").Plugin[]) => Promise<Context>;
|
|
92
92
|
deregister: (...args: string[]) => Promise<Context>;
|
|
93
93
|
user: () => Promise<import("../user").User>;
|
|
94
|
-
readonly VERSION = "1.3.
|
|
94
|
+
readonly VERSION = "1.3.2";
|
|
95
95
|
private _createMethod;
|
|
96
96
|
/**
|
|
97
97
|
* These are for methods that where determining when the method gets "flushed" is not important.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/session/index.ts"],"names":[],"mappings":"AAuBA,MAAM,MAAM,WAAW,GAAG;IACxB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,cAAe,MAAM,KAAG,OAGrD,CAAA;AAID,eAAO,MAAM,sBAAsB,eAAgB,MAAM,KAAG,OAS3D,CAAA;AAKD;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,oBACrB,MAAM,KACtB,WAaF,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,QAAS,MAAM,KAAG,WAS3D,CAAA;AAED,eAAO,MAAM,uBAAuB,YAAa,WAAW,KAAG,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/session/index.ts"],"names":[],"mappings":"AAuBA,MAAM,MAAM,WAAW,GAAG;IACxB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,cAAe,MAAM,KAAG,OAGrD,CAAA;AAID,eAAO,MAAM,sBAAsB,eAAgB,MAAM,KAAG,OAS3D,CAAA;AAKD;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,oBACrB,MAAM,KACtB,WAaF,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,QAAS,MAAM,KAAG,WAS3D,CAAA;AAED,eAAO,MAAM,uBAAuB,YAAa,WAAW,KAAG,WAO9D,CAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const version = "1.3.
|
|
1
|
+
export declare const version = "1.3.2";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
|
@@ -1,14 +1,10 @@
|
|
|
1
1
|
import type { DestinationFactory } from './types';
|
|
2
2
|
declare global {
|
|
3
3
|
interface Window {
|
|
4
|
-
|
|
4
|
+
dataLayer: Array<any>;
|
|
5
5
|
}
|
|
6
6
|
}
|
|
7
7
|
type GoogleTagManagerSettings = {
|
|
8
|
-
/**
|
|
9
|
-
* The Google measurement ID(s) to send events to (GA4, Ads)
|
|
10
|
-
*/
|
|
11
|
-
measurementId?: string | string[];
|
|
12
8
|
/**
|
|
13
9
|
* If a `Viewed Page` event should be sent for all `htevents.page` calls
|
|
14
10
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google-tag-manager.d.ts","sourceRoot":"","sources":["../../../../src/plugins/destinations/google-tag-manager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"google-tag-manager.d.ts","sourceRoot":"","sources":["../../../../src/plugins/destinations/google-tag-manager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAGjD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;KACtB;CACF;AAED,KAAK,wBAAwB,GAAG;IAC9B;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IAEvB;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IAEzB;;OAEG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAED;;GAEG;AACH,QAAA,MAAM,gBAAgB,EAAE,kBAAkB,CAAC,wBAAwB,CAyClE,CAAA;AAED,eAAe,gBAAgB,CAAA"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { DestinationFactory } from './types';
|
|
2
|
+
declare global {
|
|
3
|
+
interface Window {
|
|
4
|
+
gtag: Function;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
type GtagSettings = {
|
|
8
|
+
/**
|
|
9
|
+
* The Google measurement ID(s) to send events to (GA4, Ads)
|
|
10
|
+
*/
|
|
11
|
+
measurementId?: string | string[];
|
|
12
|
+
/**
|
|
13
|
+
* If a `Viewed Page` event should be sent for all `htevents.page` calls
|
|
14
|
+
*/
|
|
15
|
+
trackAllPages?: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* If a `Viewed <name> Page` event should be sent for `htevents.page('Name')` calls
|
|
18
|
+
*/
|
|
19
|
+
trackNamedPages?: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* If a `Viewed <category> <name> Page` event should be sent for `htevents.page('Category', 'Name')` calls
|
|
22
|
+
*/
|
|
23
|
+
trackCategorizedPages?: boolean;
|
|
24
|
+
};
|
|
25
|
+
declare const gtag: DestinationFactory<GtagSettings>;
|
|
26
|
+
export default gtag;
|
|
27
|
+
//# sourceMappingURL=gtag.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gtag.d.ts","sourceRoot":"","sources":["../../../../src/plugins/destinations/gtag.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAGjD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,IAAI,EAAE,QAAQ,CAAA;KACf;CACF;AAED,KAAK,YAAY,GAAG;IAClB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IAEjC;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IAEvB;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IAEzB;;OAEG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAED,QAAA,MAAM,IAAI,EAAE,kBAAkB,CAAC,YAAY,CA0D1C,CAAA;AAED,eAAe,IAAI,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/destinations/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,OAAO,EAAE,WAAW,EAAE,CAAA;AACtB,YAAY,EAAE,mBAAmB,EAAE,CAAA;AAEnC,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,mBAAmB,GAC5B,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/destinations/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,OAAO,EAAE,WAAW,EAAE,CAAA;AACtB,YAAY,EAAE,mBAAmB,EAAE,CAAA;AAEnC,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,mBAAmB,GAC5B,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAalC"}
|