@tagadapay/headless-sdk 1.22.0 → 1.23.0

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 (35) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/core/helpers/paymentsApi.d.ts +5 -0
  3. package/dist/core/helpers/paymentsApi.d.ts.map +1 -1
  4. package/dist/core/helpers/paymentsApi.js +30 -0
  5. package/dist/core/helpers/paymentsApi.js.map +1 -1
  6. package/dist/core/modules/track.d.ts.map +1 -1
  7. package/dist/core/modules/track.js +7 -1
  8. package/dist/core/modules/track.js.map +1 -1
  9. package/dist/core/version.d.ts +1 -1
  10. package/dist/core/version.js +1 -1
  11. package/dist/pixels/engine.d.ts +3 -3
  12. package/dist/pixels/engine.d.ts.map +1 -1
  13. package/dist/pixels/engine.js +12 -8
  14. package/dist/pixels/engine.js.map +1 -1
  15. package/dist/pixels/pixelMapping.d.ts +37 -6
  16. package/dist/pixels/pixelMapping.d.ts.map +1 -1
  17. package/dist/pixels/pixelMapping.js +194 -3
  18. package/dist/pixels/pixelMapping.js.map +1 -1
  19. package/dist/pixels/pixelTracker.d.ts +10 -4
  20. package/dist/pixels/pixelTracker.d.ts.map +1 -1
  21. package/dist/pixels/pixelTracker.js +164 -7
  22. package/dist/pixels/pixelTracker.js.map +1 -1
  23. package/dist/pixels/types.d.ts +18 -2
  24. package/dist/pixels/types.d.ts.map +1 -1
  25. package/dist/pixels/types.js +1 -0
  26. package/dist/pixels/types.js.map +1 -1
  27. package/dist/tagada-headless-commerce.min.js +1 -1
  28. package/dist/tagada-headless-react.min.js +2 -2
  29. package/dist/tagada-headless-react.min.js.map +2 -2
  30. package/dist/tagada-headless.js +11 -5
  31. package/dist/tagada-headless.min.js +2 -2
  32. package/dist/tagada-headless.min.js.map +2 -2
  33. package/dist/tagada-pixels.min.js +2 -2
  34. package/dist/tagada-pixels.min.js.map +3 -3
  35. package/package.json +1 -1
@@ -11,12 +11,14 @@
11
11
  * Pinterest: pintrk('track', 'checkout', { value, currency }) — help.pinterest.com/en/business/article/add-event-codes
12
12
  * GTM/GA4: gtag('event', 'purchase', { value, currency, items })
13
13
  * Clarity: clarity('event', 'Purchase') — learn.microsoft.com/en-us/clarity/setup-and-installation/clarity-api
14
+ * AppLovin: axon('track', 'purchase', { value, currency, items }) — support.axon.ai/en/growth/axon-pixel/events-and-objects
14
15
  */
15
16
  /**
16
17
  * Which key holds this entry's id: GTM stores a `containerId`, Clarity a
17
- * `projectId`, every other provider a `pixelId`. Callers that sanitize, split
18
- * or display an id go through here rather than testing the keys themselves,
19
- * so a new provider with its own field name is one edit, not six.
18
+ * `projectId`, AppLovin an `eventKey`, every other provider a `pixelId`.
19
+ * Callers that sanitize, split or display an id go through here rather than
20
+ * testing the keys themselves, so a new provider with its own field name is
21
+ * one edit, not six.
20
22
  */
