@datalyr/web 1.7.8 → 1.7.9
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/dist/container.d.ts +7 -3
- package/dist/container.d.ts.map +1 -1
- package/dist/container.test.d.ts +2 -0
- package/dist/container.test.d.ts.map +1 -0
- package/dist/datalyr.cjs.js +67 -7
- package/dist/datalyr.cjs.js.map +1 -1
- package/dist/datalyr.esm.js +67 -7
- package/dist/datalyr.esm.js.map +1 -1
- package/dist/datalyr.esm.min.js +1 -1
- package/dist/datalyr.esm.min.js.map +1 -1
- package/dist/datalyr.js +67 -7
- package/dist/datalyr.js.map +1 -1
- package/dist/datalyr.min.js +1 -1
- package/dist/datalyr.min.js.map +1 -1
- package/package.json +1 -1
package/dist/container.d.ts
CHANGED
|
@@ -52,6 +52,10 @@ export interface PixelConfig {
|
|
|
52
52
|
enabled: boolean;
|
|
53
53
|
pixel_id: string;
|
|
54
54
|
};
|
|
55
|
+
whop?: {
|
|
56
|
+
enabled: boolean;
|
|
57
|
+
company_id: string;
|
|
58
|
+
};
|
|
55
59
|
}
|
|
56
60
|
export declare class ContainerManager {
|
|
57
61
|
private scripts;
|
|
@@ -130,10 +134,10 @@ export declare class ContainerManager {
|
|
|
130
134
|
* Load tracking pixel
|
|
131
135
|
*/
|
|
132
136
|
private loadPixel;
|
|
133
|
-
/**
|
|
134
|
-
* Initialize third-party pixels (Meta, Google, TikTok)
|
|
135
|
-
*/
|
|
137
|
+
/** Initialize configured third-party pixels in the merchant's page context. */
|
|
136
138
|
private initializePixels;
|
|
139
|
+
/** Initialize Whop's official first-party attribution pixel. */
|
|
140
|
+
private initializeWhopPixel;
|
|
137
141
|
/**
|
|
138
142
|
* Initialize Meta (Facebook) Pixel
|
|
139
143
|
*
|
package/dist/container.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../src/container.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../src/container.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"container.test.d.ts","sourceRoot":"","sources":["../src/container.test.ts"],"names":[],"mappings":""}
|
package/dist/datalyr.cjs.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @datalyr/web v1.7.
|
|
2
|
+
* @datalyr/web v1.7.9
|
|
3
3
|
* Datalyr Web SDK - Modern attribution tracking for web applications
|
|
4
4
|
* (c) 2026 Datalyr Inc.
|
|
5
5
|
* Released under the MIT License
|
|
@@ -3691,12 +3691,10 @@ class ContainerManager {
|
|
|
3691
3691
|
img.dataset.datalyrPixel = script.id;
|
|
3692
3692
|
document.body.appendChild(img);
|
|
3693
3693
|
}
|
|
3694
|
-
/**
|
|
3695
|
-
* Initialize third-party pixels (Meta, Google, TikTok)
|
|
3696
|
-
*/
|
|
3694
|
+
/** Initialize configured third-party pixels in the merchant's page context. */
|
|
3697
3695
|
initializePixels() {
|
|
3698
3696
|
return __awaiter(this, void 0, void 0, function* () {
|
|
3699
|
-
var _a, _b, _c;
|
|
3697
|
+
var _a, _b, _c, _e;
|
|
3700
3698
|
if (!this.pixels)
|
|
3701
3699
|
return;
|
|
3702
3700
|
// Initialize Meta Pixel
|
|
@@ -3711,8 +3709,58 @@ class ContainerManager {
|
|
|
3711
3709
|
if (((_c = this.pixels.tiktok) === null || _c === void 0 ? void 0 : _c.enabled) && this.pixels.tiktok.pixel_id) {
|
|
3712
3710
|
this.initializeTikTokPixel(this.pixels.tiktok);
|
|
3713
3711
|
}
|
|
3712
|
+
// The Whop Pixel needs only the merchant's public company ID. Loading it
|
|
3713
|
+
// here lets Whop link this external-site visitor to a later hosted or
|
|
3714
|
+
// embedded Whop checkout without a Datalyr visitor_id in checkout metadata.
|
|
3715
|
+
if (((_e = this.pixels.whop) === null || _e === void 0 ? void 0 : _e.enabled) && this.pixels.whop.company_id) {
|
|
3716
|
+
this.initializeWhopPixel(this.pixels.whop);
|
|
3717
|
+
}
|
|
3714
3718
|
});
|
|
3715
3719
|
}
|
|
3720
|
+
/** Initialize Whop's official first-party attribution pixel. */
|
|
3721
|
+
initializeWhopPixel(config) {
|
|
3722
|
+
var _a, _b;
|
|
3723
|
+
try {
|
|
3724
|
+
const host = window;
|
|
3725
|
+
if (!host.whop) {
|
|
3726
|
+
const queue = host.whop = {
|
|
3727
|
+
q: [],
|
|
3728
|
+
t: Date.now(),
|
|
3729
|
+
s: [],
|
|
3730
|
+
o: 'https://t.whop.tw',
|
|
3731
|
+
track: function (...args) {
|
|
3732
|
+
queue.q.push([Date.now(), ...args]);
|
|
3733
|
+
},
|
|
3734
|
+
setScope: function (...args) {
|
|
3735
|
+
queue.s = args.filter((value) => typeof value === 'string');
|
|
3736
|
+
queue.q.push([Date.now(), 'setScope', ...queue.s]);
|
|
3737
|
+
},
|
|
3738
|
+
scope: function (...scope) {
|
|
3739
|
+
return {
|
|
3740
|
+
track: function (...args) {
|
|
3741
|
+
queue.q.push([Date.now(), ...args, { __scope: scope }]);
|
|
3742
|
+
},
|
|
3743
|
+
};
|
|
3744
|
+
},
|
|
3745
|
+
};
|
|
3746
|
+
const script = document.createElement('script');
|
|
3747
|
+
script.async = true;
|
|
3748
|
+
script.src = 'https://t.whop.tw/s.js';
|
|
3749
|
+
const firstScript = document.getElementsByTagName('script')[0];
|
|
3750
|
+
(_a = firstScript === null || firstScript === void 0 ? void 0 : firstScript.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(script, firstScript);
|
|
3751
|
+
if (!firstScript)
|
|
3752
|
+
document.head.appendChild(script);
|
|
3753
|
+
}
|
|
3754
|
+
if (typeof ((_b = host.whop) === null || _b === void 0 ? void 0 : _b.setScope) !== 'function') {
|
|
3755
|
+
throw new Error('Existing window.whop does not expose setScope');
|
|
3756
|
+
}
|
|
3757
|
+
host.whop.setScope(config.company_id);
|
|
3758
|
+
this.log('Whop Pixel initialized:', config.company_id);
|
|
3759
|
+
}
|
|
3760
|
+
catch (error) {
|
|
3761
|
+
this.log('Error initializing Whop Pixel:', error);
|
|
3762
|
+
}
|
|
3763
|
+
}
|
|
3716
3764
|
/**
|
|
3717
3765
|
* Initialize Meta (Facebook) Pixel
|
|
3718
3766
|
*
|
|
@@ -3868,7 +3916,7 @@ class ContainerManager {
|
|
|
3868
3916
|
* Track event to all initialized pixels
|
|
3869
3917
|
*/
|
|
3870
3918
|
trackToPixels(eventName, properties = {}, eventId) {
|
|
3871
|
-
var _a, _b, _c, _e, _f, _g, _h, _j, _k, _l;
|
|
3919
|
+
var _a, _b, _c, _e, _f, _g, _h, _j, _k, _l, _m, _p;
|
|
3872
3920
|
// Datalyr-internal events ($identify, $group, $alias, $auto_identify,
|
|
3873
3921
|
// $app_download_click, …) are not conversions — never forward them to ad
|
|
3874
3922
|
// pixels. (Previously they fired as noise custom events with the $ stripped.)
|
|
@@ -3965,6 +4013,18 @@ class ContainerManager {
|
|
|
3965
4013
|
this.log('Error tracking TikTok Pixel event:', error);
|
|
3966
4014
|
}
|
|
3967
4015
|
}
|
|
4016
|
+
// Whop records checkout and payment events server-side. Datalyr only sends
|
|
4017
|
+
// page views here, including SPA navigations, so purchases are never doubled.
|
|
4018
|
+
if (((_p = (_m = this.pixels) === null || _m === void 0 ? void 0 : _m.whop) === null || _p === void 0 ? void 0 : _p.enabled) &&
|
|
4019
|
+
window.whop &&
|
|
4020
|
+
(eventName === 'pageview' || eventName === 'page_view')) {
|
|
4021
|
+
try {
|
|
4022
|
+
window.whop.track('page');
|
|
4023
|
+
}
|
|
4024
|
+
catch (error) {
|
|
4025
|
+
this.log('Error tracking Whop Pixel page:', error);
|
|
4026
|
+
}
|
|
4027
|
+
}
|
|
3968
4028
|
}
|
|
3969
4029
|
/**
|
|
3970
4030
|
* Manually trigger a custom script
|
|
@@ -6431,7 +6491,7 @@ class Datalyr {
|
|
|
6431
6491
|
// drift from the package again (it sat at 1.7.4 across the 1.7.5 release). The
|
|
6432
6492
|
// build guard (scripts/check-bundle.js, run by build:check) still verifies the
|
|
6433
6493
|
// deployable bundles carry the package.json version. (FSR-103)
|
|
6434
|
-
sdk_version: '1.7.
|
|
6494
|
+
sdk_version: '1.7.9',
|
|
6435
6495
|
sdk_name: 'datalyr-web-sdk',
|
|
6436
6496
|
// A3-25: versioned-envelope stamp. Every SDK emits schema_version so the ingest/contract
|
|
6437
6497
|
// layer can key on ONE canonical envelope version (snake_case fields, event_name/event_data
|