@metarouter/ajs-starter-kit 1.0.136 → 1.0.138

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 (130) hide show
  1. package/.dist/actioniq/kit.etag.json +1 -1
  2. package/.dist/actioniq/metadata.json +4 -0
  3. package/.dist/actioniq/playbook.etag.json +1 -1
  4. package/.dist/actioniq/playbook.json +2 -2
  5. package/.dist/adobe-experience-platform-interact/kit.etag.json +1 -1
  6. package/.dist/adobe-experience-platform-interact/metadata.json +4 -0
  7. package/.dist/adobe-experience-platform-interact/playbook.etag.json +1 -1
  8. package/.dist/adobe-experience-platform-interact/playbook.json +2 -2
  9. package/.dist/amazon-dsp-capi/kit.etag.json +1 -1
  10. package/.dist/amazon-dsp-capi/metadata.json +9 -1
  11. package/.dist/amazon-dsp-capi/playbook.etag.json +1 -1
  12. package/.dist/amazon-dsp-capi/playbook.json +6 -118
  13. package/.dist/blueshift/kit.etag.json +1 -1
  14. package/.dist/blueshift/metadata.json +4 -0
  15. package/.dist/blueshift/playbook.etag.json +1 -1
  16. package/.dist/blueshift/playbook.json +2 -2
  17. package/.dist/button/kit.etag.json +1 -1
  18. package/.dist/button/metadata.json +4 -0
  19. package/.dist/button/playbook.etag.json +1 -1
  20. package/.dist/button/playbook.json +2 -2
  21. package/.dist/clinch/kit.etag.json +1 -1
  22. package/.dist/clinch/metadata.json +4 -0
  23. package/.dist/clinch/playbook.etag.json +1 -1
  24. package/.dist/clinch/playbook.json +2 -2
  25. package/.dist/commission-junction/kit.etag.json +1 -1
  26. package/.dist/commission-junction/metadata.json +4 -0
  27. package/.dist/commission-junction/playbook.etag.json +1 -1
  28. package/.dist/commission-junction/playbook.json +3 -3
  29. package/.dist/criteo/connection.etag.json +1 -1
  30. package/.dist/criteo/connection.json +1 -1
  31. package/.dist/criteo/kit.etag.json +1 -1
  32. package/.dist/criteo/metadata.json +4 -0
  33. package/.dist/criteo/playbook.etag.json +1 -1
  34. package/.dist/criteo/playbook.json +7 -7
  35. package/.dist/facebook-pixel/kit.etag.json +1 -1
  36. package/.dist/facebook-pixel/metadata.json +8 -0
  37. package/.dist/facebook-pixel/playbook.etag.json +1 -1
  38. package/.dist/facebook-pixel/playbook.json +14 -8
  39. package/.dist/google-cm360/kit.etag.json +1 -1
  40. package/.dist/hubspot-event/kit.etag.json +1 -1
  41. package/.dist/hubspot-event/metadata.json +4 -0
  42. package/.dist/hubspot-event/playbook.etag.json +1 -1
  43. package/.dist/hubspot-event/playbook.json +2 -2
  44. package/.dist/linkedin-conversions/connection.etag.json +1 -1
  45. package/.dist/linkedin-conversions/connection.json +1 -1
  46. package/.dist/linkedin-conversions/kit.etag.json +1 -1
  47. package/.dist/linkedin-conversions/metadata.json +8 -0
  48. package/.dist/linkedin-conversions/playbook.etag.json +1 -1
  49. package/.dist/linkedin-conversions/playbook.json +109 -45
  50. package/.dist/magellan-ai/kit.etag.json +1 -1
  51. package/.dist/magellan-ai/metadata.json +4 -0
  52. package/.dist/magellan-ai/playbook.etag.json +1 -1
  53. package/.dist/magellan-ai/playbook.json +2 -2
  54. package/.dist/merkle/kit.etag.json +1 -1
  55. package/.dist/merkle/metadata.json +4 -0
  56. package/.dist/merkle/playbook.etag.json +1 -1
  57. package/.dist/merkle/playbook.json +3 -11
  58. package/.dist/microsoft-ads/kit.etag.json +1 -1
  59. package/.dist/microsoft-ads/metadata.json +4 -0
  60. package/.dist/microsoft-ads/playbook.etag.json +1 -1
  61. package/.dist/microsoft-ads/playbook.json +2 -2
  62. package/.dist/nextdoor-capi/kit.etag.json +1 -1
  63. package/.dist/nextdoor-capi/metadata.json +4 -0
  64. package/.dist/nextdoor-capi/playbook.etag.json +1 -1
  65. package/.dist/nextdoor-capi/playbook.json +11 -11
  66. package/.dist/podscribe/kit.etag.json +1 -1
  67. package/.dist/podscribe/metadata.json +8 -0
  68. package/.dist/podscribe/playbook.etag.json +1 -1
  69. package/.dist/podscribe/playbook.json +3 -3
  70. package/.dist/rakuten-conversions/connection.etag.json +1 -0
  71. package/.dist/rakuten-conversions/connection.json +24 -0
  72. package/.dist/rakuten-conversions/kit.etag.json +1 -0
  73. package/.dist/rakuten-conversions/metadata.json +21 -0
  74. package/.dist/rakuten-conversions/playbook.etag.json +1 -0
  75. package/.dist/rakuten-conversions/playbook.json +279 -0
  76. package/.dist/rasp/kit.etag.json +1 -1
  77. package/.dist/rasp/metadata.json +4 -0
  78. package/.dist/rasp/playbook.etag.json +1 -1
  79. package/.dist/rasp/playbook.json +2 -2
  80. package/.dist/reddit-ads/kit.etag.json +1 -1
  81. package/.dist/reddit-ads/metadata.json +4 -0
  82. package/.dist/reddit-ads/playbook.etag.json +1 -1
  83. package/.dist/reddit-ads/playbook.json +3 -3
  84. package/.dist/ringier-axel-springer-poland/kit.etag.json +1 -1
  85. package/.dist/ringier-axel-springer-poland/metadata.json +4 -0
  86. package/.dist/ringier-axel-springer-poland/playbook.etag.json +1 -1
  87. package/.dist/ringier-axel-springer-poland/playbook.json +2 -2
  88. package/.dist/roku/kit.etag.json +1 -1
  89. package/.dist/roku/metadata.json +4 -0
  90. package/.dist/roku/playbook.etag.json +1 -1
  91. package/.dist/roku/playbook.json +2 -2
  92. package/.dist/rtb-house/kit.etag.json +1 -1
  93. package/.dist/rtb-house/metadata.json +4 -0
  94. package/.dist/rtb-house/playbook.etag.json +1 -1
  95. package/.dist/rtb-house/playbook.json +2 -2
  96. package/.dist/salesforce-cdp/kit.etag.json +1 -1
  97. package/.dist/salesforce-cdp/metadata.json +4 -0
  98. package/.dist/salesforce-cdp/playbook.etag.json +1 -1
  99. package/.dist/salesforce-cdp/playbook.json +2 -2
  100. package/.dist/snapchat-capi/kit.etag.json +1 -1
  101. package/.dist/snapchat-capi/metadata.json +4 -0
  102. package/.dist/snapchat-capi/playbook.etag.json +1 -1
  103. package/.dist/snapchat-capi/playbook.json +10 -10
  104. package/.dist/thetradedesk-conversion-events/kit.etag.json +1 -1
  105. package/.dist/thetradedesk-conversion-events/metadata.json +4 -0
  106. package/.dist/thetradedesk-conversion-events/playbook.etag.json +1 -1
  107. package/.dist/thetradedesk-conversion-events/playbook.json +2 -2
  108. package/.dist/thetradedesk-data-advertiser-firstparty/kit.etag.json +1 -1
  109. package/.dist/thetradedesk-data-advertiser-firstparty/metadata.json +4 -0
  110. package/.dist/thetradedesk-data-advertiser-firstparty/playbook.etag.json +1 -1
  111. package/.dist/thetradedesk-data-advertiser-firstparty/playbook.json +2 -2
  112. package/.dist/tiktok/kit.etag.json +1 -1
  113. package/.dist/tiktok/metadata.json +4 -0
  114. package/.dist/tiktok/playbook.etag.json +1 -1
  115. package/.dist/tiktok/playbook.json +3 -3
  116. package/.dist/ttd-conversions/kit.etag.json +1 -1
  117. package/.dist/ttd-conversions/metadata.json +9 -1
  118. package/.dist/ttd-conversions/playbook.etag.json +1 -1
  119. package/.dist/ttd-conversions/playbook.json +9 -41
  120. package/.dist/twitter-conversions/kit.etag.json +1 -1
  121. package/.dist/twitter-conversions/metadata.json +4 -0
  122. package/.dist/twitter-conversions/playbook.etag.json +1 -1
  123. package/.dist/twitter-conversions/playbook.json +3 -3
  124. package/.dist/x-ads/kit.etag.json +1 -1
  125. package/.dist/x-ads/metadata.json +4 -0
  126. package/.dist/x-ads/playbook.etag.json +1 -1
  127. package/.dist/x-ads/playbook.json +2 -2
  128. package/README.md +60 -56
  129. package/index.js +11 -0
  130. package/package.json +1 -1
