@metarouter/ajs-starter-kit 1.0.131 → 1.0.133

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.
@@ -0,0 +1 @@
1
+ "9b4b6d4a47f4a376ab410c29f33d5bd7"
@@ -0,0 +1,12 @@
1
+ {
2
+ "default": {
3
+ "endpoint": "http://control.kochava.com/v1/cpi/identityLink.php",
4
+ "headers": [
5
+ {
6
+ "key": "Accept-Encoding",
7
+ "value": "application/json"
8
+ }
9
+ ],
10
+ "method": "POST"
11
+ }
12
+ }
@@ -0,0 +1 @@
1
+ "0a0a8e28c5265b6e21950435d7a04012"
@@ -0,0 +1,21 @@
1
+ {
2
+ "isDraft": false,
3
+ "isDeprecated": false,
4
+ "isBeta": true,
5
+ "friendlyName": "Kochava IdentityLink",
6
+ "description": "IdentityLink setup allows Kochava customers to manage their audience by associating an internal customer identifier with a Kochava device ID.",
7
+ "logo": "https://cdn.metarouter.io/kochava-identitylink.png",
8
+ "color": "#E6002B",
9
+ "eventSource": {
10
+ "isAndroidApp": true,
11
+ "isIosApp": true,
12
+ "isWebApp": true
13
+ },
14
+ "inputSchema": "analytics_js",
15
+ "releaseNotes": [
16
+ {
17
+ "date": "2025-06-25T21:00:00.000Z",
18
+ "note": "Version: 0.1.0\nBeta Version\nKochava IdentityLink initial release"
19
+ }
20
+ ]
21
+ }
@@ -0,0 +1 @@
1
+ "749be6a8f7c11c15483aa721aea82bf0"
@@ -0,0 +1,80 @@
1
+ {
2
+ "version": "0.1.0",
3
+ "params": [
4
+ {
5
+ "name": "KOCHAVA_APP_ID",
6
+ "exampleValue": "my-kochava-app-id"
7
+ }
8
+ ],
9
+ "default": {
10
+ "filters": [
11
+ {
12
+ "byEventNames": {
13
+ "action": "allow",
14
+ "events": [
15
+ ""
16
+ ]
17
+ }
18
+ }
19
+ ]
20
+ },
21
+ "global": {
22
+ "enrichments": [
23
+ {
24
+ "staticString": "$$KOCHAVA_APP_ID$$",
25
+ "outputKey": "kochava_app_id"
26
+ }
27
+ ],
28
+ "mappings": [
29
+ {
30
+ "inputKey": "anonymousId",
31
+ "outputKey": "kochava_device_id"
32
+ }
33
+ ]
34
+ },
35
+ "eventSpecific": {
36
+ "identify": {
37
+ "filters": [
38
+ {
39
+ "byConditions": {
40
+ "action": "allow",
41
+ "when": {
42
+ "matchesAll": {
43
+ "conditions": [
44
+ {
45
+ "inputPathExists": {
46
+ "inputPath": "userId"
47
+ }
48
+ },
49
+ {
50
+ "inputPathExists": {
51
+ "inputPath": "context.device.advertisingId"
52
+ }
53
+ }
54
+ ]
55
+ }
56
+ }
57
+ }
58
+ }
59
+ ],
60
+ "mappings": [
61
+ {
62
+ "inputKey": "userId",
63
+ "outputKey": "data.app_userid"
64
+ },
65
+ {
66
+ "inputKey": "input",
67
+ "outputKey": "device_id",
68
+ "transforms": [
69
+ {
70
+ "expression": {
71
+ "lang": "lua",
72
+ "body": "local deviceType = input.context.device.type\nif deviceType == 'ios' then\n return { idfa = input.context.device.advertisingId }\nelseif deviceType == 'android' then\n return { adid = input.context.device.advertisingId }\nend"
73
+ }
74
+ }
75
+ ]
76
+ }
77
+ ]
78
+ }
79
+ }
80
+ }
@@ -1 +1 @@
1
- "1761f606655ae5484360bd92902ed7ca"
1
+ "e832618c52a9b7a2507c48d696ffcfe9"
@@ -16,6 +16,10 @@
16
16
  {
17
17
  "date": "2025-05-21T21:00:00.000Z",
18
18
  "note": "Version: 0.1.0\nBeta Version\nPerion initial release"
19
+ },
20
+ {
21
+ "date": "2025-06-11T21:00:00.000Z",
22
+ "note": "Version: 0.2.0\nFixing product_viewed's products field"
19
23
  }
