@amplitude/analytics-browser 2.11.13 → 2.12.1

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.
Files changed (259) hide show
  1. package/README.md +1 -1
  2. package/lib/cjs/attribution/campaign-parser.d.ts +8 -0
  3. package/lib/cjs/attribution/campaign-parser.d.ts.map +1 -0
  4. package/lib/cjs/attribution/campaign-parser.js +69 -0
  5. package/lib/cjs/attribution/campaign-parser.js.map +1 -0
  6. package/lib/cjs/attribution/campaign.d.ts +31 -0
  7. package/lib/cjs/attribution/campaign.d.ts.map +1 -0
  8. package/lib/cjs/attribution/campaign.js +3 -0
  9. package/lib/cjs/attribution/campaign.js.map +1 -0
  10. package/lib/cjs/attribution/constants.d.ts +22 -0
  11. package/lib/cjs/attribution/constants.d.ts.map +1 -0
  12. package/lib/cjs/attribution/constants.js +44 -0
  13. package/lib/cjs/attribution/constants.js.map +1 -0
  14. package/lib/cjs/attribution/helpers.d.ts +12 -0
  15. package/lib/cjs/attribution/helpers.d.ts.map +1 -0
  16. package/lib/cjs/attribution/helpers.js +77 -0
  17. package/lib/cjs/attribution/helpers.js.map +1 -0
  18. package/lib/cjs/attribution/web-attribution.d.ts +25 -0
  19. package/lib/cjs/attribution/web-attribution.d.ts.map +1 -0
  20. package/lib/cjs/attribution/web-attribution.js +73 -0
  21. package/lib/cjs/attribution/web-attribution.js.map +1 -0
  22. package/lib/cjs/browser-client-factory.d.ts +1 -1
  23. package/lib/cjs/browser-client-factory.d.ts.map +1 -1
  24. package/lib/cjs/browser-client-factory.js.map +1 -1
  25. package/lib/cjs/browser-client.d.ts +7 -8
  26. package/lib/cjs/browser-client.d.ts.map +1 -1
  27. package/lib/cjs/browser-client.js +21 -21
  28. package/lib/cjs/browser-client.js.map +1 -1
  29. package/lib/cjs/config/joined-config.d.ts +6 -1
  30. package/lib/cjs/config/joined-config.d.ts.map +1 -1
  31. package/lib/cjs/config/joined-config.js +10 -10
  32. package/lib/cjs/config/joined-config.js.map +1 -1
  33. package/lib/cjs/config.d.ts +5 -7
  34. package/lib/cjs/config.d.ts.map +1 -1
  35. package/lib/cjs/config.js +14 -18
  36. package/lib/cjs/config.js.map +1 -1
  37. package/lib/cjs/constants.d.ts +13 -13
  38. package/lib/cjs/constants.d.ts.map +1 -1
  39. package/lib/cjs/constants.js.map +1 -1
  40. package/lib/cjs/cookie-migration/index.d.ts +1 -1
  41. package/lib/cjs/cookie-migration/index.d.ts.map +1 -1
  42. package/lib/cjs/cookie-migration/index.js +5 -9
  43. package/lib/cjs/cookie-migration/index.js.map +1 -1
  44. package/lib/cjs/default-tracking.d.ts +18 -0
  45. package/lib/cjs/default-tracking.d.ts.map +1 -0
  46. package/lib/cjs/default-tracking.js +108 -0
  47. package/lib/cjs/default-tracking.js.map +1 -0
  48. package/lib/cjs/det-notification.d.ts +1 -1
  49. package/lib/cjs/det-notification.d.ts.map +1 -1
  50. package/lib/cjs/det-notification.js.map +1 -1
  51. package/lib/cjs/gtm-snippet-index.js +3 -3
  52. package/lib/cjs/gtm-snippet-index.js.map +1 -1
  53. package/lib/cjs/index.d.ts +46 -5
  54. package/lib/cjs/index.d.ts.map +1 -1
  55. package/lib/cjs/index.js +11 -1
  56. package/lib/cjs/index.js.map +1 -1
  57. package/lib/cjs/plugins/context.d.ts +1 -1
  58. package/lib/cjs/plugins/context.d.ts.map +1 -1
  59. package/lib/cjs/plugins/context.js +2 -3
  60. package/lib/cjs/plugins/context.js.map +1 -1
  61. package/lib/cjs/plugins/file-download-tracking.d.ts +1 -1
  62. package/lib/cjs/plugins/file-download-tracking.d.ts.map +1 -1
  63. package/lib/cjs/plugins/file-download-tracking.js +2 -2
  64. package/lib/cjs/plugins/file-download-tracking.js.map +1 -1
  65. package/lib/cjs/plugins/form-interaction-tracking.d.ts +1 -1
  66. package/lib/cjs/plugins/form-interaction-tracking.d.ts.map +1 -1
  67. package/lib/cjs/plugins/form-interaction-tracking.js +2 -2
  68. package/lib/cjs/plugins/form-interaction-tracking.js.map +1 -1
  69. package/lib/cjs/plugins/network-connectivity-checker.d.ts +1 -1
  70. package/lib/cjs/plugins/network-connectivity-checker.d.ts.map +1 -1
  71. package/lib/cjs/plugins/network-connectivity-checker.js +2 -2
  72. package/lib/cjs/plugins/network-connectivity-checker.js.map +1 -1
  73. package/lib/cjs/snippet-index.js +3 -3
  74. package/lib/cjs/snippet-index.js.map +1 -1
  75. package/lib/cjs/storage/browser-storage.d.ts +1 -1
  76. package/lib/cjs/storage/browser-storage.d.ts.map +1 -1
  77. package/lib/cjs/storage/browser-storage.js +4 -4
  78. package/lib/cjs/storage/browser-storage.js.map +1 -1
  79. package/lib/cjs/storage/local-storage.d.ts +3 -3
  80. package/lib/cjs/storage/local-storage.d.ts.map +1 -1
  81. package/lib/cjs/storage/local-storage.js +4 -3
  82. package/lib/cjs/storage/local-storage.js.map +1 -1
  83. package/lib/cjs/storage/session-storage.js +2 -2
  84. package/lib/cjs/storage/session-storage.js.map +1 -1
  85. package/lib/cjs/transports/send-beacon.d.ts +1 -2
  86. package/lib/cjs/transports/send-beacon.d.ts.map +1 -1
  87. package/lib/cjs/transports/send-beacon.js +1 -2
  88. package/lib/cjs/transports/send-beacon.js.map +1 -1
  89. package/lib/cjs/transports/xhr.d.ts +1 -2
  90. package/lib/cjs/transports/xhr.d.ts.map +1 -1
  91. package/lib/cjs/transports/xhr.js +1 -1
  92. package/lib/cjs/transports/xhr.js.map +1 -1
  93. package/lib/cjs/utils/snippet-helper.d.ts +12 -1
  94. package/lib/cjs/utils/snippet-helper.d.ts.map +1 -1
  95. package/lib/cjs/utils/snippet-helper.js.map +1 -1
  96. package/lib/cjs/version.d.ts +1 -1
  97. package/lib/cjs/version.d.ts.map +1 -1
  98. package/lib/cjs/version.js +1 -1
  99. package/lib/cjs/version.js.map +1 -1
  100. package/lib/esm/attribution/campaign-parser.d.ts +8 -0
  101. package/lib/esm/attribution/campaign-parser.d.ts.map +1 -0
  102. package/lib/esm/attribution/campaign-parser.js +66 -0
  103. package/lib/esm/attribution/campaign-parser.js.map +1 -0
  104. package/lib/esm/attribution/campaign.d.ts +31 -0
  105. package/lib/esm/attribution/campaign.d.ts.map +1 -0
  106. package/lib/esm/attribution/campaign.js +2 -0
  107. package/lib/esm/attribution/campaign.js.map +1 -0
  108. package/lib/esm/attribution/constants.d.ts +22 -0
  109. package/lib/esm/attribution/constants.d.ts.map +1 -0
  110. package/lib/esm/attribution/constants.js +41 -0
  111. package/lib/esm/attribution/constants.js.map +1 -0
  112. package/lib/esm/attribution/helpers.d.ts +12 -0
  113. package/lib/esm/attribution/helpers.d.ts.map +1 -0
  114. package/lib/esm/attribution/helpers.js +70 -0
  115. package/lib/esm/attribution/helpers.js.map +1 -0
  116. package/lib/esm/attribution/web-attribution.d.ts +25 -0
  117. package/lib/esm/attribution/web-attribution.d.ts.map +1 -0
  118. package/lib/esm/attribution/web-attribution.js +70 -0
  119. package/lib/esm/attribution/web-attribution.js.map +1 -0
  120. package/lib/esm/browser-client-factory.d.ts +1 -1
  121. package/lib/esm/browser-client-factory.d.ts.map +1 -1
  122. package/lib/esm/browser-client-factory.js.map +1 -1
  123. package/lib/esm/browser-client.d.ts +7 -8
  124. package/lib/esm/browser-client.d.ts.map +1 -1
  125. package/lib/esm/browser-client.js +4 -4
  126. package/lib/esm/browser-client.js.map +1 -1
  127. package/lib/esm/config/joined-config.d.ts +6 -1
  128. package/lib/esm/config/joined-config.d.ts.map +1 -1
  129. package/lib/esm/config/joined-config.js +10 -10
  130. package/lib/esm/config/joined-config.js.map +1 -1
  131. package/lib/esm/config.d.ts +5 -7
  132. package/lib/esm/config.d.ts.map +1 -1
  133. package/lib/esm/config.js +7 -11
  134. package/lib/esm/config.js.map +1 -1
  135. package/lib/esm/constants.d.ts +13 -13
  136. package/lib/esm/constants.d.ts.map +1 -1
  137. package/lib/esm/constants.js.map +1 -1
  138. package/lib/esm/cookie-migration/index.d.ts +1 -1
  139. package/lib/esm/cookie-migration/index.d.ts.map +1 -1
  140. package/lib/esm/cookie-migration/index.js +5 -9
  141. package/lib/esm/cookie-migration/index.js.map +1 -1
  142. package/lib/esm/default-tracking.d.ts +18 -0
  143. package/lib/esm/default-tracking.d.ts.map +1 -0
  144. package/lib/esm/default-tracking.js +96 -0
  145. package/lib/esm/default-tracking.js.map +1 -0
  146. package/lib/esm/det-notification.d.ts +1 -1
  147. package/lib/esm/det-notification.d.ts.map +1 -1
  148. package/lib/esm/det-notification.js.map +1 -1
  149. package/lib/esm/gtm-snippet-index.js +1 -1
  150. package/lib/esm/gtm-snippet-index.js.map +1 -1
  151. package/lib/esm/index.d.ts +46 -5
  152. package/lib/esm/index.d.ts.map +1 -1
  153. package/lib/esm/index.js +11 -2
  154. package/lib/esm/index.js.map +1 -1
  155. package/lib/esm/plugins/context.d.ts +1 -1
  156. package/lib/esm/plugins/context.d.ts.map +1 -1
  157. package/lib/esm/plugins/context.js +2 -3
  158. package/lib/esm/plugins/context.js.map +1 -1
  159. package/lib/esm/plugins/file-download-tracking.d.ts +1 -1
  160. package/lib/esm/plugins/file-download-tracking.d.ts.map +1 -1
  161. package/lib/esm/plugins/file-download-tracking.js +1 -1
  162. package/lib/esm/plugins/file-download-tracking.js.map +1 -1
  163. package/lib/esm/plugins/form-interaction-tracking.d.ts +1 -1
  164. package/lib/esm/plugins/form-interaction-tracking.d.ts.map +1 -1
  165. package/lib/esm/plugins/form-interaction-tracking.js +1 -1
  166. package/lib/esm/plugins/form-interaction-tracking.js.map +1 -1
  167. package/lib/esm/plugins/network-connectivity-checker.d.ts +1 -1
  168. package/lib/esm/plugins/network-connectivity-checker.d.ts.map +1 -1
  169. package/lib/esm/plugins/network-connectivity-checker.js +1 -1
  170. package/lib/esm/plugins/network-connectivity-checker.js.map +1 -1
  171. package/lib/esm/snippet-index.js +1 -1
  172. package/lib/esm/snippet-index.js.map +1 -1
  173. package/lib/esm/storage/browser-storage.d.ts +1 -1
  174. package/lib/esm/storage/browser-storage.d.ts.map +1 -1
  175. package/lib/esm/storage/browser-storage.js +4 -4
  176. package/lib/esm/storage/browser-storage.js.map +1 -1
  177. package/lib/esm/storage/local-storage.d.ts +3 -3
  178. package/lib/esm/storage/local-storage.d.ts.map +1 -1
  179. package/lib/esm/storage/local-storage.js +4 -3
  180. package/lib/esm/storage/local-storage.js.map +1 -1
  181. package/lib/esm/storage/session-storage.js +1 -1
  182. package/lib/esm/storage/session-storage.js.map +1 -1
  183. package/lib/esm/transports/send-beacon.d.ts +1 -2
  184. package/lib/esm/transports/send-beacon.d.ts.map +1 -1
  185. package/lib/esm/transports/send-beacon.js +1 -2
  186. package/lib/esm/transports/send-beacon.js.map +1 -1
  187. package/lib/esm/transports/xhr.d.ts +1 -2
  188. package/lib/esm/transports/xhr.d.ts.map +1 -1
  189. package/lib/esm/transports/xhr.js +2 -2
  190. package/lib/esm/transports/xhr.js.map +1 -1
  191. package/lib/esm/utils/snippet-helper.d.ts +12 -1
  192. package/lib/esm/utils/snippet-helper.d.ts.map +1 -1
  193. package/lib/esm/utils/snippet-helper.js.map +1 -1
  194. package/lib/esm/version.d.ts +1 -1
  195. package/lib/esm/version.d.ts.map +1 -1
  196. package/lib/esm/version.js +1 -1
  197. package/lib/esm/version.js.map +1 -1
  198. package/lib/scripts/amplitude-bookmarklet-snippet-min.js +1 -1
  199. package/lib/scripts/amplitude-bookmarklet.html +1 -1
  200. package/lib/scripts/amplitude-gtm-min.js +1 -1
  201. package/lib/scripts/amplitude-gtm-min.js.gz +0 -0
  202. package/lib/scripts/amplitude-gtm-min.js.map +1 -1
  203. package/lib/scripts/amplitude-gtm-snippet-min.js +1 -1
  204. package/lib/scripts/amplitude-min.js +1 -1
  205. package/lib/scripts/amplitude-min.js.gz +0 -0
  206. package/lib/scripts/amplitude-min.js.map +1 -1
  207. package/lib/scripts/amplitude-min.umd.js +1 -1
  208. package/lib/scripts/amplitude-min.umd.js.gz +0 -0
  209. package/lib/scripts/amplitude-snippet-instructions.html +1 -1
  210. package/lib/scripts/amplitude-snippet-min.js +1 -1
  211. package/lib/scripts/attribution/campaign-parser.d.ts +8 -0
  212. package/lib/scripts/attribution/campaign-parser.d.ts.map +1 -0
  213. package/lib/scripts/attribution/campaign.d.ts +31 -0
  214. package/lib/scripts/attribution/campaign.d.ts.map +1 -0
  215. package/lib/scripts/attribution/constants.d.ts +22 -0
  216. package/lib/scripts/attribution/constants.d.ts.map +1 -0
  217. package/lib/scripts/attribution/helpers.d.ts +12 -0
  218. package/lib/scripts/attribution/helpers.d.ts.map +1 -0
  219. package/lib/scripts/attribution/web-attribution.d.ts +25 -0
  220. package/lib/scripts/attribution/web-attribution.d.ts.map +1 -0
  221. package/lib/scripts/browser-client-factory.d.ts +1 -1
  222. package/lib/scripts/browser-client-factory.d.ts.map +1 -1
  223. package/lib/scripts/browser-client.d.ts +7 -8
  224. package/lib/scripts/browser-client.d.ts.map +1 -1
  225. package/lib/scripts/config/joined-config.d.ts +6 -1
  226. package/lib/scripts/config/joined-config.d.ts.map +1 -1
  227. package/lib/scripts/config.d.ts +2 -4
  228. package/lib/scripts/config.d.ts.map +1 -1
  229. package/lib/scripts/constants.d.ts +1 -1
  230. package/lib/scripts/constants.d.ts.map +1 -1
  231. package/lib/scripts/cookie-migration/index.d.ts +1 -1
  232. package/lib/scripts/cookie-migration/index.d.ts.map +1 -1
  233. package/lib/scripts/default-tracking.d.ts +18 -0
  234. package/lib/scripts/default-tracking.d.ts.map +1 -0
  235. package/lib/scripts/det-notification.d.ts +1 -1
  236. package/lib/scripts/det-notification.d.ts.map +1 -1
  237. package/lib/scripts/index.d.ts +46 -5
  238. package/lib/scripts/index.d.ts.map +1 -1
  239. package/lib/scripts/plugins/context.d.ts +1 -1
  240. package/lib/scripts/plugins/context.d.ts.map +1 -1
  241. package/lib/scripts/plugins/file-download-tracking.d.ts +1 -1
  242. package/lib/scripts/plugins/file-download-tracking.d.ts.map +1 -1
  243. package/lib/scripts/plugins/form-interaction-tracking.d.ts +1 -1
  244. package/lib/scripts/plugins/form-interaction-tracking.d.ts.map +1 -1
  245. package/lib/scripts/plugins/network-connectivity-checker.d.ts +1 -1
  246. package/lib/scripts/plugins/network-connectivity-checker.d.ts.map +1 -1
  247. package/lib/scripts/storage/browser-storage.d.ts +1 -1
  248. package/lib/scripts/storage/browser-storage.d.ts.map +1 -1
  249. package/lib/scripts/storage/local-storage.d.ts +3 -3
  250. package/lib/scripts/storage/local-storage.d.ts.map +1 -1
  251. package/lib/scripts/transports/send-beacon.d.ts +1 -2
  252. package/lib/scripts/transports/send-beacon.d.ts.map +1 -1
  253. package/lib/scripts/transports/xhr.d.ts +1 -2
  254. package/lib/scripts/transports/xhr.d.ts.map +1 -1
  255. package/lib/scripts/utils/snippet-helper.d.ts +12 -1
  256. package/lib/scripts/utils/snippet-helper.d.ts.map +1 -1
  257. package/lib/scripts/version.d.ts +1 -1
  258. package/lib/scripts/version.d.ts.map +1 -1
  259. package/package.json +5 -7