@@ -24,6 +24,10 @@
24
24
  {
25
25
  "date": "2024-10-23T00:00:00.000Z",
26
26
  "note": "Version: 1.1.0\nAdded header `Accept-Encoding: application/json`"
27
+ },
28
+ {
29
+ "date": "2025-07-30T00:00:00.000Z",
30
+ "note": "Version: 1.2.0\nUpdated Lua timestamp fallback logic to use input.timestamp"
27
31
  }
28
32
  ]
29
33
  }
@@ -1 +1 @@
1
- "60fd1868c4e23a0c6fda36447fa826b0"
1
+ "6534b17daaf5892a2e1d9fbd140b7ef0"
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.1.0",
2
+ "version": "1.2.0",
3
3
  "params": [
4
4
  {
5
5
  "name": "TTL_IN_MINUTES",
@@ -32,7 +32,7 @@
32
32
  {
33
33
  "expression": {
34
34
  "lang": "lua",
35
- "body": "\n-- variables needed from input schema --\nevent = LOWER(input.event)\nevent_type = LOWER(input.type)\npage_title = LOWER(input.context.page.title)\ntimestamp = input.originalTimestamp\nproducts = input.properties.products\ntotal = input.properties.total\nsingle_product_name = LOWER(input.properties.name)\nsingle_product_sku = LOWER(input.properties.sku)\n-- END --\n\nif event == null\nthen\n segment_name = \"page view | \" .. event_type .. \" | \" .. page_title\n return {{\n Name = segment_name,\n TTLInMinutes = TO_ROUNDED_INT($$TTL_IN_MINUTES$$),\n TimestampUtc = timestamp\n }}\nelse\n segment_name = event\n if products == null\n then\n\n if event == \"product_added\" or segment_name == \"product_viewed\"\n then\n segment_name = event .. \" | \" .. single_product_name .. \" | \" .. single_product_sku\n end\n return {{\n Name = segment_name,\n TTLInMinutes = TO_ROUNDED_INT($$TTL_IN_MINUTES$$),\n TimestampUtc = timestamp\n }}\n\n else\n p = {}\n p = MAP(products, function(p)\n return {\n Name = LOWER(event .. \" | \" .. p.name .. \" | \" .. p.sku),\n TTLInMinutes = TO_ROUNDED_INT($$TTL_IN_MINUTES$$),\n TimestampUtc = timestamp\n }\n end\n )\n if total ~= null\n then\n\n -- function --\n function totalRounded(total, divisible)\n total = math.floor(total)\n if total <= 0\n then\n return \"= 0\"\n end\n total = math.floor((total + divisible) / divisible) * divisible\n return \"< \" .. total\n end\n -- END --\n\n table.insert(p, {\n Name = \"order total \" .. totalRounded(tonumber(total), 100),\n TTLInMinutes = TO_ROUNDED_INT($$TTL_IN_MINUTES$$),\n TimestampUtc = timestamp,\n })\n end\n return p\n end\nend"
35
+ "body": "\n-- variables needed from input schema --\nevent = LOWER(input.event)\nevent_type = LOWER(input.type)\npage_title = LOWER(input.context.page.title)\ntimestamp = input.timestamp or input.originalTimestamp or input.sentAt\nproducts = input.properties.products\ntotal = input.properties.total\nsingle_product_name = LOWER(input.properties.name)\nsingle_product_sku = LOWER(input.properties.sku)\n-- END --\n\nif event == null\nthen\n segment_name = \"page view | \" .. event_type .. \" | \" .. page_title\n return {{\n Name = segment_name,\n TTLInMinutes = TO_ROUNDED_INT($$TTL_IN_MINUTES$$),\n TimestampUtc = timestamp\n }}\nelse\n segment_name = event\n if products == null\n then\n\n if event == \"product_added\" or segment_name == \"product_viewed\"\n then\n segment_name = event .. \" | \" .. single_product_name .. \" | \" .. single_product_sku\n end\n return {{\n Name = segment_name,\n TTLInMinutes = TO_ROUNDED_INT($$TTL_IN_MINUTES$$),\n TimestampUtc = timestamp\n }}\n\n else\n p = {}\n p = MAP(products, function(p)\n return {\n Name = LOWER(event .. \" | \" .. p.name .. \" | \" .. p.sku),\n TTLInMinutes = TO_ROUNDED_INT($$TTL_IN_MINUTES$$),\n TimestampUtc = timestamp\n }\n end\n )\n if total ~= null\n then\n\n -- function --\n function totalRounded(total, divisible)\n total = math.floor(total)\n if total <= 0\n then\n return \"= 0\"\n end\n total = math.floor((total + divisible) / divisible) * divisible\n return \"< \" .. total\n end\n -- END --\n\n table.insert(p, {\n Name = \"order total \" .. totalRounded(tonumber(total), 100),\n TTLInMinutes = TO_ROUNDED_INT($$TTL_IN_MINUTES$$),\n TimestampUtc = timestamp,\n })\n end\n return p\n end\nend"
36
36
  }
37
37
  }
38
38
  ]
@@ -1 +1 @@
1
- "b72c7dae2a75430b2cc62803fe03b9b3"
1
+ "de8c49f9916fb9ec1a0fba3a58d88919"
@@ -36,6 +36,10 @@
36
36
  {
37
37
  "date": "2025-03-12T00:00:00.000Z",
38
38
  "note": "Version: 2.3.0\nMapping updates due to TikTok API changes"
39
+ },
40
+ {
41
+ "date": "2025-07-30T00:00:00.000Z",
42
+ "note": "Version: 2.4.0\nReplaced context.traits with traits."
39
43
  }
40
44
  ]