21
23
  export function pixelIdKeyOf(pixel) {
22
24
  if (pixel && typeof pixel === 'object') {
@@ -24,6 +26,8 @@ export function pixelIdKeyOf(pixel) {
24
26
  return 'containerId';
25
27
  if ('projectId' in pixel)
26
28
  return 'projectId';
29
+ if ('eventKey' in pixel)
30
+ return 'eventKey';
27
31
  }
28
32
  return 'pixelId';
29
33
  }
@@ -519,6 +523,187 @@ export function mapClarityEvent(eventName, parameters) {
519
523
  const name = CLARITY_EVENT_MAP[eventName] ?? eventName;
520
524
  return { name, params: baseTransform(parameters) };
521
525
  }
526
+ // ---------------------------------------------------------------------------
527
+ // AppLovin (Axon pixel)
528
+ // Official: axon('track', 'purchase', { currency, items, shipping, tax,
529
+ // transaction_id, value, user_data }, { dedupe_id })
530
+ // Source: support.axon.ai/en/growth/axon-pixel/events-and-objects
531
+ // Event names are snake_case. Only the events below exist for a purchase site;
532
+ // any other standard event is not sent to AppLovin. Every payload is rebuilt
533
+ // from scratch, so a parameter AppLovin does not define never reaches it.
534
+ // ---------------------------------------------------------------------------
535
+ export const APPLOVIN_EVENT_MAP = {
536
+ PageView: 'page_view',
537
+ ViewContent: 'view_item',
538
+ AddToCart: 'add_to_cart',
539
+ InitiateCheckout: 'begin_checkout',
540
+ AddPaymentInfo: 'add_payment_info',
541
+ Purchase: 'purchase',
542
+ };
543
+ const APPLOVIN_MIN_USER_ID_LENGTH = 6;
544
+ const APPLOVIN_IMAGE_PATTERN = /\.(png|jpe?g)$/i;
545
+ const MASKED_VALUE_PATTERN = /[*•]/;
546
+ /**
547
+ * Shape an identity as AppLovin's `user_data`: email lowercased, phone as
548
+ * digits only (leading zeros dropped, as AppLovin's normalisation does), and
549
+ * the external id as `user_id` only when it has the six characters AppLovin
550
+ * requires. A masked email or phone (`r***@gmail.com`, as some order reads
551
+ * return it) is dropped: AppLovin would hash it into a key that matches no one.
552
+ * Returns undefined when nothing usable is left.
553
+ */
554
+ export function toApplovinUserData(identity) {
555
+ const out = {};
556
+ const email = identity.email?.trim().toLowerCase();
557
+ if (email && !MASKED_VALUE_PATTERN.test(email))
558
+ out.email = email;
559
+ const rawPhone = identity.phone?.trim();
560
+ const phone = rawPhone && !MASKED_VALUE_PATTERN.test(rawPhone) && !/[a-z]/i.test(rawPhone)
561
+ ? rawPhone.replace(/[^0-9]/g, '').replace(/^0+/, '')
562
+ : undefined;
563
+ if (phone)
564
+ out.phone = phone;
565
+ const userId = identity.externalId?.trim();
566
+ if (userId && userId.length >= APPLOVIN_MIN_USER_ID_LENGTH)
567
+ out.user_id = userId;
568
+ return Object.keys(out).length > 0 ? out : undefined;
569
+ }
570
+ /**
571
+ * The entry a page loads: AppLovin's script takes one event key per page, so
572
+ * only the first enabled entry is initialised and only its toggles apply.
573
+ */
574
+ export function activeApplovinPixel(pixels) {
575
+ return pixels?.find((pixel) => pixel.enabled);
576
+ }
577
+ function finiteNumber(value) {
578
+ if (value == null || value === '')
579
+ return undefined;
580
+ const n = Number(value);
581
+ return Number.isFinite(n) ? n : undefined;
582
+ }
583
+ function roundMoney(amount) {
584
+ return Math.round(amount * 1000) / 1000;
585
+ }
586
+ /**
587
+ * Our `content_id` is `<productId>-<variantId>`. A product id may hold dashes
588
+ * (`bpc157-10mg`), a variant id does not: the longest known product id that
589
+ * starts the content id wins, else the split is at the last dash.
590
+ */
591
+ function splitContentId(contentId, productIds) {
592
+ const productId = productIds
593
+ .filter((id) => contentId.startsWith(`${id}-`))
594
+ .reduce((longest, id) => (!longest || id.length > longest.length ? id : longest), undefined);
595
+ if (productId) {
596
+ const variantId = contentId.slice(productId.length + 1);
597
+ return variantId ? { itemId: productId, variantId } : { itemId: productId };
598
+ }
599
+ const dash = contentId.lastIndexOf('-');
600
+ if (dash === -1)
601
+ return { itemId: contentId };
602
+ const product = contentId.slice(0, dash);
603
+ const variant = contentId.slice(dash + 1);
604
+ if (!product)
605
+ return { itemId: variant };
606
+ return variant ? { itemId: product, variantId: variant } : { itemId: product };
607
+ }
608
+ function applovinImageUrl(value) {
609
+ if (typeof value !== 'string' || !value)
610
+ return undefined;
611
+ const path = value.split(/[?#]/)[0];
612
+ return APPLOVIN_IMAGE_PATTERN.test(path) ? value : undefined;
613
+ }
614
+ /**
615
+ * Reads `contents[]` after baseTransform, so `price` is already in major units.
616
+ * `productIds` are the order's own product ids, from its GA4 items.
617
+ */
618
+ function applovinItems(contents, productIds) {
619
+ if (!Array.isArray(contents))
620
+ return [];
621
+ return contents.flatMap((entry) => {
622
+ if (!entry || typeof entry !== 'object')
623
+ return [];
624
+ const item = entry;
625
+ const rawId = typeof item.content_id === 'string' && item.content_id ? item.content_id : item.id;
626
+ if (typeof rawId !== 'string' || !rawId)
627
+ return [];
628
+ const { itemId, variantId } = splitContentId(rawId, productIds);
629
+ if (!itemId)
630
+ return [];
631
+ const out = { item_id: itemId };
632
+ if (variantId)
633
+ out.item_variant_id = variantId;
634
+ if (typeof item.content_name === 'string' && item.content_name)
635
+ out.item_name = item.content_name;
636
+ const price = finiteNumber(item.price);
637
+ if (price != null)
638
+ out.price = price;
639
+ const quantity = finiteNumber(item.quantity);
640
+ if (quantity != null)
641
+ out.quantity = quantity;
642
+ const imageUrl = applovinImageUrl(item.image_url);
643
+ if (imageUrl)
644
+ out.image_url = imageUrl;
645
+ return [out];
646
+ });
647
+ }
648
+ /**
649
+ * Map a standard event to AppLovin's name and payload, or null when AppLovin
650
+ * has no such event. Amounts leave in major units. `value` is the subtotal
651
+ * AppLovin asks for on `begin_checkout` and `purchase`: the amount minus
652
+ * shipping and tax, never below zero.
653
+ */
654
+ export function mapApplovinEvent(eventName, parameters) {
655
+ const name = APPLOVIN_EVENT_MAP[eventName];
656
+ if (!name)
657
+ return null;
658
+ const ga4 = parameters[GA4_PARAM_KEY];
659
+ const params = {};
660
+ const userData = ga4
661
+ ? toApplovinUserData({
662
+ email: ga4.user_data?.email_address,
663
+ phone: ga4.user_data?.phone_number,
664
+ externalId: ga4.user_id,
665
+ })
666
+ : undefined;
667
+ if (eventName === 'PageView') {
668
+ if (userData)
669
+ params.user_data = userData;
670
+ return { name, params };
671
+ }
672
+ const p = baseTransform(parameters);
673
+ const currency = typeof p.currency === 'string' && p.currency ? p.currency : undefined;
674
+ const toMajor = (amount) => {
675
+ const n = finiteNumber(amount);
676
+ return n == null || !currency ? undefined : minorToMajor(n, currency);
677
+ };
678
+ if (currency)
679
+ params.currency = currency;
680
+ const productIds = (ga4?.items ?? [])
681
+ .map((item) => item.item_id)
682
+ .filter((id) => typeof id === 'string' && id.length > 0);
683
+ const items = applovinItems(p.contents, productIds);
684
+ if (items.length > 0)
685
+ params.items = items;
686
+ // Without a currency `value` is still in minor units, so it is left out.
687
+ const value = currency ? finiteNumber(p.value) ?? toMajor(ga4?.value) : undefined;
688
+ if (eventName === 'InitiateCheckout' || eventName === 'Purchase') {
689
+ const shipping = (currency ? finiteNumber(p.shipping) : undefined) ?? toMajor(ga4?.shipping) ?? 0;
690
+ const tax = (currency ? finiteNumber(p.tax) : undefined) ?? toMajor(ga4?.tax) ?? 0;
691
+ if (value != null)
692
+ params.value = Math.max(0, roundMoney(value - shipping - tax));
693
+ if (eventName === 'Purchase') {
694
+ params.shipping = shipping;
695
+ params.tax = tax;
696
+ if (p.transaction_id != null && p.transaction_id !== '')
697
+ params.transaction_id = String(p.transaction_id);
698
+ }
699
+ }
700
+ else if (value != null) {
701
+ params.value = value;
702
+ }
703
+ if (userData)
704
+ params.user_data = userData;
705
+ return { name, params };
706
+ }
522
707
  function googleAdsTag(id) {
523
708
  const text = String(id).trim();
524
709
  return /^\d+$/.test(text) ? `AW-${text}` : text;
@@ -569,6 +754,12 @@ export function resolvePixelEvents(pixels, eventName, parameters) {
569
754
  const mapped = mapClarityEvent(eventName, parameters);
570
755
  clarity.forEach((pixel) => results.push({ provider: 'clarity', mapped, pixel }));
571
756
  }
757
+ const applovin = activeApplovinPixel(pixels.applovin);
758
+ if (applovin && getEligiblePixels([applovin], eventName).length > 0) {
759
+ const mapped = mapApplovinEvent(eventName, parameters);
760
+ if (mapped)
761
+ results.push({ provider: 'applovin', mapped, pixel: applovin });
762
+ }
572
763
  const gtm = getEligiblePixels(pixels.gtm, eventName);
573
764
  if (gtm.length > 0) {
574
765
  const mapped = mapGTMEvent(eventName, parameters);
@@ -1 +1 @@
1
- {"version":3,"file":"pixelMapping.js","sourceRoot":"","sources":["../../src/pixels/pixelMapping.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pixelMapping.js","sourceRoot":"","sources":["../../src/pixels/pixelMapping.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Framework-agnostic pixel tracker.
3
3
  *
4
- * Init / fire logic for Meta, TikTok, Snapchat, Pinterest, GTM/GA4 and
5
- * Microsoft Clarity pixels —
4
+ * Init / fire logic for Meta, TikTok, Snapchat, Pinterest, GTM/GA4,
5
+ * Microsoft Clarity and AppLovin pixels —
6
6
  * extracted from `react/hooks/usePixelTracking.tsx` so non-React entry points
7
7
  * (Studio islands hydrator, full-SPA runtime) can fire pixel events from
8
8
  * `window.__TGD_STEP_CONFIG__.pixels`.
@@ -10,7 +10,7 @@
10
10
  * The React provider is a thin adapter on top of this module.
11
11
  */
12
12
  import type { PixelsConfig } from './types.js';
13
- import { type Ga4UserData, type StandardPixelEvent } from './pixelMapping.js';
13
+ import { type Ga4UserData, type PixelProviderKey, type StandardPixelEvent } from './pixelMapping.js';
14
14
  import { type PixelRawIdentity } from './pixelIdentity.js';
15
15
  /**
16
16
  * Optional per-event tracking metadata. `eventId` is the cross-channel dedup
@@ -21,6 +21,11 @@ import { type PixelRawIdentity } from './pixelIdentity.js';
21
21
  */
22
22
  export interface TrackOptions {
23
23
  eventId?: string;
24
+ /**
25
+ * When set, only the pixels of these providers receive the event; the
26
+ * others are left untouched. Unset, every configured provider receives it.
27
+ */
28
+ providers?: readonly PixelProviderKey[];
24
29
  }
25
30
  export interface PixelTracker {
26
31
  /** Resolves once all pixel scripts have loaded (or hit their load timeout). */
@@ -33,7 +38,8 @@ export interface PixelTracker {
33
38
  * Feed customer identifiers for advanced matching. Applies to Meta (fbq init,
34
39
  * raw — Meta hashes in-browser), Google (gtag set user_data, raw — enhanced
35
40
  * conversions), Snapchat (re-init) + TikTok (identify), the last two with
36
- * client-side SHA-256 hashing. Each provider persists the keys onto
41
+ * client-side SHA-256 hashing, and AppLovin (raw `user_data` added to each
42
+ * of its events — the Axon script hashes it). Each provider persists the keys onto
37
43
  * subsequent events, so call this as soon as the email is known to lift
38
44
  * match quality on InitiateCheckout + Purchase. Idempotent per identity; safe
39
45
  * to call repeatedly.
@@ -1 +1 @@
1
- {"version":3,"file":"pixelTracker.d.ts","sourceRoot":"","sources":["../../src/pixels/pixelTracker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAyD,YAAY,EAAE,MAAM,YAAY,CAAC;AACtG,OAAO,EAKL,KAAK,WAAW,EAEhB,KAAK,kBAAkB,EACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,oBAAoB,CAAC;AAM5B;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,+EAA+E;IAC/E,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,yCAAyC;IACzC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACpC,gEAAgE;IAChE,KAAK,CACH,SAAS,EAAE,kBAAkB,EAC7B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,OAAO,CAAC,EAAE,YAAY,GACrB,IAAI,CAAC;IACR;;;;;;;;OAQG;IACH,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAC;CAC5C;AAuJD;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,WAAW,QA0B1D;AAySD,uEAAuE;AACvE,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAE7D;AA8ED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,YAAY,GAAG,SAAS,EAAE,IAAI,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,YAAY,CAmKvH;AAMD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,qBAAqB,CAAC,EAAE,YAAY,CAAC;QACrC,mBAAmB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACxD;CACF;AAeD;;;;;;;GAOG;AACH,wBAAgB,+BAA+B,IAAI,YAAY,GAAG,IAAI,CAUrE"}
1
+ {"version":3,"file":"pixelTracker.d.ts","sourceRoot":"","sources":["../../src/pixels/pixelTracker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAyD,YAAY,EAAE,MAAM,YAAY,CAAC;AACtG,OAAO,EAQL,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,oBAAoB,CAAC;AAM5B;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,YAAY;IAC3B,+EAA+E;IAC/E,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,yCAAyC;IACzC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACpC,gEAAgE;IAChE,KAAK,CACH,SAAS,EAAE,kBAAkB,EAC7B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,OAAO,CAAC,EAAE,YAAY,GACrB,IAAI,CAAC;IACR;;;;;;;;;OASG;IACH,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAC;CAC5C;AAoKD;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,WAAW,QA0B1D;AA0ZD,uEAAuE;AACvE,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAE7D;AA8ED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,YAAY,GAAG,SAAS,EAAE,IAAI,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,YAAY,CAkMvH;AAMD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,qBAAqB,CAAC,EAAE,YAAY,CAAC;QACrC,mBAAmB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACxD;CACF;AAeD;;;;;;;GAOG;AACH,wBAAgB,+BAA+B,IAAI,YAAY,GAAG,IAAI,CAUrE"}
@@ -1,26 +1,28 @@
1
1
  /**
2
2
  * Framework-agnostic pixel tracker.
3
3
  *
4
- * Init / fire logic for Meta, TikTok, Snapchat, Pinterest, GTM/GA4 and
5
- * Microsoft Clarity pixels —
4
+ * Init / fire logic for Meta, TikTok, Snapchat, Pinterest, GTM/GA4,
5
+ * Microsoft Clarity and AppLovin pixels —
6
6
  * extracted from `react/hooks/usePixelTracking.tsx` so non-React entry points
7
7
  * (Studio islands hydrator, full-SPA runtime) can fire pixel events from
8
8
  * `window.__TGD_STEP_CONFIG__.pixels`.
9
9
  *
10
10
  * The React provider is a thin adapter on top of this module.
11
11
  */
12
- import { resolvePixelEvents, pixelIdKeyOf, GA4_PARAM_KEY, } from './pixelMapping.js';
12
+ import { resolvePixelEvents, pixelIdKeyOf, activeApplovinPixel, toApplovinUserData, GA4_PARAM_KEY, } from './pixelMapping.js';
13
13
  import { buildHashedIdentity, canHashIdentity, } from './pixelIdentity.js';
14
14
  // ---------------------------------------------------------------------------
15
15
  // Duplicate guard (time-window based)
16
16
  // ---------------------------------------------------------------------------
17
17
  function createDuplicateGuard(windowMs) {
18
18
  const lastEvents = new Map();
19
- return (eventName, parameters, eventId) => {
19
+ return (eventName, parameters, eventId, providers) => {
20
20
  try {
21
21
  // Include eventId in the dedup key so two distinct logical events with the
22
22
  // same name+params (e.g. two Purchases) are not collapsed by the guard.
23
- const key = JSON.stringify({ eventName, parameters, eventId });
23
+ // The provider scope too: a call aimed at one provider must not swallow
24
+ // the same event sent to all of them.
25
+ const key = JSON.stringify({ eventName, parameters, eventId, providers });
24
26
  const now = Date.now();
25
27
  const last = lastEvents.get(key);
26
28
  if (last && now - last < windowMs)
@@ -113,6 +115,17 @@ function fire(provider, name, params, pixel, options = {}) {
113
115
  case 'clarity':
114
116
  w.clarity?.('event', name);
115
117
  break;
118
+ case 'applovin': {
119
+ // AppLovin dedup: the order id for a purchase, else the caller's event id.
120
+ const dedupeId = name === 'purchase' && typeof params.transaction_id === 'string' && params.transaction_id
121
+ ? params.transaction_id
122
+ : eventId;
123
+ if (dedupeId)
124
+ w.axon?.('track', name, params, { dedupe_id: dedupeId });
125
+ else
126
+ w.axon?.('track', name, params);
127
+ break;
128
+ }
116
129
  }
117
130
  }
118
131
  /**
@@ -430,6 +443,117 @@ function initClarity(projectId) {
430
443
  (document.head || document.getElementsByTagName('head')[0])?.appendChild(s);
431
444
  return waitForScriptLoad(s);
432
445
  }
446
+ /**
447
+ * True when an AppLovin tag this SDK did not load is already on the page (a
448
+ * merchant's pasted snippet). AppLovin's script takes one event key per page,
449
+ * so ours stays off rather than send its events to that tag.
450
+ */
451
+ function hasForeignApplovin() {
452
+ return Boolean(win?.axon) && win.axon.tgdManaged !== true;
453
+ }
454
+ /**
455
+ * Load the AppLovin Axon pixel, as AppLovin's own snippet does: a queueing
456
+ * stub carrying the event key, both of its scripts, then `axon('init')`. A
457
+ * stub already loaded by this SDK (another tracker on the page) is reused.
458
+ */
459
+ let _applovinScriptEl = null;
460
+ function initApplovin(eventKey) {
461
+ if (!win || !eventKey || win.axon)
462
+ return Promise.resolve();
463
+ const a = function (...args) {
464
+ if (a.performOperation)
465
+ a.performOperation.apply(a, args);
466
+ else
467
+ a.operationQueue.push(args);
468
+ };
469
+ a.operationQueue = [];
470
+ a.ts = Date.now();
471
+ a.eventKey = eventKey;
472
+ a.tgdManaged = true;
473
+ win.axon = a;
474
+ const first = document.getElementsByTagName('script')[0];
475
+ const scripts = ['https://s.axon.ai/pixel.js', 'https://res4.applovin.com/p/l/loader.iife.js'].map((src) => {
476
+ const s = document.createElement('script');
477
+ s.async = true;
478
+ s.src = src;
479
+ if (first?.parentNode)
480
+ first.parentNode.insertBefore(s, first);
481
+ else
482
+ (document.head || document.getElementsByTagName('head')[0])?.appendChild(s);
483
+ return s;
484
+ });
485
+ _applovinScriptEl = scripts[0];
486
+ win.axon('init');
487
+ return Promise.all(scripts.map(waitForScriptLoad)).then(() => undefined);
488
+ }
489
+ /** AppLovin's script defines `performOperation` on the stub once it runs: a call is then really handed to it. */
490
+ function isApplovinLoaded() {
491
+ return typeof window !== 'undefined' && typeof window.axon?.performOperation === 'function';
492
+ }
493
+ /**
494
+ * Remember an order once AppLovin's script holds it: at once when the script
495
+ * already took the stub over, else when its script finishes loading and takes
496
+ * over the queue the order waits in. A script that fails or never takes over
497
+ * leaves the order to the next page.
498
+ */
499
+ function rememberApplovinPurchaseWhenReceived(transactionId) {
500
+ if (isApplovinLoaded()) {
501
+ markApplovinPurchaseSent(transactionId);
502
+ return;
503
+ }
504
+ _applovinScriptEl?.addEventListener('load', () => {
505
+ if (isApplovinLoaded())
506
+ markApplovinPurchaseSent(transactionId);
507
+ }, { once: true });
508
+ }
509
+ /**
510
+ * AppLovin's once-only purchase memory, kept across reloads of the same
511
+ * browser: one entry mapping each order id to when it was sent, bounded to
512
+ * the last 30 days and the 50 most recent orders.
513
+ */
514
+ const APPLOVIN_PURCHASES_KEY = 'tgd_applovin_purchases';
515
+ /** Orders handed to `axon` on this page, received or still queued: the page never sends one twice. */
516
+ const applovinPurchasesOnPage = new Set();
517
+ const APPLOVIN_PURCHASE_MEMORY_MS = 30 * 24 * 60 * 60 * 1000;
518
+ const APPLOVIN_PURCHASE_MEMORY_SIZE = 50;
519
+ function readApplovinPurchases() {
520
+ const memory = {};
521
+ try {
522
+ const parsed = JSON.parse(window.localStorage?.getItem(APPLOVIN_PURCHASES_KEY) || '{}');
523
+ if (parsed && typeof parsed === 'object') {
524
+ const record = parsed;
525
+ for (const id of Object.keys(record)) {
526
+ const sentAt = record[id];
527
+ if (typeof sentAt === 'number')
528
+ memory[id] = sentAt;
529
+ }
530
+ }
531
+ }
532
+ catch {
533
+ /* unreadable memory: start from an empty one */
534
+ }
535
+ return memory;
536
+ }
537
+ function wasApplovinPurchaseSent(transactionId) {
538
+ const sentAt = readApplovinPurchases()[transactionId];
539
+ return sentAt !== undefined && Date.now() - sentAt < APPLOVIN_PURCHASE_MEMORY_MS;
540
+ }
541
+ function markApplovinPurchaseSent(transactionId) {
542
+ const now = Date.now();
543
+ const sent = { ...readApplovinPurchases(), [transactionId]: now };
544
+ const memory = {};
545
+ Object.keys(sent)
546
+ .filter((id) => now - sent[id] < APPLOVIN_PURCHASE_MEMORY_MS)
547
+ .sort((a, b) => sent[b] - sent[a])
548
+ .slice(0, APPLOVIN_PURCHASE_MEMORY_SIZE)
549
+ .forEach((id) => { memory[id] = sent[id]; });
550
+ try {
551
+ window.localStorage?.setItem(APPLOVIN_PURCHASES_KEY, JSON.stringify(memory));
552
+ }
553
+ catch {
554
+ /* storage unavailable: the order is simply not remembered */
555
+ }
556
+ }
433
557
  function initGTM(containerId) {
434
558
  if (!win || !containerId)
435
559
  return Promise.resolve();
@@ -598,6 +722,7 @@ export function createPixelTracker(rawPixels, opts) {
598
722
  const pixels = rawPixels ? sanitizePixels(rawPixels) : rawPixels;
599
723
  const shouldTrackEvent = createDuplicateGuard(5000);
600
724
  let pixelsInitialized = false;
725
+ let applovinStoodDown = false;
601
726
  const initPromise = (async () => {
602
727
  if (!pixels || typeof window === 'undefined')
603
728
  return;
@@ -617,6 +742,14 @@ export function createPixelTracker(rawPixels, opts) {
617
742
  loadPromises.push(initGTM(px.containerId)); });
618
743
  pixels.clarity?.forEach((px) => { if (px.enabled && px.projectId)
619
744
  loadPromises.push(initClarity(px.projectId)); });
745
+ const applovin = activeApplovinPixel(pixels.applovin);
746
+ if (applovin?.eventKey && hasForeignApplovin()) {
747
+ applovinStoodDown = true;
748
+ console.warn('[SDK Pixels] An AppLovin pixel is already on the page: the configured AppLovin pixel stays off.');
749
+ }
750
+ else if (applovin?.eventKey) {
751
+ loadPromises.push(initApplovin(applovin.eventKey));
752
+ }
620
753
  await Promise.all(loadPromises);
621
754
  }
622
755
  catch (error) {
@@ -633,11 +766,16 @@ export function createPixelTracker(rawPixels, opts) {
633
766
  // before Snap/TikTok events fire so the hashed keys are attached in time.
634
767
  let _identityKey = null;
635
768
  let _identityReady = null;
769
+ // AppLovin has no identify call: its user_data rides on every event.
770
+ let _applovinUserData;
636
771
  const applyIdentity = (id) => {
637
772
  if (!pixels)
638
773
  return null;
639
774
  if (!id.email && !id.phone && !id.externalId)
640
775
  return null;
776
+ const applovinUserData = toApplovinUserData(id);
777
+ if (applovinUserData)
778
+ _applovinUserData = { ..._applovinUserData, ...applovinUserData };
641
779
  const key = `${id.email ?? ''}|${id.phone ?? ''}|${id.externalId ?? ''}`;
642
780
  if (_identityKey === key && _identityReady)
643
781
  return _identityReady;
@@ -701,13 +839,13 @@ export function createPixelTracker(rawPixels, opts) {
701
839
  const track = (eventName, parameters = {}, options = {}) => {
702
840
  if (!pixels || !pixelsInitialized)
703
841
  return;
704
- if (!shouldTrackEvent(eventName, parameters, options.eventId))
842
+ if (!shouldTrackEvent(eventName, parameters, options.eventId, options.providers))
705
843
  return;
706
844
  try {
707
845
  // Apply advanced matching before firing so Snap/TikTok carry the match
708
846
  // keys on this event. Other providers fire immediately (unaffected).
709
847
  const identityReady = applyIdentityFromParams(parameters);
710
- const events = resolvePixelEvents(pixels, eventName, parameters);
848
+ const events = resolvePixelEvents(pixels, eventName, parameters).filter(({ provider }) => !options.providers || options.providers.includes(provider));
711
849
  // Deduplicate by provider: the Snapchat/Pinterest SDKs broadcast to all
712
850
  // registered pixel IDs internally, so we only need to fire once per
713
851
  // provider. GTM, TikTok and Meta need per-pixel firing (GTM for Google Ads
@@ -733,6 +871,25 @@ export function createPixelTracker(rawPixels, opts) {
733
871
  firedPixels.add(pixelKey);
734
872
  emit(() => fire(provider, mapped.name, mapped.params, pixel, options));
735
873
  }
874
+ else if (provider === 'applovin') {
875
+ if (applovinStoodDown || firedProviders.has(provider))
876
+ continue;
877
+ firedProviders.add(provider);
878
+ const params = _applovinUserData
879
+ ? {
880
+ ...mapped.params,
881
+ user_data: { ..._applovinUserData, ...mapped.params.user_data },
882
+ }
883
+ : mapped.params;
884
+ const transactionId = mapped.name === 'purchase' && typeof params.transaction_id === 'string' ? params.transaction_id : '';
885
+ if (transactionId && (applovinPurchasesOnPage.has(transactionId) || wasApplovinPurchaseSent(transactionId)))
886
+ continue;
887
+ fire(provider, mapped.name, params, undefined, options);
888
+ if (transactionId) {
889
+ applovinPurchasesOnPage.add(transactionId);
890
+ rememberApplovinPurchaseWhenReceived(transactionId);
891
+ }
892
+ }
736
893
  else {
737
894
  if (!firedProviders.has(provider)) {
738
895
  emit(() => fire(provider, mapped.name, mapped.params, undefined, options));