@@ -0,0 +1,8 @@
1
+ import { Campaign, CampaignParser as ICampaignParser, ClickIdParameters, ReferrerParameters, UTMParameters } from './campaign';
2
+ export declare class CampaignParser implements ICampaignParser {
3
+ parse(): Promise<Campaign>;
4
+ getUtmParam(): UTMParameters;
5
+ getReferrer(): ReferrerParameters;
6
+ getClickIds(): ClickIdParameters;
7
+ }
8
+ //# sourceMappingURL=campaign-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"campaign-parser.d.ts","sourceRoot":"","sources":["../../../src/attribution/campaign-parser.ts"],"names":[],"mappings":"AAqBA,OAAO,EACL,QAAQ,EACR,cAAc,IAAI,eAAe,EACjC,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACd,MAAM,YAAY,CAAC;AAEpB,qBAAa,cAAe,YAAW,eAAe;IAC9C,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC;IAShC,WAAW,IAAI,aAAa;IAoB5B,WAAW,IAAI,kBAAkB;IAcjC,WAAW,IAAI,iBAAiB;CAgBjC"}
@@ -0,0 +1,66 @@
1
+ import { __assign, __awaiter, __generator } from "tslib";
2
+ import { getQueryParams } from '@amplitude/analytics-core';
3
+ import { UTM_CAMPAIGN, UTM_CONTENT, UTM_MEDIUM, UTM_SOURCE, UTM_TERM, GCLID, FBCLID, BASE_CAMPAIGN, DCLID, MSCLKID, RDT_CID, TWCLID, TTCLID, KO_CLICK_ID, LI_FAT_ID, GBRAID, WBRAID, UTM_ID, } from './constants';
4
+ var CampaignParser = /** @class */ (function () {
5
+ function CampaignParser() {
6
+ }
7
+ CampaignParser.prototype.parse = function () {
8
+ return __awaiter(this, void 0, void 0, function () {
9
+ return __generator(this, function (_a) {
10
+ return [2 /*return*/, __assign(__assign(__assign(__assign({}, BASE_CAMPAIGN), this.getUtmParam()), this.getReferrer()), this.getClickIds())];
11
+ });
12
+ });
13
+ };
14
+ CampaignParser.prototype.getUtmParam = function () {
15
+ var params = getQueryParams();
16
+ var utmCampaign = params[UTM_CAMPAIGN];
17
+ var utmContent = params[UTM_CONTENT];
18
+ var utmId = params[UTM_ID];
19
+ var utmMedium = params[UTM_MEDIUM];
20
+ var utmSource = params[UTM_SOURCE];
21
+ var utmTerm = params[UTM_TERM];
22
+ return {
23
+ utm_campaign: utmCampaign,
24
+ utm_content: utmContent,
25
+ utm_id: utmId,
26
+ utm_medium: utmMedium,
27
+ utm_source: utmSource,
28
+ utm_term: utmTerm,
29
+ };
30
+ };
31
+ CampaignParser.prototype.getReferrer = function () {
32
+ var _a, _b;
33
+ var data = {
34
+ referrer: undefined,
35
+ referring_domain: undefined,
36
+ };
37
+ try {
38
+ data.referrer = document.referrer || undefined;
39
+ data.referring_domain = (_b = (_a = data.referrer) === null || _a === void 0 ? void 0 : _a.split('/')[2]) !== null && _b !== void 0 ? _b : undefined;
40
+ }
41
+ catch (_c) {
42
+ // nothing to track
43
+ }
44
+ return data;
45
+ };
46
+ CampaignParser.prototype.getClickIds = function () {
47
+ var _a;
48
+ var params = getQueryParams();
49
+ return _a = {},
50
+ _a[DCLID] = params[DCLID],
51
+ _a[FBCLID] = params[FBCLID],
52
+ _a[GBRAID] = params[GBRAID],
53
+ _a[GCLID] = params[GCLID],
54
+ _a[KO_CLICK_ID] = params[KO_CLICK_ID],
55
+ _a[LI_FAT_ID] = params[LI_FAT_ID],
56
+ _a[MSCLKID] = params[MSCLKID],
57
+ _a[RDT_CID] = params[RDT_CID],
58
+ _a[TTCLID] = params[TTCLID],
59
+ _a[TWCLID] = params[TWCLID],
60
+ _a[WBRAID] = params[WBRAID],
61
+ _a;
62
+ };
63
+ return CampaignParser;
64
+ }());
65
+ export { CampaignParser };
66
+ //# sourceMappingURL=campaign-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"campaign-parser.js","sourceRoot":"","sources":["../../../src/attribution/campaign-parser.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EACL,YAAY,EACZ,WAAW,EACX,UAAU,EACV,UAAU,EACV,QAAQ,EACR,KAAK,EACL,MAAM,EACN,aAAa,EACb,KAAK,EACL,OAAO,EACP,OAAO,EACP,MAAM,EACN,MAAM,EACN,WAAW,EACX,SAAS,EACT,MAAM,EACN,MAAM,EACN,MAAM,GACP,MAAM,aAAa,CAAC;AASrB;IAAA;IA4DA,CAAC;IA3DO,8BAAK,GAAX;;;gBACE,sBAAO,wCACF,aAAa,GACb,IAAI,CAAC,WAAW,EAAE,GAClB,IAAI,CAAC,WAAW,EAAE,GAClB,IAAI,CAAC,WAAW,EAAE,CACV,EAAC;;;KACf;IAED,oCAAW,GAAX;QACE,IAAM,MAAM,GAAG,cAAc,EAAE,CAAC;QAEhC,IAAM,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;QACzC,IAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;QACvC,IAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7B,IAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QACrC,IAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QACrC,IAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEjC,OAAO;YACL,YAAY,EAAE,WAAW;YACzB,WAAW,EAAE,UAAU;YACvB,MAAM,EAAE,KAAK;YACb,UAAU,EAAE,SAAS;YACrB,UAAU,EAAE,SAAS;YACrB,QAAQ,EAAE,OAAO;SAClB,CAAC;IACJ,CAAC;IAED,oCAAW,GAAX;;QACE,IAAM,IAAI,GAAuB;YAC/B,QAAQ,EAAE,SAAS;YACnB,gBAAgB,EAAE,SAAS;SAC5B,CAAC;QACF,IAAI;YACF,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,SAAS,CAAC;YAC/C,IAAI,CAAC,gBAAgB,GAAG,MAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,mCAAI,SAAS,CAAC;SACnE;QAAC,WAAM;YACN,mBAAmB;SACpB;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oCAAW,GAAX;;QACE,IAAM,MAAM,GAAG,cAAc,EAAE,CAAC;QAChC;YACE,GAAC,KAAK,IAAG,MAAM,CAAC,KAAK,CAAC;YACtB,GAAC,MAAM,IAAG,MAAM,CAAC,MAAM,CAAC;YACxB,GAAC,MAAM,IAAG,MAAM,CAAC,MAAM,CAAC;YACxB,GAAC,KAAK,IAAG,MAAM,CAAC,KAAK,CAAC;YACtB,GAAC,WAAW,IAAG,MAAM,CAAC,WAAW,CAAC;YAClC,GAAC,SAAS,IAAG,MAAM,CAAC,SAAS,CAAC;YAC9B,GAAC,OAAO,IAAG,MAAM,CAAC,OAAO,CAAC;YAC1B,GAAC,OAAO,IAAG,MAAM,CAAC,OAAO,CAAC;YAC1B,GAAC,MAAM,IAAG,MAAM,CAAC,MAAM,CAAC;YACxB,GAAC,MAAM,IAAG,MAAM,CAAC,MAAM,CAAC;YACxB,GAAC,MAAM,IAAG,MAAM,CAAC,MAAM,CAAC;eACxB;IACJ,CAAC;IACH,qBAAC;AAAD,CAAC,AA5DD,IA4DC","sourcesContent":["import { getQueryParams } from '@amplitude/analytics-core';\nimport {\n UTM_CAMPAIGN,\n UTM_CONTENT,\n UTM_MEDIUM,\n UTM_SOURCE,\n UTM_TERM,\n GCLID,\n FBCLID,\n BASE_CAMPAIGN,\n DCLID,\n MSCLKID,\n RDT_CID,\n TWCLID,\n TTCLID,\n KO_CLICK_ID,\n LI_FAT_ID,\n GBRAID,\n WBRAID,\n UTM_ID,\n} from './constants';\nimport {\n Campaign,\n CampaignParser as ICampaignParser,\n ClickIdParameters,\n ReferrerParameters,\n UTMParameters,\n} from './campaign';\n\nexport class CampaignParser implements ICampaignParser {\n async parse(): Promise<Campaign> {\n return {\n ...BASE_CAMPAIGN,\n ...this.getUtmParam(),\n ...this.getReferrer(),\n ...this.getClickIds(),\n } as Campaign;\n }\n\n getUtmParam(): UTMParameters {\n const params = getQueryParams();\n\n const utmCampaign = params[UTM_CAMPAIGN];\n const utmContent = params[UTM_CONTENT];\n const utmId = params[UTM_ID];\n const utmMedium = params[UTM_MEDIUM];\n const utmSource = params[UTM_SOURCE];\n const utmTerm = params[UTM_TERM];\n\n return {\n utm_campaign: utmCampaign,\n utm_content: utmContent,\n utm_id: utmId,\n utm_medium: utmMedium,\n utm_source: utmSource,\n utm_term: utmTerm,\n };\n }\n\n getReferrer(): ReferrerParameters {\n const data: ReferrerParameters = {\n referrer: undefined,\n referring_domain: undefined,\n };\n try {\n data.referrer = document.referrer || undefined;\n data.referring_domain = data.referrer?.split('/')[2] ?? undefined;\n } catch {\n // nothing to track\n }\n return data;\n }\n\n getClickIds(): ClickIdParameters {\n const params = getQueryParams();\n return {\n [DCLID]: params[DCLID],\n [FBCLID]: params[FBCLID],\n [GBRAID]: params[GBRAID],\n [GCLID]: params[GCLID],\n [KO_CLICK_ID]: params[KO_CLICK_ID],\n [LI_FAT_ID]: params[LI_FAT_ID],\n [MSCLKID]: params[MSCLKID],\n [RDT_CID]: params[RDT_CID],\n [TTCLID]: params[TTCLID],\n [TWCLID]: params[TWCLID],\n [WBRAID]: params[WBRAID],\n };\n }\n}\n"]}
@@ -0,0 +1,31 @@
1
+ export interface Campaign extends Record<string, string | undefined>, UTMParameters, ReferrerParameters, ClickIdParameters {
2
+ }
3
+ export interface CampaignParser {
4
+ parse(): Promise<Campaign>;
5
+ }
6
+ export interface UTMParameters {
7
+ utm_campaign: string | undefined;
8
+ utm_content: string | undefined;
9
+ utm_id: string | undefined;
10
+ utm_medium: string | undefined;
11
+ utm_source: string | undefined;
12
+ utm_term: string | undefined;
13
+ }
14
+ export interface ReferrerParameters {
15
+ referrer: string | undefined;
16
+ referring_domain: string | undefined;
17
+ }
18
+ export interface ClickIdParameters {
19
+ dclid: string | undefined;
20
+ fbclid: string | undefined;
21
+ gbraid: string | undefined;
22
+ gclid: string | undefined;
23
+ ko_click_id: string | undefined;
24
+ li_fat_id: string | undefined;
25
+ msclkid: string | undefined;
26
+ rtd_cid: string | undefined;
27
+ ttclid: string | undefined;
28
+ twclid: string | undefined;
29
+ wbraid: string | undefined;
30
+ }
31
+ //# sourceMappingURL=campaign.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"campaign.d.ts","sourceRoot":"","sources":["../../../src/attribution/campaign.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QACf,SAAQ,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EACxC,aAAa,EACb,kBAAkB,EAClB,iBAAiB;CAAG;AAExB,MAAM,WAAW,cAAc;IAC7B,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=campaign.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"campaign.js","sourceRoot":"","sources":["../../../src/attribution/campaign.ts"],"names":[],"mappings":"","sourcesContent":["export interface Campaign\n extends Record<string, string | undefined>,\n UTMParameters,\n ReferrerParameters,\n ClickIdParameters {}\n\nexport interface CampaignParser {\n parse(): Promise<Campaign>;\n}\n\nexport interface UTMParameters {\n utm_campaign: string | undefined;\n utm_content: string | undefined;\n utm_id: string | undefined;\n utm_medium: string | undefined;\n utm_source: string | undefined;\n utm_term: string | undefined;\n}\n\nexport interface ReferrerParameters {\n referrer: string | undefined;\n referring_domain: string | undefined;\n}\n\nexport interface ClickIdParameters {\n dclid: string | undefined;\n fbclid: string | undefined;\n gbraid: string | undefined;\n gclid: string | undefined;\n ko_click_id: string | undefined;\n li_fat_id: string | undefined;\n msclkid: string | undefined;\n rtd_cid: string | undefined;\n ttclid: string | undefined;\n twclid: string | undefined;\n wbraid: string | undefined;\n}\n"]}
@@ -0,0 +1,22 @@
1
+ import { Campaign } from './campaign';
2
+ export declare const UTM_CAMPAIGN = "utm_campaign";
3
+ export declare const UTM_CONTENT = "utm_content";
4
+ export declare const UTM_ID = "utm_id";
5
+ export declare const UTM_MEDIUM = "utm_medium";
6
+ export declare const UTM_SOURCE = "utm_source";
7
+ export declare const UTM_TERM = "utm_term";
8
+ export declare const DCLID = "dclid";
9
+ export declare const FBCLID = "fbclid";
10
+ export declare const GBRAID = "gbraid";
11
+ export declare const GCLID = "gclid";
12
+ export declare const KO_CLICK_ID = "ko_click_id";
13
+ export declare const LI_FAT_ID = "li_fat_id";
14
+ export declare const MSCLKID = "msclkid";
15
+ export declare const RDT_CID = "rtd_cid";
16
+ export declare const TTCLID = "ttclid";
17
+ export declare const TWCLID = "twclid";
18
+ export declare const WBRAID = "wbraid";
19
+ export declare const EMPTY_VALUE = "EMPTY";
20
+ export declare const BASE_CAMPAIGN: Campaign;
21
+ export declare const MKTG = "MKTG";
22
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/attribution/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAC3C,eAAO,MAAM,WAAW,gBAAgB,CAAC;AACzC,eAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,eAAO,MAAM,UAAU,eAAe,CAAC;AACvC,eAAO,MAAM,UAAU,eAAe,CAAC;AACvC,eAAO,MAAM,QAAQ,aAAa,CAAC;AAEnC,eAAO,MAAM,KAAK,UAAU,CAAC;AAC7B,eAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,eAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,eAAO,MAAM,KAAK,UAAU,CAAC;AAC7B,eAAO,MAAM,WAAW,gBAAgB,CAAC;AACzC,eAAO,MAAM,SAAS,cAAc,CAAC;AACrC,eAAO,MAAM,OAAO,YAAY,CAAC;AACjC,eAAO,MAAM,OAAO,YAAY,CAAC;AACjC,eAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,eAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,eAAO,MAAM,MAAM,WAAW,CAAC;AAE/B,eAAO,MAAM,WAAW,UAAU,CAAC;AAEnC,eAAO,MAAM,aAAa,EAAE,QAoB3B,CAAC;AAEF,eAAO,MAAM,IAAI,SAAS,CAAC"}
@@ -0,0 +1,41 @@
1
+ export var UTM_CAMPAIGN = 'utm_campaign';
2
+ export var UTM_CONTENT = 'utm_content';
3
+ export var UTM_ID = 'utm_id';
4
+ export var UTM_MEDIUM = 'utm_medium';
5
+ export var UTM_SOURCE = 'utm_source';
6
+ export var UTM_TERM = 'utm_term';
7
+ export var DCLID = 'dclid';
8
+ export var FBCLID = 'fbclid';
9
+ export var GBRAID = 'gbraid';
10
+ export var GCLID = 'gclid';
11
+ export var KO_CLICK_ID = 'ko_click_id';
12
+ export var LI_FAT_ID = 'li_fat_id';
13
+ export var MSCLKID = 'msclkid';
14
+ export var RDT_CID = 'rtd_cid';
15
+ export var TTCLID = 'ttclid';
16
+ export var TWCLID = 'twclid';
17
+ export var WBRAID = 'wbraid';
18
+ export var EMPTY_VALUE = 'EMPTY';
19
+ export var BASE_CAMPAIGN = {
20
+ utm_campaign: undefined,
21
+ utm_content: undefined,
22
+ utm_id: undefined,
23
+ utm_medium: undefined,
24
+ utm_source: undefined,
25
+ utm_term: undefined,
26
+ referrer: undefined,
27
+ referring_domain: undefined,
28
+ dclid: undefined,
29
+ gbraid: undefined,
30
+ gclid: undefined,
31
+ fbclid: undefined,
32
+ ko_click_id: undefined,
33
+ li_fat_id: undefined,
34
+ msclkid: undefined,
35
+ rtd_cid: undefined,
36
+ ttclid: undefined,
37
+ twclid: undefined,
38
+ wbraid: undefined,
39
+ };
40
+ export var MKTG = 'MKTG';
41
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/attribution/constants.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,IAAM,YAAY,GAAG,cAAc,CAAC;AAC3C,MAAM,CAAC,IAAM,WAAW,GAAG,aAAa,CAAC;AACzC,MAAM,CAAC,IAAM,MAAM,GAAG,QAAQ,CAAC;AAC/B,MAAM,CAAC,IAAM,UAAU,GAAG,YAAY,CAAC;AACvC,MAAM,CAAC,IAAM,UAAU,GAAG,YAAY,CAAC;AACvC,MAAM,CAAC,IAAM,QAAQ,GAAG,UAAU,CAAC;AAEnC,MAAM,CAAC,IAAM,KAAK,GAAG,OAAO,CAAC;AAC7B,MAAM,CAAC,IAAM,MAAM,GAAG,QAAQ,CAAC;AAC/B,MAAM,CAAC,IAAM,MAAM,GAAG,QAAQ,CAAC;AAC/B,MAAM,CAAC,IAAM,KAAK,GAAG,OAAO,CAAC;AAC7B,MAAM,CAAC,IAAM,WAAW,GAAG,aAAa,CAAC;AACzC,MAAM,CAAC,IAAM,SAAS,GAAG,WAAW,CAAC;AACrC,MAAM,CAAC,IAAM,OAAO,GAAG,SAAS,CAAC;AACjC,MAAM,CAAC,IAAM,OAAO,GAAG,SAAS,CAAC;AACjC,MAAM,CAAC,IAAM,MAAM,GAAG,QAAQ,CAAC;AAC/B,MAAM,CAAC,IAAM,MAAM,GAAG,QAAQ,CAAC;AAC/B,MAAM,CAAC,IAAM,MAAM,GAAG,QAAQ,CAAC;AAE/B,MAAM,CAAC,IAAM,WAAW,GAAG,OAAO,CAAC;AAEnC,MAAM,CAAC,IAAM,aAAa,GAAa;IACrC,YAAY,EAAE,SAAS;IACvB,WAAW,EAAE,SAAS;IACtB,MAAM,EAAE,SAAS;IACjB,UAAU,EAAE,SAAS;IACrB,UAAU,EAAE,SAAS;IACrB,QAAQ,EAAE,SAAS;IACnB,QAAQ,EAAE,SAAS;IACnB,gBAAgB,EAAE,SAAS;IAC3B,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE,SAAS;IACjB,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE,SAAS;IACjB,WAAW,EAAE,SAAS;IACtB,SAAS,EAAE,SAAS;IACpB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;CAClB,CAAC;AAEF,MAAM,CAAC,IAAM,IAAI,GAAG,MAAM,CAAC","sourcesContent":["import { Campaign } from './campaign';\n\nexport const UTM_CAMPAIGN = 'utm_campaign';\nexport const UTM_CONTENT = 'utm_content';\nexport const UTM_ID = 'utm_id';\nexport const UTM_MEDIUM = 'utm_medium';\nexport const UTM_SOURCE = 'utm_source';\nexport const UTM_TERM = 'utm_term';\n\nexport const DCLID = 'dclid';\nexport const FBCLID = 'fbclid';\nexport const GBRAID = 'gbraid';\nexport const GCLID = 'gclid';\nexport const KO_CLICK_ID = 'ko_click_id';\nexport const LI_FAT_ID = 'li_fat_id';\nexport const MSCLKID = 'msclkid';\nexport const RDT_CID = 'rtd_cid';\nexport const TTCLID = 'ttclid';\nexport const TWCLID = 'twclid';\nexport const WBRAID = 'wbraid';\n\nexport const EMPTY_VALUE = 'EMPTY';\n\nexport const BASE_CAMPAIGN: Campaign = {\n utm_campaign: undefined,\n utm_content: undefined,\n utm_id: undefined,\n utm_medium: undefined,\n utm_source: undefined,\n utm_term: undefined,\n referrer: undefined,\n referring_domain: undefined,\n dclid: undefined,\n gbraid: undefined,\n gclid: undefined,\n fbclid: undefined,\n ko_click_id: undefined,\n li_fat_id: undefined,\n msclkid: undefined,\n rtd_cid: undefined,\n ttclid: undefined,\n twclid: undefined,\n wbraid: undefined,\n};\n\nexport const MKTG = 'MKTG';\n"]}
@@ -0,0 +1,12 @@
1
+ import { ILogger } from '@amplitude/analytics-core';
2
+ import { Campaign } from './campaign';
3
+ export interface Options {
4
+ excludeReferrers?: (string | RegExp)[];
5
+ initialEmptyValue?: string;
6
+ resetSessionOnNewCampaign?: boolean;
7
+ }
8
+ export declare const isNewCampaign: (current: Campaign, previous: Campaign | undefined, options: Options, logger: ILogger, isNewSession?: boolean) => boolean;
9
+ export declare const isExcludedReferrer: (excludeReferrers?: (string | RegExp)[], referringDomain?: string) => boolean;
10
+ export declare const createCampaignEvent: (campaign: Campaign, options: Options) => import("@amplitude/analytics-core/lib/esm/types/event/event").IdentifyEvent;
11
+ export declare const getDefaultExcludedReferrers: (cookieDomain: string | undefined) => RegExp[];
12
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/attribution/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACnF,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,MAAM,WAAW,OAAO;IACtB,gBAAgB,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IACvC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC;AAiBD,eAAO,MAAM,aAAa,YACf,QAAQ,YACP,QAAQ,GAAG,SAAS,WACrB,OAAO,UACR,OAAO,oCA+BhB,CAAC;AAEF,eAAO,MAAM,kBAAkB,sBAAsB,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,sCAIvE,CAAC;AAEF,eAAO,MAAM,mBAAmB,aAAc,QAAQ,WAAW,OAAO,gFAgBvE,CAAC;AAEF,eAAO,MAAM,2BAA2B,iBAAkB,MAAM,GAAG,SAAS,aAS3E,CAAC"}
@@ -0,0 +1,70 @@
1
+ import { __assign, __read, __rest } from "tslib";
2
+ import { createIdentifyEvent, Identify } from '@amplitude/analytics-core';
3
+ import { BASE_CAMPAIGN } from './constants';
4
+ var domainWithoutSubdomain = function (domain) {
5
+ var parts = domain.split('.');
6
+ if (parts.length <= 2) {
7
+ return domain;
8
+ }
9
+ return parts.slice(parts.length - 2, parts.length).join('.');
10
+ };
11
+ //Direct traffic mean no external referral, no UTMs, no click-ids, and no other customer identified marketing campaign url params.
12
+ var isDirectTraffic = function (current) {
13
+ return Object.values(current).every(function (value) { return !value; });
14
+ };
15
+ export var isNewCampaign = function (current, previous, options, logger, isNewSession) {
16
+ if (isNewSession === void 0) { isNewSession = true; }
17
+ var referrer = current.referrer, referring_domain = current.referring_domain, currentCampaign = __rest(current, ["referrer", "referring_domain"]);
18
+ var _a = previous || {}, _previous_referrer = _a.referrer, prevReferringDomain = _a.referring_domain, previousCampaign = __rest(_a, ["referrer", "referring_domain"]);
19
+ if (isExcludedReferrer(options.excludeReferrers, current.referring_domain)) {
20
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
21
+ logger.debug("This is not a new campaign because ".concat(current.referring_domain, " is in the exclude referrer list."));
22
+ return false;
23
+ }
24
+ //In the same session, direct traffic should not override or unset any persisting query params
25
+ if (!isNewSession && isDirectTraffic(current) && previous) {
26
+ logger.debug('This is not a new campaign because this is a direct traffic in the same session.');
27
+ return false;
28
+ }
29
+ var hasNewCampaign = JSON.stringify(currentCampaign) !== JSON.stringify(previousCampaign);
30
+ var hasNewDomain = domainWithoutSubdomain(referring_domain || '') !== domainWithoutSubdomain(prevReferringDomain || '');
31
+ var result = !previous || hasNewCampaign || hasNewDomain;
32
+ if (!result) {
33
+ logger.debug("This is not a new campaign because it's the same as the previous one.");
34
+ }
35
+ else {
36
+ logger.debug("This is a new campaign. An $identify event will be sent.");
37
+ }
38
+ return result;
39
+ };
40
+ export var isExcludedReferrer = function (excludeReferrers, referringDomain) {
41
+ if (excludeReferrers === void 0) { excludeReferrers = []; }
42
+ if (referringDomain === void 0) { referringDomain = ''; }
43
+ return excludeReferrers.some(function (value) {
44
+ return value instanceof RegExp ? value.test(referringDomain) : value === referringDomain;
45
+ });
46
+ };
47
+ export var createCampaignEvent = function (campaign, options) {
48
+ var campaignParameters = __assign(__assign({}, BASE_CAMPAIGN), campaign);
49
+ var identifyEvent = Object.entries(campaignParameters).reduce(function (identify, _a) {
50
+ var _b;
51
+ var _c = __read(_a, 2), key = _c[0], value = _c[1];
52
+ identify.setOnce("initial_".concat(key), (_b = value !== null && value !== void 0 ? value : options.initialEmptyValue) !== null && _b !== void 0 ? _b : 'EMPTY');
53
+ if (value) {
54
+ return identify.set(key, value);
55
+ }
56
+ return identify.unset(key);
57
+ }, new Identify());
58
+ return createIdentifyEvent(identifyEvent);
59
+ };
60
+ export var getDefaultExcludedReferrers = function (cookieDomain) {
61
+ var domain = cookieDomain;
62
+ if (domain) {
63
+ if (domain.startsWith('.')) {
64
+ domain = domain.substring(1);
65
+ }
66
+ return [new RegExp("".concat(domain.replace('.', '\\.'), "$"))];
67
+ }
68
+ return [];
69
+ };
70
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/attribution/helpers.ts"],"names":[],"mappings":"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","sourcesContent":["import { createIdentifyEvent, Identify, ILogger } from '@amplitude/analytics-core';\nimport { Campaign } from './campaign';\nimport { BASE_CAMPAIGN } from './constants';\n\nexport interface Options {\n excludeReferrers?: (string | RegExp)[];\n initialEmptyValue?: string;\n resetSessionOnNewCampaign?: boolean;\n}\n\nconst domainWithoutSubdomain = (domain: string) => {\n const parts = domain.split('.');\n\n if (parts.length <= 2) {\n return domain;\n }\n\n return parts.slice(parts.length - 2, parts.length).join('.');\n};\n\n//Direct traffic mean no external referral, no UTMs, no click-ids, and no other customer identified marketing campaign url params.\nconst isDirectTraffic = (current: Campaign) => {\n return Object.values(current).every((value) => !value);\n};\n\nexport const isNewCampaign = (\n current: Campaign,\n previous: Campaign | undefined,\n options: Options,\n logger: ILogger,\n isNewSession = true,\n) => {\n const { referrer, referring_domain, ...currentCampaign } = current;\n const { referrer: _previous_referrer, referring_domain: prevReferringDomain, ...previousCampaign } = previous || {};\n\n if (isExcludedReferrer(options.excludeReferrers, current.referring_domain)) {\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n logger.debug(`This is not a new campaign because ${current.referring_domain} is in the exclude referrer list.`);\n return false;\n }\n\n //In the same session, direct traffic should not override or unset any persisting query params\n if (!isNewSession && isDirectTraffic(current) && previous) {\n logger.debug('This is not a new campaign because this is a direct traffic in the same session.');\n return false;\n }\n\n const hasNewCampaign = JSON.stringify(currentCampaign) !== JSON.stringify(previousCampaign);\n const hasNewDomain =\n domainWithoutSubdomain(referring_domain || '') !== domainWithoutSubdomain(prevReferringDomain || '');\n\n const result = !previous || hasNewCampaign || hasNewDomain;\n\n if (!result) {\n logger.debug(\"This is not a new campaign because it's the same as the previous one.\");\n } else {\n logger.debug(`This is a new campaign. An $identify event will be sent.`);\n }\n\n return result;\n};\n\nexport const isExcludedReferrer = (excludeReferrers: (string | RegExp)[] = [], referringDomain = '') => {\n return excludeReferrers.some((value) =>\n value instanceof RegExp ? value.test(referringDomain) : value === referringDomain,\n );\n};\n\nexport const createCampaignEvent = (campaign: Campaign, options: Options) => {\n const campaignParameters: Campaign = {\n // This object definition allows undefined keys to be iterated on\n // in .reduce() to build indentify object\n ...BASE_CAMPAIGN,\n ...campaign,\n };\n const identifyEvent = Object.entries(campaignParameters).reduce((identify, [key, value]) => {\n identify.setOnce(`initial_${key}`, value ?? options.initialEmptyValue ?? 'EMPTY');\n if (value) {\n return identify.set(key, value);\n }\n return identify.unset(key);\n }, new Identify());\n\n return createIdentifyEvent(identifyEvent);\n};\n\nexport const getDefaultExcludedReferrers = (cookieDomain: string | undefined) => {\n let domain = cookieDomain;\n if (domain) {\n if (domain.startsWith('.')) {\n domain = domain.substring(1);\n }\n return [new RegExp(`${domain.replace('.', '\\\\.')}$`)];\n }\n return [];\n};\n"]}
@@ -0,0 +1,25 @@
1
+ import { BrowserConfig, ILogger, Storage } from '@amplitude/analytics-core';
2
+ import { Campaign } from './campaign';
3
+ import { Options } from './helpers';
4
+ export declare class WebAttribution {
5
+ options: Options;
6
+ storage: Storage<Campaign>;
7
+ storageKey: string;
8
+ previousCampaign?: Campaign;
9
+ currentCampaign: Campaign;
10
+ shouldTrackNewCampaign: boolean;
11
+ sessionTimeout: number;
12
+ lastEventTime?: number;
13
+ logger: ILogger;
14
+ constructor(options: Options, config: BrowserConfig);
15
+ init(): Promise<void>;
16
+ fetchCampaign(): Promise<[Campaign, Campaign | undefined]>;
17
+ /**
18
+ * This can be called when enable web attribution and either
19
+ * 1. set a new session
20
+ * 2. has new campaign and enable resetSessionOnNewCampaign
21
+ */
22
+ generateCampaignEvent(event_id?: number): import("@amplitude/analytics-core/lib/esm/types/event/event").IdentifyEvent;
23
+ shouldSetSessionIdOnNewCampaign(): boolean;
24
+ }
25
+ //# sourceMappingURL=web-attribution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web-attribution.d.ts","sourceRoot":"","sources":["../../../src/attribution/web-attribution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAA+B,MAAM,2BAA2B,CAAC;AACzG,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,OAAO,EAAmE,MAAM,WAAW,CAAC;AAIrG,qBAAa,cAAc;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,QAAQ,CAAC;IAC5B,eAAe,EAAE,QAAQ,CAAC;IAC1B,sBAAsB,UAAS;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;gBAEJ,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa;IAgB7C,IAAI;IAUJ,aAAa;IAInB;;;;OAIG;IACH,qBAAqB,CAAC,QAAQ,CAAC,EAAE,MAAM;IAUvC,+BAA+B;CAGhC"}
@@ -0,0 +1,70 @@
1
+ import { __assign, __awaiter, __generator, __read } from "tslib";
2
+ import { getStorageKey, isNewSession } from '@amplitude/analytics-core';
3
+ import { getDefaultExcludedReferrers, createCampaignEvent, isNewCampaign } from './helpers';
4
+ import { CampaignParser } from './campaign-parser';
5
+ import { BASE_CAMPAIGN } from './constants';
6
+ var WebAttribution = /** @class */ (function () {
7
+ function WebAttribution(options, config) {
8
+ var _a;
9
+ this.shouldTrackNewCampaign = false;
10
+ this.options = __assign({ initialEmptyValue: 'EMPTY', resetSessionOnNewCampaign: false, excludeReferrers: getDefaultExcludedReferrers((_a = config.cookieOptions) === null || _a === void 0 ? void 0 : _a.domain) }, options);
11
+ this.storage = config.cookieStorage;
12
+ this.storageKey = getStorageKey(config.apiKey, 'MKTG');
13
+ this.currentCampaign = BASE_CAMPAIGN;
14
+ this.sessionTimeout = config.sessionTimeout;
15
+ this.lastEventTime = config.lastEventTime;
16
+ this.logger = config.loggerProvider;
17
+ config.loggerProvider.log('Installing web attribution tracking.');
18
+ }
19
+ WebAttribution.prototype.init = function () {
20
+ return __awaiter(this, void 0, void 0, function () {
21
+ var isEventInNewSession;
22
+ var _a;
23
+ return __generator(this, function (_b) {
24
+ switch (_b.label) {
25
+ case 0: return [4 /*yield*/, this.fetchCampaign()];
26
+ case 1:
27
+ _a = __read.apply(void 0, [_b.sent(), 2]), this.currentCampaign = _a[0], this.previousCampaign = _a[1];
28
+ isEventInNewSession = !this.lastEventTime ? true : isNewSession(this.sessionTimeout, this.lastEventTime);
29
+ if (!isNewCampaign(this.currentCampaign, this.previousCampaign, this.options, this.logger, isEventInNewSession)) return [3 /*break*/, 3];
30
+ this.shouldTrackNewCampaign = true;
31
+ return [4 /*yield*/, this.storage.set(this.storageKey, this.currentCampaign)];
32
+ case 2:
33
+ _b.sent();
34
+ _b.label = 3;
35
+ case 3: return [2 /*return*/];
36
+ }
37
+ });
38
+ });
39
+ };
40
+ WebAttribution.prototype.fetchCampaign = function () {
41
+ return __awaiter(this, void 0, void 0, function () {
42
+ return __generator(this, function (_a) {
43
+ switch (_a.label) {
44
+ case 0: return [4 /*yield*/, Promise.all([new CampaignParser().parse(), this.storage.get(this.storageKey)])];
45
+ case 1: return [2 /*return*/, _a.sent()];
46
+ }
47
+ });
48
+ });
49
+ };
50
+ /**
51
+ * This can be called when enable web attribution and either
52
+ * 1. set a new session
53
+ * 2. has new campaign and enable resetSessionOnNewCampaign
54
+ */
55
+ WebAttribution.prototype.generateCampaignEvent = function (event_id) {
56
+ // Mark this campaign has been tracked
57
+ this.shouldTrackNewCampaign = false;
58
+ var campaignEvent = createCampaignEvent(this.currentCampaign, this.options);
59
+ if (event_id) {
60
+ campaignEvent.event_id = event_id;
61
+ }
62
+ return campaignEvent;
63
+ };
64
+ WebAttribution.prototype.shouldSetSessionIdOnNewCampaign = function () {
65
+ return this.shouldTrackNewCampaign && !!this.options.resetSessionOnNewCampaign;
66
+ };
67
+ return WebAttribution;
68
+ }());
69
+ export { WebAttribution };
70
+ //# sourceMappingURL=web-attribution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web-attribution.js","sourceRoot":"","sources":["../../../src/attribution/web-attribution.ts"],"names":[],"mappings":";AAAA,OAAO,EAAmC,aAAa,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzG,OAAO,EAAW,2BAA2B,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACrG,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C;IAWE,wBAAY,OAAgB,EAAE,MAAqB;;QALnD,2BAAsB,GAAG,KAAK,CAAC;QAM7B,IAAI,CAAC,OAAO,cACV,iBAAiB,EAAE,OAAO,EAC1B,yBAAyB,EAAE,KAAK,EAChC,gBAAgB,EAAE,2BAA2B,CAAC,MAAA,MAAM,CAAC,aAAa,0CAAE,MAAM,CAAC,IACxE,OAAO,CACX,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,aAA6C,CAAC;QACpE,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACvD,IAAI,CAAC,eAAe,GAAG,aAAa,CAAC;QACrC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAC5C,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAC1C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC;QACpC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;IACpE,CAAC;IAEK,6BAAI,GAAV;;;;;;4BACkD,qBAAM,IAAI,CAAC,aAAa,EAAE,EAAA;;wBAA1E,KAAA,sBAAgD,SAA0B,KAAA,EAAzE,IAAI,CAAC,eAAe,QAAA,EAAE,IAAI,CAAC,gBAAgB,QAAA,CAA+B;wBACrE,mBAAmB,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;6BAE3G,aAAa,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,mBAAmB,CAAC,EAA1G,wBAA0G;wBAC5G,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;wBACnC,qBAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,EAAA;;wBAA7D,SAA6D,CAAC;;;;;;KAEjE;IAEK,sCAAa,GAAnB;;;;4BACS,qBAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAA;4BAA3F,sBAAO,SAAoF,EAAC;;;;KAC7F;IAED;;;;OAIG;IACH,8CAAqB,GAArB,UAAsB,QAAiB;QACrC,sCAAsC;QACtC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;QACpC,IAAM,aAAa,GAAG,mBAAmB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9E,IAAI,QAAQ,EAAE;YACZ,aAAa,CAAC,QAAQ,GAAG,QAAQ,CAAC;SACnC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,wDAA+B,GAA/B;QACE,OAAO,IAAI,CAAC,sBAAsB,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC;IACjF,CAAC;IACH,qBAAC;AAAD,CAAC,AA3DD,IA2DC","sourcesContent":["import { BrowserConfig, ILogger, Storage, getStorageKey, isNewSession } from '@amplitude/analytics-core';\nimport { Campaign } from './campaign';\nimport { Options, getDefaultExcludedReferrers, createCampaignEvent, isNewCampaign } from './helpers';\nimport { CampaignParser } from './campaign-parser';\nimport { BASE_CAMPAIGN } from './constants';\n\nexport class WebAttribution {\n options: Options;\n storage: Storage<Campaign>;\n storageKey: string;\n previousCampaign?: Campaign;\n currentCampaign: Campaign;\n shouldTrackNewCampaign = false;\n sessionTimeout: number;\n lastEventTime?: number;\n logger: ILogger;\n\n constructor(options: Options, config: BrowserConfig) {\n this.options = {\n initialEmptyValue: 'EMPTY',\n resetSessionOnNewCampaign: false,\n excludeReferrers: getDefaultExcludedReferrers(config.cookieOptions?.domain),\n ...options,\n };\n this.storage = config.cookieStorage as unknown as Storage<Campaign>;\n this.storageKey = getStorageKey(config.apiKey, 'MKTG');\n this.currentCampaign = BASE_CAMPAIGN;\n this.sessionTimeout = config.sessionTimeout;\n this.lastEventTime = config.lastEventTime;\n this.logger = config.loggerProvider;\n config.loggerProvider.log('Installing web attribution tracking.');\n }\n\n async init() {\n [this.currentCampaign, this.previousCampaign] = await this.fetchCampaign();\n const isEventInNewSession = !this.lastEventTime ? true : isNewSession(this.sessionTimeout, this.lastEventTime);\n\n if (isNewCampaign(this.currentCampaign, this.previousCampaign, this.options, this.logger, isEventInNewSession)) {\n this.shouldTrackNewCampaign = true;\n await this.storage.set(this.storageKey, this.currentCampaign);\n }\n }\n\n async fetchCampaign() {\n return await Promise.all([new CampaignParser().parse(), this.storage.get(this.storageKey)]);\n }\n\n /**\n * This can be called when enable web attribution and either\n * 1. set a new session\n * 2. has new campaign and enable resetSessionOnNewCampaign\n */\n generateCampaignEvent(event_id?: number) {\n // Mark this campaign has been tracked\n this.shouldTrackNewCampaign = false;\n const campaignEvent = createCampaignEvent(this.currentCampaign, this.options);\n if (event_id) {\n campaignEvent.event_id = event_id;\n }\n return campaignEvent;\n }\n\n shouldSetSessionIdOnNewCampaign() {\n return this.shouldTrackNewCampaign && !!this.options.resetSessionOnNewCampaign;\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { BrowserClient } from '@amplitude/analytics-types';
1
+ import { BrowserClient } from '@amplitude/analytics-core';
2
2
  export declare const createInstance: () => BrowserClient;