41
45
  }
@@ -1 +1 @@
1
- "94c19646074a59b0eb043756bc6f2494"
1
+ "1b9e32f38353ed5eaa2735f04e6f9da8"
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "2.3.0",
2
+ "version": "2.4.0",
3
3
  "default": {
4
4
  "filters": [
5
5
  {
@@ -83,7 +83,7 @@
83
83
  "transforms": [
84
84
  {
85
85
  "expression": {
86
- "body": "local email = input.traits.email or input.context.traits.email\nif (email) then return TO_SHA256_HASH(LOWER(TRIM(email))) end",
86
+ "body": "local email = input.traits.email\nif (email) then return TO_SHA256_HASH(LOWER(TRIM(email))) end",
87
87
  "lang": "lua"
88
88
  }
89
89
  }
@@ -95,7 +95,7 @@
95
95
  "transforms": [
96
96
  {
97
97
  "expression": {
98
- "body": "local phone = input.traits.phone or input.context.traits.phone\nif (phone) then return TO_SHA256_HASH(LOWER(TRIM(phone))) end",
98
+ "body": "local phone = input.traits.phone\nif (phone) then return TO_SHA256_HASH(LOWER(TRIM(phone))) end",
99
99
  "lang": "lua"
100
100
  }
101
101
  }
@@ -1 +1 @@
1
- "9888ce063a893bd7b1ce5565a513df7e"
1
+ "5c4069cedc20ab1af6dc46875a3845bd"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "isDraft": false,
3
3
  "isDeprecated": false,
4
- "isBeta": true,
4
+ "isBeta": false,
5
5
  "friendlyName": "The Trade Desk - Conversions",
6
6
  "description": "The Trade Desk is a demand-side platform (DSP) that enables advertisers to purchase and manage digital advertising campaigns across various channels, including display, video, audio, native, and connected TV.",
7
7
  "logo": "https://cdn.metarouter.io/ttd-conversions.png",
@@ -20,6 +20,14 @@
20
20
  {
21
21
  "date": "2025-07-02T21:00:00.000Z",
22
22
  "note": "Version: 0.2.0\nRemoving mappings related to Unified ID 2.0"
23
+ },
24
+ {
25
+ "date": "2025-07-30T21:00:00.000Z",
26
+ "note": "Version: 1.0.0\nStable Release"
27
+ },
28
+ {
29
+ "date": "2025-07-30T21:00:00.000Z",
30
+ "note": "Version: 1.1.0\nReplaced context.traits with traits."
23
31
  }
24
32
  ]
25
33
  }
@@ -1 +1 @@
1
- "3d0765d563eabce993d7de1e053f43bc"
1
+ "d9b4d5a474ccd8534589d2683ea4a1fe"
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.2.0",
2
+ "version": "1.1.0",
3
3
  "params": [
4
4
  {
5
5
  "name": "PIXEL_ID",
@@ -61,52 +61,20 @@
61
61
  "outputKey": "referrer_url"
62
62
  },
63
63
  {
64
- "inputKey": "input",
65
- "outputKey": "city",
66
- "transforms": [
67
- {
68
- "expression": {
69
- "lang": "lua",
70
- "body": "local city = input.traits.address.city or input.context.traits.address.city\nif (city) then return city end"
71
- }
72
- }
73
- ]
64
+ "inputKey": "traits.address.city",
65
+ "outputKey": "city"
74
66
  },
75
67
  {
76
- "inputKey": "input",
77
- "outputKey": "region",
78
- "transforms": [
79
- {
80
- "expression": {
81
- "lang": "lua",
82
- "body": "local state = input.traits.address.state or input.context.traits.address.state\nif (state) then return state end"
83
- }
84
- }
85
- ]
68
+ "inputKey": "traits.address.state",
69
+ "outputKey": "region"
86
70
  },
87
71
  {
88
- "inputKey": "input",
89
- "outputKey": "zip",
90
- "transforms": [
91
- {
92
- "expression": {
93
- "lang": "lua",
94
- "body": "local postalCode = input.traits.address.postalCode or input.context.traits.address.postalCode\nif (postalCode) then return postalCode end"
95
- }
96
- }
97
- ]
72
+ "inputKey": "traits.address.postalCode",
73
+ "outputKey": "zip"
98
74
  },
99
75
  {
100
- "inputKey": "input",
101
- "outputKey": "country",
102
- "transforms": [
103
- {
104
- "expression": {
105
- "lang": "lua",
106
- "body": "local country = input.traits.address.country or input.context.traits.address.country\nif (country) then return country end"
107
- }
108
- }
109
- ]
76
+ "inputKey": "traits.address.country",
77
+ "outputKey": "country"
110
78
  }
111
79
  ],
112
80
  "expressions": [
@@ -1 +1 @@
1
- "36225b15af76f4f8f1a9c9646a7ae224"
1
+ "e75f56621369952587c7a59369360e6b"
@@ -32,6 +32,10 @@
32
32
  {
33
33
  "date": "2024-10-23T00:00:00.000Z",
34
34
  "note": "Version: 1.2.0\nAdded header `Accept-Encoding: application/json`"
35
+ },
36
+ {
37
+ "date": "2025-07-30T00:00:00.000Z",
38
+ "note": "Version: 1.3.0\nReplaced context.traits with traits."
35
39
  }
36
40
  ]
37
41
  }
@@ -1 +1 @@
1
- "d1c781c634bc5a674e675fdd46e67144"
1
+ "90c8fec8a8fec1c45b0483cdd628bdfb"
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.2.0",
2
+ "version": "1.3.0",
3
3
  "params": [
4
4
  {
5
5
  "name": "ACCOUNT_ID",
@@ -53,7 +53,7 @@
53
53
  },
54
54
  {
55
55
  "inputPathExists": {
56
- "inputPath": "context.traits.email"
56
+ "inputPath": "traits.email"
57
57
  }
58
58
  }
59
59
  ]
@@ -82,7 +82,7 @@
82
82
  "outputKey": "twclid"
83
83
  },
84
84
  {
85
- "inputKey": "context.traits.email",
85
+ "inputKey": "traits.email",
86
86
  "outputKey": "hashed_email",
87
87
  "transforms": [
88
88
  {
@@ -1 +1 @@
1
- "603dd59e3df80f07f371de051b29aaaf"
1
+ "8b29b8579c12bdbdaaa21cb5cea3ea3c"
@@ -20,6 +20,10 @@
20
20
  {
21
21
  "date": "2024-09-25T21:00:00.000Z",
22
22
  "note": "Version: 1.0.0\nStable release"
23
+ },
24
+ {
25
+ "date": "2025-07-30T00:00:00.000Z",
26
+ "note": "Version: 1.1.0\nReplaced context.traits with traits."
23
27
  }
24
28
  ]
25
29
  }
@@ -1 +1 @@
1
- "e2d5f9c04c1ac695ffa566d45c888dd9"
1
+ "772f7cad8e426b4e369517ec89b925a9"
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.0.0",
2
+ "version": "1.1.0",
3
3
  "default": {
4
4
  "enrichments": [
5
5
  {
@@ -25,7 +25,7 @@
25
25
  {
26
26
  "expression": {
27
27
  "lang": "lua",
28
- "body": "local identifiers = {}\n\nlocal email = input.traits.email or input.context.traits.email\nif (email) then\n table.insert(identifiers, { hashed_email = TO_SHA256_HASH(LOWER(TRIM(email))) })\nend\n\nlocal phone = input.traits.phone or input.context.traits.phone\nif (phone) then\n table.insert(identifiers, { hashed_phone_number = TO_SHA256_HASH(LOWER(TRIM(phone))) })\nend\n\nif (input.context.providers.xAds.twclid) then\n table.insert(identifiers, { twclid = input.context.providers.xAds.twclid })\nend\nif (input.context.ip or input.context.userAgent) then\n table.insert(identifiers, {\n ip_address = input.context.ip,\n user_agent = input.context.userAgent\n })\nend\n\nif #identifiers > 0 then\n return identifiers\nend"
28
+ "body": "local identifiers = {}\n\nlocal email = input.traits.email\nif (email) then\n table.insert(identifiers, { hashed_email = TO_SHA256_HASH(LOWER(TRIM(email))) })\nend\n\nlocal phone = input.traits.phone\nif (phone) then\n table.insert(identifiers, { hashed_phone_number = TO_SHA256_HASH(LOWER(TRIM(phone))) })\nend\n\nif (input.context.providers.xAds.twclid) then\n table.insert(identifiers, { twclid = input.context.providers.xAds.twclid })\nend\nif (input.context.ip or input.context.userAgent) then\n table.insert(identifiers, {\n ip_address = input.context.ip,\n user_agent = input.context.userAgent\n })\nend\n\nif #identifiers > 0 then\n return identifiers\nend"
29
29
  }
30
30
  }
31
31
  ]
package/README.md CHANGED
@@ -5,61 +5,74 @@ event methods, you will create a rich, actionable data set from your website, mo
5
5
  server, and other sources. It is particularly useful for tracking the pages or screens your
6
6
  users visit, the actions they take on your property, and whether the user has been identified
7
7
  previously.
8
+ ## 2025-08
9
+ - Amazon DSP CAPI
10
+ - Meta CAPI
11
+ - Linkedin Ads - Conversions (BETA)
12
+
8
13
  ## 2025-07
9
- - Amazon DSP CAPI (BETA)
14
+ - ActionIQ
15
+ - Adobe Experience Platform - Interact (BETA)
10
16
  - Microsoft Advertising (BETA)
11
- - Linkedin Ads - Conversions (BETA)
17
+ - Blueshift
18
+ - Button
19
+ - Clinch
20
+ - Commission Junction
21
+ - Criteo
22
+ - HubSpot (BETA)
23
+ - Magellan AI
24
+ - Merkle
25
+ - Microsoft Ads
12
26
  - Movable Ink - Customer Data
27
+ - Nextdoor - CAPI
13
28
  - Perion
14
- - The Trade Desk - Conversions (BETA)
29
+ - Podscribe
30
+ - Rakuten Conversions (BETA)
31
+ - Ringier Axel Springer Poland (BETA)
32
+ - Reddit Ads
33
+ - Ringier Axel Springer Poland
34
+ - Roku
35
+ - RTB House (BETA)
36
+ - Salesforce CDP
37
+ - Snapchat - CAPI
38
+ - TheTradeDesk Conversion Events
39
+ - TheTradeDesk Firstparty Advertiser Data
40
+ - TikTok
41
+ - The Trade Desk - Conversions
42
+ - X Ads - Web Conversions
15
43
 
16
44
  ## 2025-06
17
45
  - Kochava (BETA)
18
46
  - Kochava IdentityLink (BETA)
19
- - Ringier Axel Springer Poland (BETA)
20
47
 
21
48
  ## 2025-05
22
49
  - Amazon Kinesis (BETA)
23
- - TheTradeDesk Conversion Events
24
50
 
25
51
  ## 2025-04
26
52
  - Amazon Data Firehose
27
- - Meta CAPI
28
- - Microsoft Ads
29
- - Podscribe
30
- - Reddit Ads
31
- - Ringier Axel Springer Poland
32
53
  - Yahoo Enhanced Attribution (BETA)
33
54
  - Yahoo Pixel API
34
55
 
35
56
  ## 2025-03
36
- - Adobe Experience Platform - Interact (BETA)
37
57
  - Amplitude
38
- - Button
39
- - TikTok
40
58
 
41
59
  ## 2025-02
42
60
  - AWIN
43
- - Merkle
44
61
  - Moloco Commerce Media
45
62
 
46
63
  ## 2025-01
47
- - Blueshift
48
64
  - Google BigQuery
49
65
  - Iterable (BETA)
50
66
 
51
67
  ## 2024-12
52
68
  - Google Analytics 4 (Collect) (BETA)
53
- - RTB House (BETA)
54
69
 
55
70
  ## 2024-11
56
71
  - Convert (BETA)
57
72
  - Innervate
58
- - Snapchat - CAPI
59
73
  - Zeotap (BETA)
60
74
 
61
75
  ## 2024-10
62
- - ActionIQ
63
76
  - Acuity Ads
64
77
  - Adobe ID (BETA)
65
78
  - Amnet (BETA)
@@ -67,37 +80,27 @@ previously.
67
80
  - Amperity (BETA)
68
81
  - AppsFlyer Android
69
82
  - AppsFlyer iOS
70
- - Clinch
71
- - Commission Junction
72
- - Criteo
73
83
  - Customer.io
74
84
  - Google Ads - Conversions
75
85
  - Google Analytics
76
86
  - Firebase (BETA)
77
87
  - Heap (BETA)
78
- - HubSpot (BETA)
79
88
  - Impact Radius
80
89
  - InMarket (BETA)
81
90
  - Lytics
82
- - Magellan AI
83
91
  - MIQ (Xandr) (BETA)
84
92
  - Mixpanel
85
93
  - Movable Ink (BETA)
86
- - Nextdoor - CAPI
87
94
  - Pinterest Ads
88
95
  - Pinterest CAPI
89
96
  - Podsights (BETA)
90
- - Roku
91
97
  - Roomvo (BETA)
92
- - Salesforce CDP
93
98
  - Snapchat Ads
94
- - TheTradeDesk Firstparty Advertiser Data
95
99
  - VideoAmp (BETA)
96
100
  - Xandr
97
101
 
98
102
  ## 2024-09
99
103
  - CM360 - Floodlights (BETA)
100
- - X Ads - Web Conversions
101
104
 
102
105
  ## 2024-08
103
106
  - Webhooks
@@ -127,42 +130,53 @@ previously.
127
130
 
128
131
  | Kit Name | Date | Latest Note |
129
132
  |----------|------|-------------|
130
- | Amazon DSP CAPI (BETA) | 2025-07 | Version: 0.2.0 Adding oauth2Auth and updating headers. |
133
+ | Amazon DSP CAPI | 2025-08 | Version: 1.0.0 Stable Release |
134
+ | Meta CAPI | 2025-08 | Version: 1.7.0 Updated event_time key mapping |
135
+ | Linkedin Ads - Conversions (BETA) | 2025-08 | Version: 0.3.0 Replaced enrichment with Lua mapping, defaulted currency to 'USD'. |
136
+ | ActionIQ | 2025-07 | Version: 1.3.0 Updated Lua timestamp fallback logic to use input.timestamp |
137
+ | Adobe Experience Platform - Interact (BETA) | 2025-07 | Version: 0.8.0 Replaced context.traits with traits. |
131
138
  | Microsoft Advertising (BETA) | 2025-07 | Version: 0.3.0 TABLE_SLICE custom function usage. |
132
- | Linkedin Ads - Conversions (BETA) | 2025-07 | Version: 0.1.0 Beta Mode LinkedIn Ads - Conversions Initial Beta Release |
139
+ | Blueshift | 2025-07 | Version: 1.1.0 Replaced context.traits with traits. |
140
+ | Button | 2025-07 | Version: 1.1.0 Replaced context.traits with traits. |
141
+ | Clinch | 2025-07 | Version: 1.3.0 Replaced context.traits with traits. |
142
+ | Commission Junction | 2025-07 | Version: 1.3.0 Replaced originalTimestamp with timestamp |
143
+ | Criteo | 2025-07 | Endpoint updated to `https://sslwidget.criteo.com/s2s/v2/event` |
144
+ | HubSpot (BETA) | 2025-07 | Version: 0.4.0 Replaced context.traits with traits. |
145
+ | Magellan AI | 2025-07 | Version: 1.2.0 Replaced context.traits with traits. |
146
+ | Merkle | 2025-07 | Version: 1.3.0 Replaced context.traits with traits. |
147
+ | Microsoft Ads | 2025-07 | Version: 1.1.0 Replaced context.traits with traits. |
133
148
  | Movable Ink - Customer Data | 2025-07 | Version: 1.3.0 TABLE_SLICE custom function usage. |
149
+ | Nextdoor - CAPI | 2025-07 | Version: 1.3.0 Replaced context.traits with traits. |
134
150
  | Perion | 2025-07 | Version: 1.0.0 Stable Release |
135
- | The Trade Desk - Conversions (BETA) | 2025-07 | Version: 0.2.0 Removing mappings related to Unified ID 2.0 |
151
+ | Podscribe | 2025-07 | Version: 1.1.0 Replaced context.traits with traits. |
152
+ | Rakuten Conversions (BETA) | 2025-07 | Version: 0.1.0 Beta Version Rakuten Conversions initial release |
153
+ | Ringier Axel Springer Poland (BETA) | 2025-07 | Version: 0.2.0 Replaced context.traits with traits. |
154
+ | Reddit Ads | 2025-07 | Version: 1.5.0 Replaced context.traits with traits. |
155
+ | Ringier Axel Springer Poland | 2025-07 | Version: 1.1.0 Replaced context.traits with traits. |
156
+ | Roku | 2025-07 | Version: 1.2.0 Replaced context.traits with traits. |
157
+ | RTB House (BETA) | 2025-07 | Version: 0.3.1 Replaced context.traits with traits. |
158
+ | Salesforce CDP | 2025-07 | Version: 1.2.0 Replaced originalTimestamp with timestamp |
159
+ | Snapchat - CAPI | 2025-07 | Version: 1.4.0 Replaced context.traits with traits. |
160
+ | TheTradeDesk Conversion Events | 2025-07 | Version: 1.3.0 Replaced originalTimestamp with timestamp |
161
+ | TheTradeDesk Firstparty Advertiser Data | 2025-07 | Version: 1.2.0 Updated Lua timestamp fallback logic to use input.timestamp |
162
+ | TikTok | 2025-07 | Version: 2.4.0 Replaced context.traits with traits. |
163
+ | The Trade Desk - Conversions | 2025-07 | Version: 1.0.0 Stable Release |
164
+ | X Ads - Web Conversions | 2025-07 | Version: 1.1.0 Replaced context.traits with traits. |
136
165
  | Kochava (BETA) | 2025-06 | Version: 0.1.0 Beta Version Kochava non-identify initial release Moved the identify event to its dedicated starter-kit: kochava-identitylink |
137
166
  | Kochava IdentityLink (BETA) | 2025-06 | Version: 0.1.0 Beta Version Kochava IdentityLink initial release |
138
- | Ringier Axel Springer Poland (BETA) | 2025-06 | Version: 0.1.0 Beta Version Ringier Axel Springer Poland initial release |
139
167
  | Amazon Kinesis (BETA) | 2025-05 | Version: 0.1.0 Beta Version Amazon Kinesis initial release. |
140
- | TheTradeDesk Conversion Events | 2025-05 | Version: 1.2.0 Deprecated |
141
168
  | Amazon Data Firehose | 2025-04 | Version: 1.0.0 Stable release |
142
- | Meta CAPI | 2025-04 | Version: 1.5.0 Friendly name updated |
143
- | Microsoft Ads | 2025-04 | Version: 1.0.0 Microsoft Ads stable release |
144
- | Podscribe | 2025-04 | Version: 1.0.0 Stable release |
145
- | Reddit Ads | 2025-04 | Version: 1.4.0 Added mapping for phone number |
146
- | Ringier Axel Springer Poland | 2025-04 | Version: 1.0.0 New header: `X-Forwarded-For` Param update: `adp_session` retrieved from new sync field `context.providers.ringierAxelSpringerPoland.adp_session` Stable release |
147
169
  | Yahoo Enhanced Attribution (BETA) | 2025-04 | Version: 0.4.0 Deprecated |
148
170
  | Yahoo Pixel API | 2025-04 | Version: 1.3.0 Friendly name updated |
149
- | Adobe Experience Platform - Interact (BETA) | 2025-03 | Version: 0.7.0 Updated friendlyName Updated kit name |
150
171
  | Amplitude | 2025-03 | Version: 1.2.0 Added API_URL param to accommodate Amplitude's EU residency server |
151
- | Button | 2025-03 | Version: 0.1.1 Fix stanza spelling |
152
- | TikTok | 2025-03 | Version: 2.3.0 Mapping updates due to TikTok API changes |
153
172
  | AWIN | 2025-02 | Version: 1.0.0 Stable release |
154
- | Merkle | 2025-02 | Version: 1.2.0 Updated mappings to comply with Merkle's requirements Added required fields: ipAddress, userAgent, pageUrl Added optional fields: rawEmail Updated type field of page event to viewpage |
155
173
  | Moloco Commerce Media | 2025-02 | Version: 1.0.0 New Event: session_started -> Mapped to Moloco's LAND event (web) New Event: application_open -> Mapped to Moloco's LAND event (mobile) Updated Event: screen -> Mapped to Moloco's PAGE_VIEW or HOME event based on input.name and/or input.properties.name (mobile) Updated Event: order_completed -> Added mapping for Moloco's shipping_charge field using MetaRouter's properties.shipping (web & mobile) Stable release |
156
- | Blueshift | 2025-01 | Version: 1.0.0 Stable release |
157
174
  | Google BigQuery | 2025-01 | Version: 1.1.0 Adding support for table overrides |
158
175
  | Iterable (BETA) | 2025-01 | Version: 0.4.0 Add user agent and ip to default and order_completed stanzas Remove redundant properties-dataFields mapping from identify events |
159
176
  | Google Analytics 4 (Collect) (BETA) | 2024-12 | Version: 0.4.0 Added user property expression for anonymousId. |
160
- | RTB House (BETA) | 2024-12 | Version: 0.2.1 Updated Endpoint URL Added new fields for all events: page URL (`su`) and page referrer (`sr`) Added new events: identify, page, products_searched, product_list_viewed, product_viewed, product_added, product_added_to_wishlist, cart_viewed, checkout_started |
161
177
  | Convert (BETA) | 2024-11 | Version: 0.3.0 Added new deduplication parameter for all events, `tid` |
162
178
  | Innervate | 2024-11 | Version: 1.0.0 Updated friendly name Stable release |
163
- | Snapchat - CAPI | 2024-11 | Version: 1.3.0 Added the `_scid` cookie value as `user_data.sc_cookie1` |
164
179
  | Zeotap (BETA) | 2024-11 | Version: 0.4.0 Added new mapping for `context_country` |
165
- | ActionIQ | 2024-10 | Version: 1.2.0 Added header `Accept-Encoding: application/json` |
166
180
  | Acuity Ads | 2024-10 | Version: 1.1.0 Added header `Accept-Encoding: application/json` |
167
181
  | Adobe ID (BETA) | 2024-10 | Version: 0.2.0 Added header `Accept-Encoding: application/json` |
168
182
  | Amnet (BETA) | 2024-10 | Version: 0.2.0 Added header `Accept-Encoding: application/json` |
@@ -170,35 +184,25 @@ previously.
170
184
  | Amperity (BETA) | 2024-10 | Version: 0.2.0 Added header `Accept-Encoding: application/json` |
171
185
  | AppsFlyer Android | 2024-10 | Version: 1.2.0 Added header `Accept-Encoding: application/json` |
172
186
  | AppsFlyer iOS | 2024-10 | Version: 1.2.0 Added header `Accept-Encoding: application/json` |
173
- | Clinch | 2024-10 | Version: 1.2.0 Added header `Accept-Encoding: application/json` |
174
- | Commission Junction | 2024-10 | Version: 1.2.0 Added header `Accept-Encoding: application/json` |
175
- | Criteo | 2024-10 | Version: 1.1.0 Added header `Accept-Encoding: application/json` |
176
187
  | Customer.io | 2024-10 | Version: 1.1.0 Added header `Accept-Encoding: application/json` |
177
188
  | Google Ads - Conversions | 2024-10 | Version: 1.3.0 Added header `Accept-Encoding: application/json` |
178
189
  | Google Analytics | 2024-10 | Deprecating kit |
179
190
  | Firebase (BETA) | 2024-10 | Version: 0.2.0 Updated header `Accept-Encoding: application/json` |
180
191
  | Heap (BETA) | 2024-10 | Version: 0.2.0 Updated header `Accept-Encoding: application/json` |
181
- | HubSpot (BETA) | 2024-10 | Version: 0.3.0 Added header `Accept-Encoding: application/json` |
182
192
  | Impact Radius | 2024-10 | Version: 1.2.0 Added header `Accept-Encoding: application/json` |
183
193
  | InMarket (BETA) | 2024-10 | Version: 0.2.0 Added header `Accept-Encoding: application/json` |
184
194
  | Lytics | 2024-10 | Version: 1.1.0 Added header `Accept-Encoding: application/json` |
185
- | Magellan AI | 2024-10 | Version: 1.1.0 Added header `Accept-Encoding: application/json` |
186
195
  | MIQ (Xandr) (BETA) | 2024-10 | Version: 0.2.0 Added header `Accept-Encoding: application/json` |
187
196
  | Mixpanel | 2024-10 | Version: 1.2.0 Added header `Accept-Encoding: application/json` |
188
197
  | Movable Ink (BETA) | 2024-10 | Version: 0.2.0 Added header `Accept-Encoding: application/json` |
189
- | Nextdoor - CAPI | 2024-10 | Version: 1.2.0 Added header `Accept-Encoding: application/json` |
190
198
  | Pinterest Ads | 2024-10 | Version: 1.1.0 Added header `Accept-Encoding: application/json` |
191
199
  | Pinterest CAPI | 2024-10 | Version: 1.2.0 Added header `Accept-Encoding: application/json` |
192
200
  | Podsights (BETA) | 2024-10 | Version: 0.2.0 Added header `Accept-Encoding: application/json` |
193
- | Roku | 2024-10 | Version: 1.1.0 Added header `Accept-Encoding: application/json` |
194
201
  | Roomvo (BETA) | 2024-10 | Version: 0.2.0 Added header `Accept-Encoding: application/json` |
195
- | Salesforce CDP | 2024-10 | Version: 1.1.0 Added header `Accept-Encoding: application/json` |
196
202
  | Snapchat Ads | 2024-10 | Version: 1.1.0 Added header `Accept-Encoding: application/json` |
197
- | TheTradeDesk Firstparty Advertiser Data | 2024-10 | Version: 1.1.0 Added header `Accept-Encoding: application/json` |
198
203
  | VideoAmp (BETA) | 2024-10 | Version: 0.3.0 Added header `Accept-Encoding: application/json` |
199
204
  | Xandr | 2024-10 | Version: 1.1.0 Added header `Accept-Encoding: application/json` |
200
205
  | CM360 - Floodlights (BETA) | 2024-09 | Version 0.4.0 Friendly name renaming Description and color updated |
201
- | X Ads - Web Conversions | 2024-09 | Version: 1.0.0 Stable release |
202
206
  | Webhooks | 2024-08 | Version: 1.0.0 Stable release |
203
207
  | Nextdoor | 2024-08 | Version: 1.0.0 Stable release |
204
208
  | Google AJSID Segments (BETA) | 2024-06 | Renaming to Google AJSID Segments |
package/index.js CHANGED
@@ -411,6 +411,12 @@ exports.podsights = {
411
411
  metadata: require('./.dist/podsights/metadata.json')
412
412
  }
413
413
 
414
+ exports['rakuten-conversions'] = {
415
+ endpointSchema: require('./.dist/rakuten-conversions/connection.json'),
416
+ playbook: require('./.dist/rakuten-conversions/playbook.json'),
417
+ metadata: require('./.dist/rakuten-conversions/metadata.json')
418
+ }
419
+
414
420
  exports['reddit-ads'] = {
415
421
  endpointSchema: require('./.dist/reddit-ads/connection.json'),
416
422
  playbook: require('./.dist/reddit-ads/playbook.json'),
@@ -874,6 +880,11 @@ exports.etags = {
874
880
  playbook: require('./.dist/podsights/playbook.etag.json'),
875
881
  kit: require('./.dist/podsights/kit.etag.json')
876
882
  },
883
+ 'rakuten-conversions': {
884
+ endpointSchema: require('./.dist/rakuten-conversions/connection.etag.json'),
885
+ playbook: require('./.dist/rakuten-conversions/playbook.etag.json'),
886
+ kit: require('./.dist/rakuten-conversions/kit.etag.json')
887
+ },
877
888
  'reddit-ads': {
878
889
  endpointSchema: require('./.dist/reddit-ads/connection.etag.json'),
879
890
  playbook: require('./.dist/reddit-ads/playbook.etag.json'),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metarouter/ajs-starter-kit",
3
- "version": "1.0.136",
3
+ "version": "1.0.138",
4
4
  "description": "MetaRouter analytics.js starter kit",
5
5
  "main": "index.js",
6
6
  "scripts": {