20
24
  ]
21
25
  }
@@ -1 +1 @@
1
- "ec1aa1f8a06cda6ccdcc5953ddc3bfbd"
1
+ "bda96be461602b71752f572fe4210a7b"
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.1.0",
2
+ "version": "0.2.0",
3
3
  "params": [
4
4
  {
5
5
  "name": "ADVERTISER_ID",
@@ -180,7 +180,7 @@
180
180
  {
181
181
  "expression": {
182
182
  "lang": "lua",
183
- "body": "local p = input.properties\nreturn {\n upc_id = p.product_id,\n sku_id = p.sku,\n product_name = p.name,\n product_category = p.category,\n quantity = p.quantity or 1,\n price = p.price,\n}"
183
+ "body": "local p = input.properties\nreturn {\n{\n upc_id = p.product_id,\n sku_id = p.sku,\n product_name = p.name,\n product_category = p.category,\n quantity = p.quantity or 1,\n price = p.price,\n }\n}"
184
184
  }
185
185
  }
186
186
  ]
@@ -0,0 +1 @@
1
+ "ced5faf9fabaa687b23b24294ad86f25"
@@ -0,0 +1,12 @@
1
+ {
2
+ "params": [
3
+ {
4
+ "name": "NETWORK",
5
+ "exampleValue": "my-network",
6
+ "description": "The network identifier for RASP integration"
7
+ }
8
+ ],
9
+ "rasp": {
10
+ "network": "$$NETWORK$$"
11
+ }
12
+ }
@@ -0,0 +1 @@
1
+ "ab96d29014c646434544b0626ea8a642"
@@ -0,0 +1,21 @@
1
+ {
2
+ "isDraft": false,
3
+ "isDeprecated": false,
4
+ "isBeta": true,
5
+ "friendlyName": "Ringier Axel Springer Poland",
6
+ "description": "Ringier Axel Springer Poland (RASP) is a leading digital media and technology company that provides advertising services such as programmatic ads, branded content, display advertising, and audience targeting, leveraging its large digital reach.",
7
+ "logo": "https://cdn.metarouter.io/ringier-axel-springer-poland.png",
8
+ "color": "#000000",
9
+ "eventSource": {
10
+ "isAndroidApp": true,
11
+ "isIosApp": true,
12
+ "isWebApp": true
13
+ },
14
+ "inputSchema": "analytics_js",
15
+ "releaseNotes": [
16
+ {
17
+ "date": "2025-06-25T22:00:00.000Z",
18
+ "note": "Version: 0.1.0\nBeta Version\nRingier Axel Springer Poland initial release"
19
+ }
20
+ ]
21
+ }
@@ -0,0 +1 @@
1
+ "1d3d84717c60282fd1734ab78109af18"
@@ -0,0 +1,385 @@
1
+ {
2
+ "version": "0.1.0",
3
+ "params": [
4
+ {
5
+ "name": "PIXEL_ID",
6
+ "exampleValue": "my-pixel-id"
7
+ }
8
+ ],
9
+ "global": {
10
+ "enrichments": [
11
+ {
12
+ "staticString": "$$PIXEL_ID$$",
13
+ "outputKey": "actgid"
14
+ },
15
+ {
16
+ "staticInt": "1",
17
+ "outputKey": "npa"
18
+ }
19
+ ],
20
+ "mappings": [
21
+ {
22
+ "inputKey": "anonymousId",
23
+ "outputKey": "anonymousId"
24
+ },
25
+ {
26
+ "inputKey": "messageId",
27
+ "outputKey": "message_id"
28
+ },
29
+ {
30
+ "inputKey": "context.providers.ringierAxelSpringerPoland.dlapi_lu",
31
+ "outputKey": "lu"
32
+ },
33
+ {
34
+ "inputKey": "context.providers.ringierAxelSpringerPoland.dlapi_aid",
35
+ "outputKey": "aid"
36
+ },
37
+ {
38
+ "inputKey": "input",
39
+ "outputKey": "eid",
40
+ "transforms": [
41
+ {
42
+ "expression": {
43
+ "body": "local email = input.traits.email or input.context.traits.email\nif email then return TO_MD5_HASH(LOWER(TRIM(email))) end\nreturn",
44
+ "lang": "lua"
45
+ }
46
+ }
47
+ ]
48
+ },
49
+ {
50
+ "inputKey": "input",
51
+ "outputKey": "src",
52
+ "transforms": [
53
+ {
54
+ "expression": {
55
+ "body": "if input.context.app.name or input.context.device.type or input.context.os.name then return 'app' end\nreturn 's2s'",
56
+ "lang": "lua"
57
+ }
58
+ }
59
+ ]
60
+ },
61
+ {
62
+ "inputKey": "context.ip",
63
+ "outputKey": "contextFields.ip"
64
+ },
65
+ {
66
+ "inputKey": "context.userAgent",
67
+ "outputKey": "contextFields.userAgent"
68
+ },
69
+ {
70
+ "inputKey": "context.page.url",
71
+ "outputKey": "contextFields.pageUrl"
72
+ },
73
+ {
74
+ "inputKey": "context.providers.ringierAxelSpringerPoland.adp_session",
75
+ "outputKey": "contextFields.adpSession"
76
+ },
77
+ {
78
+ "inputKey": "context.providers.ringierAxelSpringerPoland.dlapi_event_track_id",
79
+ "outputKey": "contextFields.eventTrackId"
80
+ }
81
+ ]
82
+ },
83
+ "default": {
84
+ "enrichments": [
85
+ {
86
+ "staticString": "custom",
87
+ "outputKey": "event"
88
+ }
89
+ ],
90
+ "mappings": [
91
+ {
92
+ "inputKey": "input",
93
+ "outputKey": "custom_event",
94
+ "transforms": [
95
+ {
96
+ "expression": {
97
+ "body": "if input.type == 'track' then return LOWER(REPLACE(input.event, ' ', '_')) end\nreturn input.type",
98
+ "lang": "lua"
99
+ }
100
+ }
101
+ ]
102
+ }
103
+ ]
104
+ },
105
+ "eventSpecific": {
106
+ "page": {
107
+ "enrichments": [
108
+ {
109
+ "staticString": "page_view",
110
+ "outputKey": "event"
111
+ }
112
+ ]
113
+ },
114
+ "products_searched": {
115
+ "enrichments": [
116
+ {
117
+ "staticString": "search_query",
118
+ "outputKey": "event"
119
+ }
120
+ ],
121
+ "mappings": [
122
+ {
123
+ "inputKey": "properties.query",
124
+ "outputKey": "query"
125
+ }
126
+ ]
127
+ },
128
+ "product_list_viewed": {
129
+ "enrichments": [
130
+ {
131
+ "staticString": "custom",
132
+ "outputKey": "event"
133
+ },
134
+ {
135
+ "staticString": "product_list_viewed",
136
+ "outputKey": "custom_event"
137
+ }
138
+ ],
139
+ "mappings": [
140
+ {
141
+ "inputKey": "input",
142
+ "outputKey": "products",
143
+ "transforms": [
144
+ {
145
+ "expression": {
146
+ "body": "return MAP(\n input.properties.products,\n function (p)\n return {\n id = p.product_id or p.sku or '',\n name = p.name,\n price = p.price,\n qty = p.quantity,\n category = p.category,\n brand = p.brand,\n variant = p.variant\n }\n end\n)",
147
+ "lang": "lua"
148
+ }
149
+ }
150
+ ]
151
+ }
152
+ ]
153
+ },
154
+ "product_clicked": {
155
+ "enrichments": [
156
+ {
157
+ "staticString": "custom",
158
+ "outputKey": "event"
159
+ },
160
+ {
161
+ "staticString": "product_clicked",
162
+ "outputKey": "custom_event"
163
+ }
164
+ ],
165
+ "mappings": [
166
+ {
167
+ "inputKey": "input",
168
+ "outputKey": "products",
169
+ "transforms": [
170
+ {
171
+ "expression": {
172
+ "body": "return {{\n id = input.properties.product_id or input.properties.sku or '',\n name = input.properties.name,\n price = input.properties.price,\n qty = input.properties.quantity,\n category = input.properties.category,\n brand = input.properties.brand,\n variant = input.properties.variant\n}}",
173
+ "lang": "lua"
174
+ }
175
+ }
176
+ ]
177
+ }
178
+ ]
179
+ },
180
+ "product_viewed": {
181
+ "enrichments": [
182
+ {
183
+ "staticString": "product_detail",
184
+ "outputKey": "event"
185
+ },
186
+ {
187
+ "staticString": "product",
188
+ "outputKey": "sitetype"
189
+ }
190
+ ],
191
+ "mappings": [
192
+ {
193
+ "inputKey": "input",
194
+ "outputKey": "products",
195
+ "transforms": [
196
+ {
197
+ "expression": {
198
+ "body": "return {{\n id = input.properties.product_id or input.properties.sku or '',\n name = input.properties.name,\n price = input.properties.price,\n qty = input.properties.quantity,\n category = input.properties.category,\n brand = input.properties.brand,\n variant = input.properties.variant\n}}",
199
+ "lang": "lua"
200
+ }
201
+ }
202
+ ]
203
+ }
204
+ ]
205
+ },
206
+ "product_added": {
207
+ "enrichments": [
208
+ {
209
+ "staticString": "add_to_cart",
210
+ "outputKey": "event"
211
+ }
212
+ ],
213
+ "mappings": [
214
+ {
215
+ "inputKey": "input",
216
+ "outputKey": "products",
217
+ "transforms": [
218
+ {
219
+ "expression": {
220
+ "body": "return {{\n id = input.properties.product_id or input.properties.sku or '',\n name = input.properties.name,\n price = input.properties.price,\n qty = input.properties.quantity,\n category = input.properties.category,\n brand = input.properties.brand,\n variant = input.properties.variant\n}}",
221
+ "lang": "lua"
222
+ }
223
+ }
224
+ ]
225
+ }
226
+ ]
227
+ },
228
+ "product_removed": {
229
+ "enrichments": [
230
+ {
231
+ "staticString": "remove_from_cart",
232
+ "outputKey": "event"
233
+ }
234
+ ],
235
+ "mappings": [
236
+ {
237
+ "inputKey": "input",
238
+ "outputKey": "products",
239
+ "transforms": [
240
+ {
241
+ "expression": {
242
+ "body": "return {{\n id = input.properties.product_id or input.properties.sku or '',\n name = input.properties.name,\n price = input.properties.price,\n qty = input.properties.quantity,\n category = input.properties.category,\n brand = input.properties.brand,\n variant = input.properties.variant\n}}",
243
+ "lang": "lua"
244
+ }
245
+ }
246
+ ]
247
+ }
248
+ ]
249
+ },
250
+ "cart_viewed": {
251
+ "enrichments": [
252
+ {
253
+ "staticString": "view_cart",
254
+ "outputKey": "event"
255
+ },
256
+ {
257
+ "staticString": "cart",
258
+ "outputKey": "sitetype"
259
+ }
260
+ ],
261
+ "mappings": [
262
+ {
263
+ "inputKey": "input",
264
+ "outputKey": "cost",
265
+ "transforms": [
266
+ {
267
+ "expression": {
268
+ "lang": "lua",
269
+ "body": "return TOTAL_VALUE(input.properties.products)"
270
+ }
271
+ }
272
+ ]
273
+ },
274
+ {
275
+ "inputKey": "input",
276
+ "outputKey": "qty",
277
+ "transforms": [
278
+ {
279
+ "expression": {
280
+ "lang": "lua",
281
+ "body": "return SUM(MAP(input.properties.products, function (p) return p.quantity or 1 end))"
282
+ }
283
+ }
284
+ ]
285
+ },
286
+ {
287
+ "inputKey": "input",
288
+ "outputKey": "products",
289
+ "transforms": [
290
+ {
291
+ "expression": {
292
+ "body": "return MAP(\n input.properties.products,\n function (p)\n return {\n id = p.product_id or p.sku or '',\n name = p.name,\n price = p.price,\n qty = p.quantity,\n category = p.category,\n brand = p.brand,\n variant = p.variant\n }\n end\n)",
293
+ "lang": "lua"
294
+ }
295
+ }
296
+ ]
297
+ }
298
+ ]
299
+ },
300
+ "checkout_started": {
301
+ "enrichments": [
302
+ {
303
+ "staticString": "checkout",
304
+ "outputKey": "event"
305
+ },
306
+ {
307
+ "staticString": "cart",
308
+ "outputKey": "sitetype"
309
+ }
310
+ ],
311
+ "mappings": [
312
+ {
313
+ "inputKey": "input",
314
+ "outputKey": "products",
315
+ "transforms": [
316
+ {
317
+ "expression": {
318
+ "body": "return MAP(\n input.properties.products,\n function (p)\n return {\n id = p.product_id or p.sku or '',\n name = p.name,\n price = p.price,\n qty = p.quantity,\n category = p.category,\n brand = p.brand,\n variant = p.variant\n }\n end\n)",
319
+ "lang": "lua"
320
+ }
321
+ }
322
+ ]
323
+ }
324
+ ]
325
+ },
326
+ "order_completed": {
327
+ "enrichments": [
328
+ {
329
+ "staticString": "purchased",
330
+ "outputKey": "event"
331
+ },
332
+ {
333
+ "staticString": "cart",
334
+ "outputKey": "sitetype"
335
+ }
336
+ ],
337
+ "mappings": [
338
+ {
339
+ "inputKey": "properties.order_id",
340
+ "outputKey": "ord"
341
+ },
342
+ {
343
+ "inputKey": "input",
344
+ "outputKey": "cost",
345
+ "transforms": [
346
+ {
347
+ "expression": {
348
+ "lang": "lua",
349
+ "body": "return TOTAL_VALUE(input.properties.products)"
350
+ }
351
+ }
352
+ ]
353
+ },
354
+ {
355
+ "inputKey": "input",
356
+ "outputKey": "qty",
357
+ "transforms": [
358
+ {
359
+ "expression": {
360
+ "lang": "lua",
361
+ "body": "return SUM(MAP(input.properties.products, function (p) return p.quantity or 1 end))"
362
+ }
363
+ }
364
+ ]
365
+ },
366
+ {
367
+ "inputKey": "properties.tax",
368
+ "outputKey": "tax"
369
+ },
370
+ {
371
+ "inputKey": "input",
372
+ "outputKey": "products",
373
+ "transforms": [
374
+ {
375
+ "expression": {
376
+ "body": "return MAP(\n input.properties.products,\n function (p)\n return {\n id = p.product_id or p.sku or '',\n name = p.name,\n price = p.price,\n qty = p.quantity,\n category = p.category,\n brand = p.brand,\n variant = p.variant\n }\n end\n)",
377
+ "lang": "lua"
378
+ }
379
+ }
380
+ ]
381
+ }
382
+ ]
383
+ }
384
+ }
385
+ }
package/README.md CHANGED
@@ -6,12 +6,15 @@ server, and other sources. It is particularly useful for tracking the pages or s
6
6
  users visit, the actions they take on your property, and whether the user has been identified
7
7
  previously.
8
8
  ## 2025-06
9
+ - Kochava (BETA)
10
+ - Kochava IdentityLink (BETA)
11
+ - Perion (BETA)
12
+ - Ringier Axel Springer Poland (BETA)
9
13
  - The Trade Desk - Conversions (BETA)
10
14
 
11
15
  ## 2025-05
12
16
  - Amazon DSP CAPI (BETA)
13
17
  - Amazon Kinesis (BETA)
14
- - Perion (BETA)
15
18
  - TheTradeDesk Conversion Events
16
19
 
17
20
  ## 2025-04
@@ -71,7 +74,6 @@ previously.
71
74
  - HubSpot (BETA)
72
75
  - Impact Radius
73
76
  - InMarket (BETA)
74
- - Kochava (BETA)
75
77
  - Lytics
76
78
  - Magellan AI
77
79
  - MIQ (Xandr) (BETA)
@@ -122,10 +124,13 @@ previously.
122
124
 
123
125
  | Kit Name | Date | Latest Note |
124
126
  |----------|------|-------------|
127
+ | 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 |
128
+ | Kochava IdentityLink (BETA) | 2025-06 | Version: 0.1.0 Beta Version Kochava IdentityLink initial release |
129
+ | Perion (BETA) | 2025-06 | Version: 0.2.0 Fixing product_viewed's products field |
130
+ | Ringier Axel Springer Poland (BETA) | 2025-06 | Version: 0.1.0 Beta Version Ringier Axel Springer Poland initial release |
125
131
  | The Trade Desk - Conversions (BETA) | 2025-06 | Version: 0.1.0 Beta Version The Trade Desk - Conversions initial release |
126
132
  | Amazon DSP CAPI (BETA) | 2025-05 | Version: 0.1.0 Beta Version Amazon DSP CAPI initial release. |
127
133
  | Amazon Kinesis (BETA) | 2025-05 | Version: 0.1.0 Beta Version Amazon Kinesis initial release. |
128
- | Perion (BETA) | 2025-05 | Version: 0.1.0 Beta Version Perion initial release |
129
134
  | TheTradeDesk Conversion Events | 2025-05 | Version: 1.2.0 Deprecated |
130
135
  | Amazon Data Firehose | 2025-04 | Version: 1.0.0 Stable release |
131
136
  | Meta CAPI | 2025-04 | Version: 1.5.0 Friendly name updated |
@@ -171,7 +176,6 @@ previously.
171
176
  | HubSpot (BETA) | 2024-10 | Version: 0.3.0 Added header `Accept-Encoding: application/json` |
172
177
  | Impact Radius | 2024-10 | Version: 1.2.0 Added header `Accept-Encoding: application/json` |
173
178
  | InMarket (BETA) | 2024-10 | Version: 0.2.0 Added header `Accept-Encoding: application/json` |
174
- | Kochava (BETA) | 2024-10 | Version: 0.3.0 Added header `Accept-Encoding: application/json` |
175
179
  | Lytics | 2024-10 | Version: 1.1.0 Added header `Accept-Encoding: application/json` |
176
180
  | Magellan AI | 2024-10 | Version: 1.1.0 Added header `Accept-Encoding: application/json` |
177
181
  | MIQ (Xandr) (BETA) | 2024-10 | Version: 0.2.0 Added header `Accept-Encoding: application/json` |