@metarouter/ajs-starter-kit 1.0.140 → 1.0.141

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
+ "05e6daa7211475858660edab2afb94fd"
@@ -0,0 +1,42 @@
1
+ {
2
+ "params": [
3
+ {
4
+ "name": "ADJUST_AUTH_TOKEN",
5
+ "exampleValue": "my-adjust-auth-token"
6
+ }
7
+ ],
8
+ "default": {
9
+ "endpoint": "https://s2s.adjust.com/event",
10
+ "method": "GET",
11
+ "headers": [
12
+ {
13
+ "key": "Content-Type",
14
+ "value": "application/x-www-form-urlencoded"
15
+ },
16
+ {
17
+ "key": "Authorization",
18
+ "value": "Bearer $$ADJUST_AUTH_TOKEN$$"
19
+ }
20
+ ]
21
+ },
22
+ "eventSpecific": {
23
+ "session_started": {
24
+ "endpoint": "https://s2s.adjust.com/session",
25
+ "method": "GET",
26
+ "headers": [
27
+ {
28
+ "key": "Content-Type",
29
+ "value": "application/x-www-form-urlencoded"
30
+ },
31
+ {
32
+ "key": "X-Adjust-Forwarded-For",
33
+ "fromEventKey": "context.ip"
34
+ },
35
+ {
36
+ "key": "Authorization",
37
+ "value": "Bearer $$ADJUST_AUTH_TOKEN$$"
38
+ }
39
+ ]
40
+ }
41
+ }
42
+ }
@@ -0,0 +1 @@
1
+ "8e44d08a921572d79cb14d12ebc79db0"
@@ -0,0 +1,21 @@
1
+ {
2
+ "isDraft": false,
3
+ "isDeprecated": false,
4
+ "isBeta": true,
5
+ "friendlyName": "Adjust",
6
+ "description": "Adjust is a mobile marketing analytics and attribution platform that helps businesses measure and optimize their app performance across campaigns and channels.",
7
+ "logo": "https://cdn.metarouter.io/adjust.png",
8
+ "color": "#0096FF",
9
+ "eventSource": {
10
+ "isAndroidApp": true,
11
+ "isIosApp": true,
12
+ "isWebApp": false
13
+ },
14
+ "inputSchema": "analytics_js",
15
+ "releaseNotes": [
16
+ {
17
+ "date": "2025-09-10T21:00:00.000Z",
18
+ "note": "Version: 0.1.0\nBeta Version\nAdjust initial release"
19
+ }
20
+ ]
21
+ }
@@ -0,0 +1 @@
1
+ "bd0b0a2b7e1419512aad1a07a00098e6"
@@ -0,0 +1,420 @@
1
+ {
2
+ "version": "0.1.0",
3
+ "params": [
4
+ {
5
+ "name": "APP_TOKEN",
6
+ "exampleValue": "my-app-token"
7
+ }
8
+ ],
9
+ "global": {
10
+ "enrichments": [
11
+ {
12
+ "staticString": "1",
13
+ "outputKey": "s2s"
14
+ },
15
+ {
16
+ "staticString": "$$APP_TOKEN$$",
17
+ "outputKey": "app_token"
18
+ }
19
+ ],
20
+ "mappings": [
21
+ {
22
+ "inputKey": "context.ip",
23
+ "outputKey": "ip_address"
24
+ },
25
+ {
26
+ "inputKey": "input",
27
+ "outputKey": "created_at_unix",
28
+ "transforms": [
29
+ {
30
+ "expression": {
31
+ "lang": "lua",
32
+ "body": "return SECONDS_SINCE_EPOCH_FROM_RFC3999(input.timestamp or input.originalTimestamp or input.sentAt)"
33
+ }
34
+ }
35
+ ]
36
+ },
37
+ {
38
+ "inputKey": "context.userAgent",
39
+ "outputKey": "user_agent"
40
+ }
41
+ ],
42
+ "expressions": [
43
+ {
44
+ "lang": "lua",
45
+ "body": "local result = {}\n\n-- Device ID / advertisingId respectively\nif input.context.device.type == 'ios' then\n result.idfv = UPPER(input.context.device.id)\n result.idfa = input.context.device.advertisingId\nelseif input.context.device.type == 'android' then\n result.android_id = LOWER(REPLACE(input.context.device.id, \"-\", \"\"))\n result.gps_adid = input.context.device.advertisingId\nend\n\nreturn result"
46
+ }
47
+ ]
48
+ },
49
+ "default": {
50
+ "filters": [
51
+ {
52
+ "byEventNames": {
53
+ "action": "allow",
54
+ "events": [
55
+ ""
56
+ ]
57
+ }
58
+ }
59
+ ]
60
+ },
61
+ "eventSpecific": {
62
+ "page": {
63
+ "enrichments": [
64
+ {
65
+ "staticString": "ADD_EVENT_TOKEN_HERE",
66
+ "outputKey": "event_token"
67
+ }
68
+ ],
69
+ "mappings": [
70
+ {
71
+ "inputKey": "properties.url",
72
+ "outputKey": "callback_params.url"
73
+ },
74
+ {
75
+ "inputKey": "properties.path",
76
+ "outputKey": "callback_params.path"
77
+ },
78
+ {
79
+ "inputKey": "properties.referrer",
80
+ "outputKey": "callback_params.referrer"
81
+ },
82
+ {
83
+ "inputKey": "properties.title",
84
+ "outputKey": "callback_params.title"
85
+ }
86
+ ]
87
+ },
88
+ "product_viewed": {
89
+ "enrichments": [
90
+ {
91
+ "staticString": "ADD_EVENT_TOKEN_HERE",
92
+ "outputKey": "event_token"
93
+ }
94
+ ],
95
+ "mappings": [
96
+ {
97
+ "inputKey": "properties.product_id",
98
+ "outputKey": "callback_params.product_id"
99
+ },
100
+ {
101
+ "inputKey": "properties.sku",
102
+ "outputKey": "callback_params.sku"
103
+ },
104
+ {
105
+ "inputKey": "properties.name",
106
+ "outputKey": "callback_params.name"
107
+ },
108
+ {
109
+ "inputKey": "properties.category",
110
+ "outputKey": "callback_params.category"
111
+ },
112
+ {
113
+ "inputKey": "properties.price",
114
+ "outputKey": "callback_params.price",
115
+ "transforms": [
116
+ {
117
+ "toScalar": "string"
118
+ }
119
+ ]
120
+ },
121
+ {
122
+ "inputKey": "properties.currency",
123
+ "outputKey": "callback_params.currency",
124
+ "transforms": [
125
+ {
126
+ "modifyString": "uppercase"
127
+ }
128
+ ]
129
+ }
130
+ ]
131
+ },
132
+ "product_added": {
133
+ "enrichments": [
134
+ {
135
+ "staticString": "ADD_EVENT_TOKEN_HERE",
136
+ "outputKey": "event_token"
137
+ }
138
+ ],
139
+ "mappings": [
140
+ {
141
+ "inputKey": "properties.product_id",
142
+ "outputKey": "callback_params.product_id"
143
+ },
144
+ {
145
+ "inputKey": "properties.sku",
146
+ "outputKey": "callback_params.sku"
147
+ },
148
+ {
149
+ "inputKey": "properties.category",
150
+ "outputKey": "callback_params.category"
151
+ },
152
+ {
153
+ "inputKey": "properties.price",
154
+ "outputKey": "callback_params.price",
155
+ "transforms": [
156
+ {
157
+ "toScalar": "string"
158
+ }
159
+ ]
160
+ },
161
+ {
162
+ "inputKey": "properties.quantity",
163
+ "outputKey": "callback_params.quantity",
164
+ "transforms": [
165
+ {
166
+ "toScalar": "string"
167
+ }
168
+ ]
169
+ },
170
+ {
171
+ "inputKey": "properties.cart_id",
172
+ "outputKey": "callback_params.cart_id"
173
+ },
174
+ {
175
+ "inputKey": "properties.currency",
176
+ "outputKey": "callback_params.currency",
177
+ "transforms": [
178
+ {
179
+ "modifyString": "uppercase"
180
+ }
181
+ ]
182
+ }
183
+ ]
184
+ },
185
+ "cart_viewed": {
186
+ "enrichments": [
187
+ {
188
+ "staticString": "ADD_EVENT_TOKEN_HERE",
189
+ "outputKey": "event_token"
190
+ }
191
+ ],
192
+ "mappings": [
193
+ {
194
+ "inputKey": "properties.cart_id",
195
+ "outputKey": "callback_params.cart_id"
196
+ },
197
+ {
198
+ "inputKey": "properties.currency",
199
+ "outputKey": "callback_params.currency",
200
+ "transforms": [
201
+ {
202
+ "modifyString": "uppercase"
203
+ }
204
+ ]
205
+ },
206
+ {
207
+ "inputKey": "input",
208
+ "outputKey": "callback_params.total",
209
+ "transforms": [
210
+ {
211
+ "expression": {
212
+ "lang": "lua",
213
+ "body": "return TO_STRING(TOTAL_VALUE(input.properties.products))"
214
+ }
215
+ }
216
+ ]
217
+ },
218
+ {
219
+ "inputKey": "input",
220
+ "outputKey": "callback_params.products",
221
+ "transforms": [
222
+ {
223
+ "expression": {
224
+ "lang": "lua",
225
+ "body": "local product_ids = JOIN(MAP(input.properties.products, function (p) return p.sku or p.product_id or \"\" end), \",\")\nreturn product_ids"
226
+ }
227
+ }
228
+ ]
229
+ }
230
+ ]
231
+ },
232
+ "order_completed": {
233
+ "enrichments": [
234
+ {
235
+ "staticString": "ADD_EVENT_TOKEN_HERE",
236
+ "outputKey": "event_token"
237
+ }
238
+ ],
239
+ "mappings": [
240
+ {
241
+ "inputKey": "properties.revenue",
242
+ "outputKey": "revenue"
243
+ },
244
+ {
245
+ "inputKey": "properties.currency",
246
+ "outputKey": "currency",
247
+ "transforms": [
248
+ {
249
+ "modifyString": "uppercase"
250
+ }
251
+ ]
252
+ },
253
+ {
254
+ "inputKey": "properties.order_id",
255
+ "outputKey": "callback_params.order_id"
256
+ },
257
+ {
258
+ "inputKey": "properties.checkout_id",
259
+ "outputKey": "callback_params.checkout_id"
260
+ },
261
+ {
262
+ "inputKey": "properties.total",
263
+ "outputKey": "callback_params.total",
264
+ "transforms": [
265
+ {
266
+ "toScalar": "string"
267
+ }
268
+ ]
269
+ },
270
+ {
271
+ "inputKey": "properties.discount",
272
+ "outputKey": "callback_params.discount",
273
+ "transforms": [
274
+ {
275
+ "toScalar": "string"
276
+ }
277
+ ]
278
+ },
279
+ {
280
+ "inputKey": "properties.shipping",
281
+ "outputKey": "callback_params.shipping",
282
+ "transforms": [
283
+ {
284
+ "toScalar": "string"
285
+ }
286
+ ]
287
+ },
288
+ {
289
+ "inputKey": "properties.tax",
290
+ "outputKey": "callback_params.tax",
291
+ "transforms": [
292
+ {
293
+ "toScalar": "string"
294
+ }
295
+ ]
296
+ },
297
+ {
298
+ "inputKey": "input",
299
+ "outputKey": "callback_params.products",
300
+ "transforms": [
301
+ {
302
+ "expression": {
303
+ "lang": "lua",
304
+ "body": "local product_ids = JOIN(MAP(input.properties.products, function (p) return p.sku or p.product_id or \"\" end), \",\")\nreturn product_ids"
305
+ }
306
+ }
307
+ ]
308
+ }
309
+ ]
310
+ },
311
+ "products_searched": {
312
+ "enrichments": [
313
+ {
314
+ "staticString": "ADD_EVENT_TOKEN_HERE",
315
+ "outputKey": "event_token"
316
+ }
317
+ ],
318
+ "mappings": [
319
+ {
320
+ "inputKey": "properties.query",
321
+ "outputKey": "callback_params.query"
322
+ }
323
+ ]
324
+ },
325
+ "checkout_started": {
326
+ "enrichments": [
327
+ {
328
+ "staticString": "ADD_EVENT_TOKEN_HERE",
329
+ "outputKey": "event_token"
330
+ }
331
+ ],
332
+ "mappings": [
333
+ {
334
+ "inputKey": "properties.order_id",
335
+ "outputKey": "callback_params.order_id"
336
+ },
337
+ {
338
+ "inputKey": "properties.currency",
339
+ "outputKey": "callback_params.currency",
340
+ "transforms": [
341
+ {
342
+ "modifyString": "uppercase"
343
+ }
344
+ ]
345
+ },
346
+ {
347
+ "inputKey": "input",
348
+ "outputKey": "callback_params.total",
349
+ "transforms": [
350
+ {
351
+ "expression": {
352
+ "lang": "lua",
353
+ "body": "return TO_STRING(TOTAL_VALUE(input.properties.products))"
354
+ }
355
+ }
356
+ ]
357
+ },
358
+ {
359
+ "inputKey": "input",
360
+ "outputKey": "callback_params.products",
361
+ "transforms": [
362
+ {
363
+ "expression": {
364
+ "lang": "lua",
365
+ "body": "local product_ids = JOIN(MAP(input.properties.products, function (p) return p.sku or p.product_id or \"\" end), \",\")\nreturn product_ids"
366
+ }
367
+ }
368
+ ]
369
+ }
370
+ ]
371
+ },
372
+ "session_started": {
373
+ "enrichments": [
374
+ {
375
+ "staticString": "production",
376
+ "outputKey": "environment"
377
+ }
378
+ ],
379
+ "mappings": [
380
+ {
381
+ "inputKey": "context.app.version",
382
+ "outputKey": "app_version"
383
+ },
384
+ {
385
+ "inputKey": "context.os.version",
386
+ "outputKey": "os_version"
387
+ },
388
+ {
389
+ "inputKey": "context.os.name",
390
+ "outputKey": "os_name",
391
+ "transforms": [
392
+ {
393
+ "modifyString": "lowercase"
394
+ }
395
+ ]
396
+ },
397
+ {
398
+ "inputKey": "context.device.type",
399
+ "outputKey": "device_type"
400
+ },
401
+ {
402
+ "inputKey": "context.device.name",
403
+ "outputKey": "device_name"
404
+ },
405
+ {
406
+ "inputKey": "input",
407
+ "outputKey": "language",
408
+ "transforms": [
409
+ {
410
+ "expression": {
411
+ "lang": "lua",
412
+ "body": "return SUBSTRING(input.context.locale, 0, 2)"
413
+ }
414
+ }
415
+ ]
416
+ }
417
+ ]
418
+ }
419
+ }
420
+ }
@@ -1 +1 @@
1
- "57b309d84cec67f8c5324a4ac40b6bf0"
1
+ "3aaa38f433868b00be9986f1811301b7"
@@ -1 +1 @@
1
- "111e9389d8e18508f5ac309705cca5b5"
1
+ "74b9820f5f9c3be92f5bd5cfe1b71791"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "isDraft": false,
3
3
  "isDeprecated": false,
4
- "isBeta": true,
4
+ "isBeta": false,
5
5
  "friendlyName": "Iterable",
6
6
  "description": "Iterable is a customer engagement platform that enables brands to create, execute, and optimize cross-channel marketing campaigns.",
7
7
  "logo": "https://cdn.metarouter.io/iterable.png",
@@ -28,6 +28,10 @@
28
28
  {
29
29
  "date": "2025-01-22T21:00:00.000Z",
30
30
  "note": "Version: 0.4.0\nAdd user agent and ip to default and order_completed stanzas\nRemove redundant properties-dataFields mapping from identify events"
31
+ },
32
+ {
33
+ "date": "2025-09-10T00:00:00.000Z",
34
+ "note": "Version: 1.0.0\nStable Release"
31
35
  }
32
36
  ]
33
37
  }
@@ -1 +1 @@
1
- "ae50453124fca003c7ffe3ece6f2a46a"
1
+ "30940578815775da8b8923c692a67ef3"
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.4.0",
2
+ "version": "1.0.0",
3
3
  "global": {
4
4
  "enrichments": [
5
5
  {
@@ -1 +1 @@
1
- "a5b619b7bb0cd50c0138cd38c4673c19"
1
+ "6a3531db79153c29b73ab541c156d9b0"
package/README.md CHANGED
@@ -6,7 +6,9 @@ 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-09
9
+ - Adjust (BETA)
9
10
  - Criteo
11
+ - Iterable
10
12
  - Linkedin Ads - Conversions
11
13
  - Rakuten Conversions (BETA)
12
14
 
@@ -69,7 +71,6 @@ previously.
69
71
 
70
72
  ## 2025-01
71
73
  - Google BigQuery
72
- - Iterable (BETA)
73
74
 
74
75
  ## 2024-11
75
76
  - Convert (BETA)
@@ -128,7 +129,9 @@ previously.
128
129
 
129
130
  | Kit Name | Date | Latest Note |
130
131
  |----------|------|-------------|
132
+ | Adjust (BETA) | 2025-09 | Version: 0.1.0 Beta Version Adjust initial release |
131
133
  | Criteo | 2025-09 | Version: 2.1.0 Removed id node and added alternate_ids array in playbook.yaml |
134
+ | Iterable | 2025-09 | Version: 1.0.0 Stable Release |
132
135
  | Linkedin Ads - Conversions | 2025-09 | Version: 1.0.0 Stable Release |
133
136
  | Rakuten Conversions (BETA) | 2025-09 | Version: 0.2.0 Adding namelist field to order_canceled and order_completed events |
134
137
  | Adobe Experience Platform - Interact | 2025-08 | Version: 1.0.0 Stable Release |
@@ -175,7 +178,6 @@ previously.
175
178
  | AWIN | 2025-02 | Version: 1.0.0 Stable release |
176
179
  | 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 |
177
180
  | Google BigQuery | 2025-01 | Version: 1.1.0 Adding support for table overrides |
178
- | 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 |
179
181
  | Convert (BETA) | 2024-11 | Version: 0.3.0 Added new deduplication parameter for all events, `tid` |
180
182
  | Innervate | 2024-11 | Version: 1.0.0 Updated friendly name Stable release |
181
183
  | Acuity Ads | 2024-10 | Version: 1.1.0 Added header `Accept-Encoding: application/json` |
package/index.js CHANGED
@@ -94,6 +94,12 @@ exports['acuity-ads'] = {
94
94
  metadata: require('./.dist/acuity-ads/metadata.json')
95
95
  }
96
96
 
97
+ exports['adjust'] = {
98
+ endpointSchema: require('./.dist/adjust/connection.json'),
99
+ playbook: require('./.dist/adjust/playbook.json'),
100
+ metadata: require('./.dist/adjust/metadata.json')
101
+ }
102
+
97
103
  exports['adobe-experience-platform-interact'] = {
98
104
  endpointSchema: require('./.dist/adobe-experience-platform-interact/connection.json'),
99
105
  playbook: require('./.dist/adobe-experience-platform-interact/playbook.json'),
@@ -615,6 +621,11 @@ exports.etags = {
615
621
  playbook: require('./.dist/acuity-ads/playbook.etag.json'),
616
622
  kit: require('./.dist/acuity-ads/kit.etag.json')
617
623
  },
624
+ 'adjust': {
625
+ endpointSchema: require('./.dist/adjust/connection.etag.json'),
626
+ playbook: require('./.dist/adjust/playbook.etag.json'),
627
+ kit: require('./.dist/adjust/kit.etag.json')
628
+ },
618
629
  'adobe-experience-platform-interact': {
619
630
  endpointSchema: require('./.dist/adobe-experience-platform-interact/connection.etag.json'),
620
631
  playbook: require('./.dist/adobe-experience-platform-interact/playbook.etag.json'),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metarouter/ajs-starter-kit",
3
- "version": "1.0.140",
3
+ "version": "1.0.141",
4
4
  "description": "MetaRouter analytics.js starter kit",
5
5
  "main": "index.js",
6
6
  "scripts": {