3
3
  declare const _default: BrowserClient;
4
4
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"browser-client-factory.d.ts","sourceRoot":"","sources":["../../src/browser-client-factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAG3D,eAAO,MAAM,cAAc,QAAO,aA4HjC,CAAC;;AAEF,wBAAgC"}
1
+ {"version":3,"file":"browser-client-factory.d.ts","sourceRoot":"","sources":["../../src/browser-client-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqD,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAG7G,eAAO,MAAM,cAAc,QAAO,aA4HjC,CAAC;;AAEF,wBAAgC"}
@@ -1 +1 @@
1
- {"version":3,"file":"browser-client-factory.js","sourceRoot":"","sources":["../../src/browser-client-factory.ts"],"names":[],"mappings":"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","sourcesContent":["import { debugWrapper, getClientLogConfig, getClientStates } from '@amplitude/analytics-core';\nimport { BrowserClient } from '@amplitude/analytics-types';\nimport { AmplitudeBrowser } from './browser-client';\n\nexport const createInstance = (): BrowserClient => {\n const client = new AmplitudeBrowser();\n return {\n init: debugWrapper(\n client.init.bind(client),\n 'init',\n getClientLogConfig(client),\n getClientStates(client, ['config']),\n ),\n add: debugWrapper(\n client.add.bind(client),\n 'add',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.plugins']),\n ),\n remove: debugWrapper(\n client.remove.bind(client),\n 'remove',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.plugins']),\n ),\n track: debugWrapper(\n client.track.bind(client),\n 'track',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n logEvent: debugWrapper(\n client.logEvent.bind(client),\n 'logEvent',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n identify: debugWrapper(\n client.identify.bind(client),\n 'identify',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n groupIdentify: debugWrapper(\n client.groupIdentify.bind(client),\n 'groupIdentify',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n setGroup: debugWrapper(\n client.setGroup.bind(client),\n 'setGroup',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n revenue: debugWrapper(\n client.revenue.bind(client),\n 'revenue',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n flush: debugWrapper(\n client.flush.bind(client),\n 'flush',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n getUserId: debugWrapper(\n client.getUserId.bind(client),\n 'getUserId',\n getClientLogConfig(client),\n getClientStates(client, ['config', 'config.userId']),\n ),\n setUserId: debugWrapper(\n client.setUserId.bind(client),\n 'setUserId',\n getClientLogConfig(client),\n getClientStates(client, ['config', 'config.userId']),\n ),\n getDeviceId: debugWrapper(\n client.getDeviceId.bind(client),\n 'getDeviceId',\n getClientLogConfig(client),\n getClientStates(client, ['config', 'config.deviceId']),\n ),\n setDeviceId: debugWrapper(\n client.setDeviceId.bind(client),\n 'setDeviceId',\n getClientLogConfig(client),\n getClientStates(client, ['config', 'config.deviceId']),\n ),\n reset: debugWrapper(\n client.reset.bind(client),\n 'reset',\n getClientLogConfig(client),\n getClientStates(client, ['config', 'config.userId', 'config.deviceId']),\n ),\n getSessionId: debugWrapper(\n client.getSessionId.bind(client),\n 'getSessionId',\n getClientLogConfig(client),\n getClientStates(client, ['config']),\n ),\n setSessionId: debugWrapper(\n client.setSessionId.bind(client),\n 'setSessionId',\n getClientLogConfig(client),\n getClientStates(client, ['config']),\n ),\n extendSession: debugWrapper(\n client.extendSession.bind(client),\n 'extendSession',\n getClientLogConfig(client),\n getClientStates(client, ['config']),\n ),\n setOptOut: debugWrapper(\n client.setOptOut.bind(client),\n 'setOptOut',\n getClientLogConfig(client),\n getClientStates(client, ['config']),\n ),\n setTransport: debugWrapper(\n client.setTransport.bind(client),\n 'setTransport',\n getClientLogConfig(client),\n getClientStates(client, ['config']),\n ),\n };\n};\n\nexport default createInstance();\n"]}
1
+ {"version":3,"file":"browser-client-factory.js","sourceRoot":"","sources":["../../src/browser-client-factory.ts"],"names":[],"mappings":"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","sourcesContent":["import { debugWrapper, getClientLogConfig, getClientStates, BrowserClient } from '@amplitude/analytics-core';\nimport { AmplitudeBrowser } from './browser-client';\n\nexport const createInstance = (): BrowserClient => {\n const client = new AmplitudeBrowser();\n return {\n init: debugWrapper(\n client.init.bind(client),\n 'init',\n getClientLogConfig(client),\n getClientStates(client, ['config']),\n ),\n add: debugWrapper(\n client.add.bind(client),\n 'add',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.plugins']),\n ),\n remove: debugWrapper(\n client.remove.bind(client),\n 'remove',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.plugins']),\n ),\n track: debugWrapper(\n client.track.bind(client),\n 'track',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n logEvent: debugWrapper(\n client.logEvent.bind(client),\n 'logEvent',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n identify: debugWrapper(\n client.identify.bind(client),\n 'identify',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n groupIdentify: debugWrapper(\n client.groupIdentify.bind(client),\n 'groupIdentify',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n setGroup: debugWrapper(\n client.setGroup.bind(client),\n 'setGroup',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n revenue: debugWrapper(\n client.revenue.bind(client),\n 'revenue',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n flush: debugWrapper(\n client.flush.bind(client),\n 'flush',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n getUserId: debugWrapper(\n client.getUserId.bind(client),\n 'getUserId',\n getClientLogConfig(client),\n getClientStates(client, ['config', 'config.userId']),\n ),\n setUserId: debugWrapper(\n client.setUserId.bind(client),\n 'setUserId',\n getClientLogConfig(client),\n getClientStates(client, ['config', 'config.userId']),\n ),\n getDeviceId: debugWrapper(\n client.getDeviceId.bind(client),\n 'getDeviceId',\n getClientLogConfig(client),\n getClientStates(client, ['config', 'config.deviceId']),\n ),\n setDeviceId: debugWrapper(\n client.setDeviceId.bind(client),\n 'setDeviceId',\n getClientLogConfig(client),\n getClientStates(client, ['config', 'config.deviceId']),\n ),\n reset: debugWrapper(\n client.reset.bind(client),\n 'reset',\n getClientLogConfig(client),\n getClientStates(client, ['config', 'config.userId', 'config.deviceId']),\n ),\n getSessionId: debugWrapper(\n client.getSessionId.bind(client),\n 'getSessionId',\n getClientLogConfig(client),\n getClientStates(client, ['config']),\n ),\n setSessionId: debugWrapper(\n client.setSessionId.bind(client),\n 'setSessionId',\n getClientLogConfig(client),\n getClientStates(client, ['config']),\n ),\n extendSession: debugWrapper(\n client.extendSession.bind(client),\n 'extendSession',\n getClientLogConfig(client),\n getClientStates(client, ['config']),\n ),\n setOptOut: debugWrapper(\n client.setOptOut.bind(client),\n 'setOptOut',\n getClientLogConfig(client),\n getClientStates(client, ['config']),\n ),\n setTransport: debugWrapper(\n client.setTransport.bind(client),\n 'setTransport',\n getClientLogConfig(client),\n getClientStates(client, ['config']),\n ),\n };\n};\n\nexport default createInstance();\n"]}
@@ -1,12 +1,11 @@
1
- import { AmplitudeCore } from '@amplitude/analytics-core';
2
- import { WebAttribution } from '@amplitude/analytics-client-common';
3
- import { BrowserClient, BrowserConfig, BrowserOptions, Event, EventOptions, Identify as IIdentify, Revenue as IRevenue, TransportType, Result } from '@amplitude/analytics-types';
1
+ import { AmplitudeCore, Event, EventOptions, IIdentify, IRevenue, TransportType, Result, BrowserOptions, BrowserConfig, BrowserClient } from '@amplitude/analytics-core';
2
+ import { WebAttribution } from './attribution/web-attribution';
4
3
  export declare class AmplitudeBrowser extends AmplitudeCore implements BrowserClient {
5
4
  config: BrowserConfig;
6
5
  previousSessionDeviceId: string | undefined;
7
6
  previousSessionUserId: string | undefined;
8
7
  webAttribution: WebAttribution | undefined;
9
- init(apiKey?: string, userIdOrOptions?: string | BrowserOptions, maybeOptions?: BrowserOptions): import("@amplitude/analytics-types").AmplitudeReturn<void>;
8
+ init(apiKey?: string, userIdOrOptions?: string | BrowserOptions, maybeOptions?: BrowserOptions): import("@amplitude/analytics-core").AmplitudeReturn<void>;
10
9
  protected _init(options: BrowserOptions & {
11
10
  apiKey: string;
12
11
  }): Promise<void>;
@@ -16,12 +15,12 @@ export declare class AmplitudeBrowser extends AmplitudeCore implements BrowserCl
16
15
  setDeviceId(deviceId: string): void;
17
16
  reset(): void;
18
17
  getSessionId(): number | undefined;
19
- setSessionId(sessionId: number): import("@amplitude/analytics-types").AmplitudeReturn<void> | import("@amplitude/analytics-types").AmplitudeReturn<Result[]>;
18
+ setSessionId(sessionId: number): import("@amplitude/analytics-core").AmplitudeReturn<void> | import("@amplitude/analytics-core").AmplitudeReturn<Result[]>;
20
19
  extendSession(): void;
21
20
  setTransport(transport: TransportType): void;
22
- identify(identify: IIdentify, eventOptions?: EventOptions): import("@amplitude/analytics-types").AmplitudeReturn<Result>;
23
- groupIdentify(groupType: string, groupName: string | string[], identify: IIdentify, eventOptions?: EventOptions): import("@amplitude/analytics-types").AmplitudeReturn<Result>;
24
- revenue(revenue: IRevenue, eventOptions?: EventOptions): import("@amplitude/analytics-types").AmplitudeReturn<Result>;
21
+ identify(identify: IIdentify, eventOptions?: EventOptions): import("@amplitude/analytics-core").AmplitudeReturn<Result>;
22
+ groupIdentify(groupType: string, groupName: string | string[], identify: IIdentify, eventOptions?: EventOptions): import("@amplitude/analytics-core").AmplitudeReturn<Result>;
23
+ revenue(revenue: IRevenue, eventOptions?: EventOptions): import("@amplitude/analytics-core").AmplitudeReturn<Result>;
25
24
  private trackCampaignEventIfNeeded;
26
25
  process(event: Event): Promise<Result>;
27
26
  private logBrowserOptions;
@@ -1 +1 @@
1
- {"version":3,"file":"browser-client.d.ts","sourceRoot":"","sources":["../../src/browser-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAuD,MAAM,2BAA2B,CAAC;AAC/G,OAAO,EAeL,cAAc,EAEf,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,aAAa,EACb,aAAa,EACb,cAAc,EACd,KAAK,EACL,YAAY,EACZ,QAAQ,IAAI,SAAS,EACrB,OAAO,IAAI,QAAQ,EACnB,aAAa,EAEb,MAAM,EACP,MAAM,4BAA4B,CAAC;AAapC,qBAAa,gBAAiB,SAAQ,aAAc,YAAW,aAAa;IAG1E,MAAM,EAAE,aAAa,CAAC;IACtB,uBAAuB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5C,qBAAqB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,cAAc,EAAE,cAAc,GAAG,SAAS,CAAC;IAE3C,IAAI,CAAC,MAAM,SAAK,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,cAAc,EAAE,YAAY,CAAC,EAAE,cAAc;cAkB1E,KAAK,CAAC,OAAO,EAAE,cAAc,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE;IAyFlE,SAAS;IAIT,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS;IAYpC,WAAW;IAIX,WAAW,CAAC,QAAQ,EAAE,MAAM;IAU5B,KAAK;IAKL,YAAY;IAIZ,YAAY,CAAC,SAAS,EAAE,MAAM;IAwD9B,aAAa;IAQb,YAAY,CAAC,SAAS,EAAE,aAAa;IAQrC,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,CAAC,EAAE,YAAY;IAezD,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,CAAC,EAAE,YAAY;IAS/G,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,YAAY;IAStD,OAAO,CAAC,0BAA0B;IAe5B,OAAO,CAAC,KAAK,EAAE,KAAK;IA0B1B,OAAO,CAAC,iBAAiB;CAY1B"}
1
+ {"version":3,"file":"browser-client.d.ts","sourceRoot":"","sources":["../../src/browser-client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAYb,KAAK,EACL,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,aAAa,EAEb,MAAM,EACN,cAAc,EACd,aAAa,EACb,aAAa,EACd,MAAM,2BAA2B,CAAC;AAuBnC,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,qBAAa,gBAAiB,SAAQ,aAAc,YAAW,aAAa;IAG1E,MAAM,EAAE,aAAa,CAAC;IACtB,uBAAuB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5C,qBAAqB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,cAAc,EAAE,cAAc,GAAG,SAAS,CAAC;IAE3C,IAAI,CAAC,MAAM,SAAK,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,cAAc,EAAE,YAAY,CAAC,EAAE,cAAc;cAkB1E,KAAK,CAAC,OAAO,EAAE,cAAc,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE;IAyFlE,SAAS;IAIT,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS;IAYpC,WAAW;IAIX,WAAW,CAAC,QAAQ,EAAE,MAAM;IAU5B,KAAK;IAKL,YAAY;IAIZ,YAAY,CAAC,SAAS,EAAE,MAAM;IAwD9B,aAAa;IAQb,YAAY,CAAC,SAAS,EAAE,aAAa;IAQrC,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,CAAC,EAAE,YAAY;IAezD,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,CAAC,EAAE,YAAY;IAS/G,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,YAAY;IAStD,OAAO,CAAC,0BAA0B;IAe5B,OAAO,CAAC,KAAK,EAAE,KAAK;IA0B1B,OAAO,CAAC,iBAAiB;CAY1B"}
@@ -1,7 +1,6 @@
1
1
  import { __assign, __awaiter, __extends, __generator } from "tslib";
2
- import { AmplitudeCore, Destination, Identify, returnWrapper, Revenue, UUID } from '@amplitude/analytics-core';
3
- import { getAnalyticsConnector, getAttributionTrackingConfig, getPageViewTrackingConfig, getElementInteractionsConfig, IdentityEventSender, isAttributionTrackingEnabled, isSessionTrackingEnabled, isFileDownloadTrackingEnabled, isFormInteractionTrackingEnabled, isElementInteractionsEnabled, setConnectorDeviceId, setConnectorUserId, isNewSession, isPageViewTrackingEnabled, WebAttribution, getQueryParams, } from '@amplitude/analytics-client-common';
4
- import { OfflineDisabled, } from '@amplitude/analytics-types';
2
+ import { AmplitudeCore, Destination, Identify, returnWrapper, Revenue, UUID, getAnalyticsConnector, setConnectorDeviceId, setConnectorUserId, isNewSession, IdentityEventSender, getQueryParams, OfflineDisabled, } from '@amplitude/analytics-core';
3
+ import { getAttributionTrackingConfig, getPageViewTrackingConfig, getElementInteractionsConfig, isAttributionTrackingEnabled, isSessionTrackingEnabled, isFileDownloadTrackingEnabled, isFormInteractionTrackingEnabled, isElementInteractionsEnabled, isPageViewTrackingEnabled, } from './default-tracking';
5
4
  import { convertProxyObjectToRealObject, isInstanceProxy } from './utils/snippet-helper';
6
5
  import { Context } from './plugins/context';
7
6
  import { useBrowserConfig, createTransport } from './config';
@@ -13,6 +12,7 @@ import { detNotify } from './det-notification';
13
12
  import { networkConnectivityCheckerPlugin } from './plugins/network-connectivity-checker';
14
13
  import { createBrowserJoinedConfigGenerator } from './config/joined-config';
15
14
  import { autocapturePlugin } from '@amplitude/plugin-autocapture-browser';
15
+ import { WebAttribution } from './attribution/web-attribution';
16
16
  var AmplitudeBrowser = /** @class */ (function (_super) {
17
17
  __extends(AmplitudeBrowser, _super);
18
18
  function AmplitudeBrowser() {
@@ -39,10 +39,10 @@ var AmplitudeBrowser = /** @class */ (function (_super) {
39
39
  return returnWrapper(this._init(__assign(__assign({}, options), { userId: userId, apiKey: apiKey })));
40
40
  };
41
41
  AmplitudeBrowser.prototype._init = function (options) {
42
+ var _a, _b, _c;
42
43
  return __awaiter(this, void 0, void 0, function () {
43
44
  var browserOptions, joinedConfigGenerator, attributionTrackingOptions, queryParams, querySessionId, connector;
44
45
  var _this = this;
45
- var _a, _b, _c;
46
46
  return __generator(this, function (_d) {
47
47
  switch (_d.label) {
48
48
  case 0: