@metarouter/ajs-starter-kit 1.0.131 → 1.0.132
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.
- package/.dist/kochava/connection.etag.json +1 -1
- package/.dist/kochava/connection.json +0 -12
- package/.dist/kochava/kit.etag.json +1 -1
- package/.dist/kochava/metadata.json +5 -13
- package/.dist/kochava/playbook.etag.json +1 -1
- package/.dist/kochava/playbook.json +234 -222
- package/.dist/kochava-identitylink/connection.etag.json +1 -0
- package/.dist/kochava-identitylink/connection.json +12 -0
- package/.dist/kochava-identitylink/kit.etag.json +1 -0
- package/.dist/kochava-identitylink/metadata.json +21 -0
- package/.dist/kochava-identitylink/playbook.etag.json +1 -0
- package/.dist/kochava-identitylink/playbook.json +80 -0
- package/.dist/perion/kit.etag.json +1 -1
- package/.dist/perion/metadata.json +4 -0
- package/.dist/perion/playbook.etag.json +1 -1
- package/.dist/perion/playbook.json +2 -2
- package/README.md +6 -4
- package/index.js +12 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"
|
|
1
|
+
"841fdf2b7b606d7cbbc96a7918a92a6f"
|
|
@@ -8,17 +8,5 @@
|
|
|
8
8
|
}
|
|
9
9
|
],
|
|
10
10
|
"method": "POST"
|
|
11
|
-
},
|
|
12
|
-
"eventSpecific": {
|
|
13
|
-
"identify": {
|
|
14
|
-
"endpoint": "http://control.kochava.com/v1/cpi/identityLink.php",
|
|
15
|
-
"headers": [
|
|
16
|
-
{
|
|
17
|
-
"key": "Accept-Encoding",
|
|
18
|
-
"value": "application/json"
|
|
19
|
-
}
|
|
20
|
-
],
|
|
21
|
-
"method": "POST"
|
|
22
|
-
}
|
|
23
11
|
}
|
|
24
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"
|
|
1
|
+
"801d08efe8e643ed91a2b84a1dbf5d15"
|
|
@@ -3,27 +3,19 @@
|
|
|
3
3
|
"isDeprecated": false,
|
|
4
4
|
"isBeta": true,
|
|
5
5
|
"friendlyName": "Kochava",
|
|
6
|
-
"description": "Kochava
|
|
6
|
+
"description": "Kochava is a mobile attribution and analytics platform that helps marketers measure and optimize their advertising campaigns across devices and channels.",
|
|
7
7
|
"logo": "https://cdn.metarouter.io/logo.svg",
|
|
8
|
-
"color": "#
|
|
8
|
+
"color": "#E6002B",
|
|
9
9
|
"eventSource": {
|
|
10
10
|
"isAndroidApp": true,
|
|
11
11
|
"isIosApp": true,
|
|
12
|
-
"isWebApp":
|
|
12
|
+
"isWebApp": true
|
|
13
13
|
},
|
|
14
14
|
"inputSchema": "analytics_js",
|
|
15
15
|
"releaseNotes": [
|
|
16
16
|
{
|
|
17
|
-
"date": "
|
|
18
|
-
"note": "
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
"date": "2023-12-13T00:00:00.000Z",
|
|
22
|
-
"note": "Marked as unstable version: 0.1.0\n- date: 2024-08-22T00:00:00.000000Z\n note: |-\n Version 0.2.0\n timestamp field is used as the event time"
|
|
23
|
-
},
|
|
24
|
-
{
|
|
25
|
-
"date": "2024-10-23T00:00:00.000Z",
|
|
26
|
-
"note": "Version: 0.3.0\nAdded header `Accept-Encoding: application/json`"
|
|
17
|
+
"date": "2025-06-25T00:00:00.000Z",
|
|
18
|
+
"note": "Version: 0.1.0\nBeta Version\nKochava non-identify initial release\nMoved the identify event to its dedicated starter-kit: kochava-identitylink"
|
|
27
19
|
}
|
|
28
20
|
]
|
|
29
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"
|
|
1
|
+
"9741bc202bdea857bd53664ccdc04e2c"
|
|
@@ -1,16 +1,22 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.
|
|
2
|
+
"version": "0.1.0",
|
|
3
3
|
"params": [
|
|
4
4
|
{
|
|
5
5
|
"name": "KOCHAVA_APP_ID",
|
|
6
6
|
"exampleValue": "my-kochava-app-id"
|
|
7
|
-
},
|
|
8
|
-
{
|
|
9
|
-
"name": "USER_ID",
|
|
10
|
-
"exampleValue": "my-user-id"
|
|
11
7
|
}
|
|
12
8
|
],
|
|
13
9
|
"global": {
|
|
10
|
+
"filters": [
|
|
11
|
+
{
|
|
12
|
+
"byEventNames": {
|
|
13
|
+
"action": "deny",
|
|
14
|
+
"events": [
|
|
15
|
+
"identify"
|
|
16
|
+
]
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
],
|
|
14
20
|
"enrichments": [
|
|
15
21
|
{
|
|
16
22
|
"staticString": "$$KOCHAVA_APP_ID$$",
|
|
@@ -21,6 +27,56 @@
|
|
|
21
27
|
{
|
|
22
28
|
"inputKey": "anonymousId",
|
|
23
29
|
"outputKey": "kochava_device_id"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"inputKey": "context.os.version",
|
|
33
|
+
"outputKey": "data.device_ver",
|
|
34
|
+
"defaultString": ""
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"inputKey": "context.device.adTrackingEnabled",
|
|
38
|
+
"outputKey": "data.app_tracking_transparency.att",
|
|
39
|
+
"defaultBool": false
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"inputKey": "input",
|
|
43
|
+
"outputKey": "data.device_ids",
|
|
44
|
+
"transforms": [
|
|
45
|
+
{
|
|
46
|
+
"expression": {
|
|
47
|
+
"lang": "lua",
|
|
48
|
+
"body": "local deviceType = input.context.device.type\nif deviceType == 'ios' then\n return {\n idfa = input.context.device.advertisingId,\n idfv = input.context.device.id\n }\nelseif deviceType == 'android' then\n return {\n adid = input.context.device.advertisingId,\n android_id = input.context.device.id\n }\nend"
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
]
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"inputKey": "context.ip",
|
|
55
|
+
"outputKey": "data.origination_ip"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"inputKey": "context.userAgent",
|
|
59
|
+
"outputKey": "data.device_ua"
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"inputKey": "context.app.version",
|
|
63
|
+
"outputKey": "data.app_version"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"inputKey": "input",
|
|
67
|
+
"outputKey": "data.usertime",
|
|
68
|
+
"transforms": [
|
|
69
|
+
{
|
|
70
|
+
"expression": {
|
|
71
|
+
"lang": "lua",
|
|
72
|
+
"body": "local date = input.timestamp or input.originalTimestamp or input.sentAt\nreturn MILLISECONDS_SINCE_EPOCH_FROM_RFC3999(TO_DATE_TIME(date, { inputFormat = \"2006-01-02T15:04:05Z07:00\" }))"
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
]
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"inputKey": "context.page.referrer",
|
|
79
|
+
"outputKey": "data.event_data.referrer"
|
|
24
80
|
}
|
|
25
81
|
]
|
|
26
82
|
},
|
|
@@ -34,135 +90,108 @@
|
|
|
34
90
|
],
|
|
35
91
|
"mappings": [
|
|
36
92
|
{
|
|
37
|
-
"inputKey": "context.device.
|
|
38
|
-
"outputKey": "data.
|
|
39
|
-
"defaultBool": false
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
"inputKey": "context.device.advertisingId",
|
|
43
|
-
"outputKey": "data.device_ids",
|
|
44
|
-
"transforms": [
|
|
45
|
-
{
|
|
46
|
-
"expression": {
|
|
47
|
-
"lang": "lua",
|
|
48
|
-
"body": "local deviceType = input.context.device.type\nif deviceType == 'ios' then\n return {\n idfa = input.context.device.advertisingId,\n idfv = input.context.device.id\n }\nelseif deviceType == 'android' then\n return {\n adid = input.context.device.advertisingId,\n android_id = input.context.device.id\n }\nend"
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
]
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
"inputKey": "context.ip",
|
|
55
|
-
"outputKey": "data.origination_ip"
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
"inputKey": "context.userAgent",
|
|
59
|
-
"outputKey": "data.device_ua"
|
|
60
|
-
},
|
|
61
|
-
{
|
|
62
|
-
"inputKey": "context.library.version",
|
|
63
|
-
"outputKey": "data.app_version"
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
"inputKey": "input",
|
|
67
|
-
"outputKey": "data.usertime",
|
|
68
|
-
"transforms": [
|
|
69
|
-
{
|
|
70
|
-
"expression": {
|
|
71
|
-
"lang": "lua",
|
|
72
|
-
"body": "return MILLISECONDS_SINCE_EPOCH(input.timestamp or input.receivedAt)"
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
]
|
|
93
|
+
"inputKey": "context.device.model",
|
|
94
|
+
"outputKey": "data.event_data.device_model"
|
|
76
95
|
}
|
|
77
96
|
]
|
|
78
97
|
},
|
|
79
|
-
"
|
|
98
|
+
"products_searched": {
|
|
80
99
|
"enrichments": [
|
|
81
100
|
{
|
|
82
|
-
"staticString": "
|
|
83
|
-
"outputKey": "
|
|
101
|
+
"staticString": "event",
|
|
102
|
+
"outputKey": "action"
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"staticString": "Search",
|
|
106
|
+
"outputKey": "data.event_name"
|
|
84
107
|
}
|
|
85
108
|
],
|
|
86
109
|
"mappings": [
|
|
87
110
|
{
|
|
88
|
-
"inputKey": "
|
|
89
|
-
"outputKey": "
|
|
90
|
-
"transforms": [
|
|
91
|
-
{
|
|
92
|
-
"expression": {
|
|
93
|
-
"lang": "lua",
|
|
94
|
-
"body": "local deviceType = input.context.device.type\nif deviceType == 'ios' then\n return {\n idfa = input.context.device.advertisingId\n }\nelseif deviceType == 'android' then\n return {\n adid = input.context.device.advertisingId\n }\nend"
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
]
|
|
111
|
+
"inputKey": "properties.query",
|
|
112
|
+
"outputKey": "data.event_data.query"
|
|
98
113
|
}
|
|
99
114
|
]
|
|
100
115
|
},
|
|
101
|
-
"
|
|
116
|
+
"product_list_viewed": {
|
|
102
117
|
"enrichments": [
|
|
103
118
|
{
|
|
104
119
|
"staticString": "event",
|
|
105
120
|
"outputKey": "action"
|
|
106
|
-
},
|
|
107
|
-
{
|
|
108
|
-
"staticString": "",
|
|
109
|
-
"outputKey": "data.device_ver"
|
|
110
|
-
},
|
|
111
|
-
{
|
|
112
|
-
"staticString": "Checkout Start",
|
|
113
|
-
"outputKey": "data.event_name"
|
|
114
121
|
}
|
|
115
122
|
],
|
|
116
123
|
"mappings": [
|
|
117
124
|
{
|
|
118
|
-
"inputKey": "
|
|
119
|
-
"outputKey": "data.
|
|
120
|
-
"defaultBool": false
|
|
125
|
+
"inputKey": "event",
|
|
126
|
+
"outputKey": "data.event_name"
|
|
121
127
|
},
|
|
122
128
|
{
|
|
123
|
-
"inputKey": "
|
|
124
|
-
"outputKey": "data.
|
|
129
|
+
"inputKey": "input",
|
|
130
|
+
"outputKey": "data.event_data.sum",
|
|
125
131
|
"transforms": [
|
|
126
132
|
{
|
|
127
133
|
"expression": {
|
|
128
134
|
"lang": "lua",
|
|
129
|
-
"body": "
|
|
135
|
+
"body": "return TOTAL_VALUE(input.properties.products)"
|
|
130
136
|
}
|
|
131
137
|
}
|
|
132
138
|
]
|
|
133
139
|
},
|
|
134
140
|
{
|
|
135
|
-
"inputKey": "
|
|
136
|
-
"outputKey": "data.
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
+
"inputKey": "properties.currency",
|
|
142
|
+
"outputKey": "data.event_data.currency",
|
|
143
|
+
"transforms": [
|
|
144
|
+
{
|
|
145
|
+
"modifyString": "uppercase"
|
|
146
|
+
}
|
|
147
|
+
],
|
|
148
|
+
"defaultString": "USD"
|
|
141
149
|
},
|
|
142
150
|
{
|
|
143
|
-
"inputKey": "
|
|
144
|
-
"outputKey": "data.
|
|
151
|
+
"inputKey": "properties.products",
|
|
152
|
+
"outputKey": "data.event_data.content_ids",
|
|
153
|
+
"transforms": [
|
|
154
|
+
{
|
|
155
|
+
"pluckValues": {
|
|
156
|
+
"extractKey": "product_id"
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
]
|
|
145
160
|
},
|
|
146
161
|
{
|
|
147
162
|
"inputKey": "input",
|
|
148
|
-
"outputKey": "data.event_data.
|
|
163
|
+
"outputKey": "data.event_data.contents",
|
|
149
164
|
"transforms": [
|
|
150
165
|
{
|
|
151
166
|
"expression": {
|
|
152
167
|
"lang": "lua",
|
|
153
|
-
"body": "return
|
|
168
|
+
"body": "return MAP(\n input.properties.products,\n function (product)\n return {\n content_id = product.product_id or product.sku,\n name = product.name,\n quantity = product.quantity or 1,\n price = product.price\n }\n end\n)"
|
|
154
169
|
}
|
|
155
170
|
}
|
|
156
171
|
]
|
|
172
|
+
}
|
|
173
|
+
]
|
|
174
|
+
},
|
|
175
|
+
"product_viewed": {
|
|
176
|
+
"enrichments": [
|
|
177
|
+
{
|
|
178
|
+
"staticString": "event",
|
|
179
|
+
"outputKey": "action"
|
|
180
|
+
}
|
|
181
|
+
],
|
|
182
|
+
"mappings": [
|
|
183
|
+
{
|
|
184
|
+
"inputKey": "event",
|
|
185
|
+
"outputKey": "data.event_name"
|
|
157
186
|
},
|
|
158
187
|
{
|
|
159
188
|
"inputKey": "input",
|
|
160
|
-
"outputKey": "data.event_data.
|
|
189
|
+
"outputKey": "data.event_data.sum",
|
|
161
190
|
"transforms": [
|
|
162
191
|
{
|
|
163
192
|
"expression": {
|
|
164
193
|
"lang": "lua",
|
|
165
|
-
"body": "return
|
|
194
|
+
"body": "return TOTAL_VALUE(input.properties)"
|
|
166
195
|
}
|
|
167
196
|
}
|
|
168
197
|
]
|
|
@@ -174,98 +203,118 @@
|
|
|
174
203
|
{
|
|
175
204
|
"modifyString": "uppercase"
|
|
176
205
|
}
|
|
177
|
-
]
|
|
206
|
+
],
|
|
207
|
+
"defaultString": "USD"
|
|
178
208
|
},
|
|
179
209
|
{
|
|
180
|
-
"inputKey": "
|
|
181
|
-
"outputKey": "data.event_data.
|
|
210
|
+
"inputKey": "input",
|
|
211
|
+
"outputKey": "data.event_data.content_ids",
|
|
212
|
+
"transforms": [
|
|
213
|
+
{
|
|
214
|
+
"expression": {
|
|
215
|
+
"lang": "lua",
|
|
216
|
+
"body": "return { input.properties.product_id }"
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
]
|
|
182
220
|
},
|
|
183
221
|
{
|
|
184
222
|
"inputKey": "input",
|
|
185
|
-
"outputKey": "data.
|
|
223
|
+
"outputKey": "data.event_data.contents",
|
|
186
224
|
"transforms": [
|
|
187
225
|
{
|
|
188
226
|
"expression": {
|
|
189
227
|
"lang": "lua",
|
|
190
|
-
"body": "return
|
|
228
|
+
"body": "return {{\n id = input.properties.product_id,\n name = product.name,\n quantity = input.properties.quantity or 1,\n price = input.properties.price\n}}"
|
|
191
229
|
}
|
|
192
230
|
}
|
|
193
231
|
]
|
|
194
232
|
}
|
|
195
233
|
]
|
|
196
234
|
},
|
|
197
|
-
"
|
|
235
|
+
"product_added": {
|
|
198
236
|
"enrichments": [
|
|
199
237
|
{
|
|
200
238
|
"staticString": "event",
|
|
201
239
|
"outputKey": "action"
|
|
202
240
|
},
|
|
203
241
|
{
|
|
204
|
-
"staticString": "",
|
|
205
|
-
"outputKey": "data.device_ver"
|
|
206
|
-
},
|
|
207
|
-
{
|
|
208
|
-
"staticString": "Purchase",
|
|
242
|
+
"staticString": "Add to Cart",
|
|
209
243
|
"outputKey": "data.event_name"
|
|
210
244
|
}
|
|
211
245
|
],
|
|
212
246
|
"mappings": [
|
|
213
247
|
{
|
|
214
|
-
"inputKey": "
|
|
215
|
-
"outputKey": "data.
|
|
216
|
-
"defaultBool": false
|
|
217
|
-
},
|
|
218
|
-
{
|
|
219
|
-
"inputKey": "context.device.advertisingId",
|
|
220
|
-
"outputKey": "data.device_ids",
|
|
248
|
+
"inputKey": "input",
|
|
249
|
+
"outputKey": "data.event_data.sum",
|
|
221
250
|
"transforms": [
|
|
222
251
|
{
|
|
223
252
|
"expression": {
|
|
224
253
|
"lang": "lua",
|
|
225
|
-
"body": "
|
|
254
|
+
"body": "return TOTAL_VALUE(input.properties)"
|
|
226
255
|
}
|
|
227
256
|
}
|
|
228
257
|
]
|
|
229
258
|
},
|
|
230
259
|
{
|
|
231
|
-
"inputKey": "
|
|
232
|
-
"outputKey": "data.
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
"inputKey": "context.library.version",
|
|
240
|
-
"outputKey": "data.app_version"
|
|
260
|
+
"inputKey": "properties.currency",
|
|
261
|
+
"outputKey": "data.event_data.currency",
|
|
262
|
+
"transforms": [
|
|
263
|
+
{
|
|
264
|
+
"modifyString": "uppercase"
|
|
265
|
+
}
|
|
266
|
+
],
|
|
267
|
+
"defaultString": "USD"
|
|
241
268
|
},
|
|
242
269
|
{
|
|
243
270
|
"inputKey": "input",
|
|
244
|
-
"outputKey": "data.event_data.
|
|
271
|
+
"outputKey": "data.event_data.content_ids",
|
|
245
272
|
"transforms": [
|
|
246
273
|
{
|
|
247
274
|
"expression": {
|
|
248
275
|
"lang": "lua",
|
|
249
|
-
"body": "return
|
|
276
|
+
"body": "return { input.properties.product_id }"
|
|
250
277
|
}
|
|
251
278
|
}
|
|
252
279
|
]
|
|
253
280
|
},
|
|
254
281
|
{
|
|
255
282
|
"inputKey": "input",
|
|
256
|
-
"outputKey": "data.event_data.
|
|
283
|
+
"outputKey": "data.event_data.contents",
|
|
257
284
|
"transforms": [
|
|
258
285
|
{
|
|
259
286
|
"expression": {
|
|
260
287
|
"lang": "lua",
|
|
261
|
-
"body": "return
|
|
288
|
+
"body": "return {{\n id = input.properties.product_id,\n name = product.name,\n quantity = input.properties.quantity or 1,\n price = input.properties.price\n}}"
|
|
262
289
|
}
|
|
263
290
|
}
|
|
264
291
|
]
|
|
292
|
+
}
|
|
293
|
+
]
|
|
294
|
+
},
|
|
295
|
+
"cart_viewed": {
|
|
296
|
+
"enrichments": [
|
|
297
|
+
{
|
|
298
|
+
"staticString": "event",
|
|
299
|
+
"outputKey": "action"
|
|
300
|
+
}
|
|
301
|
+
],
|
|
302
|
+
"mappings": [
|
|
303
|
+
{
|
|
304
|
+
"inputKey": "event",
|
|
305
|
+
"outputKey": "data.event_name"
|
|
265
306
|
},
|
|
266
307
|
{
|
|
267
|
-
"inputKey": "
|
|
268
|
-
"outputKey": "data.event_data.
|
|
308
|
+
"inputKey": "input",
|
|
309
|
+
"outputKey": "data.event_data.sum",
|
|
310
|
+
"transforms": [
|
|
311
|
+
{
|
|
312
|
+
"expression": {
|
|
313
|
+
"lang": "lua",
|
|
314
|
+
"body": "return TOTAL_VALUE(input.properties.products)"
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
]
|
|
269
318
|
},
|
|
270
319
|
{
|
|
271
320
|
"inputKey": "properties.currency",
|
|
@@ -274,150 +323,150 @@
|
|
|
274
323
|
{
|
|
275
324
|
"modifyString": "uppercase"
|
|
276
325
|
}
|
|
326
|
+
],
|
|
327
|
+
"defaultString": "USD"
|
|
328
|
+
},
|
|
329
|
+
{
|
|
330
|
+
"inputKey": "properties.products",
|
|
331
|
+
"outputKey": "data.event_data.content_ids",
|
|
332
|
+
"transforms": [
|
|
333
|
+
{
|
|
334
|
+
"pluckValues": {
|
|
335
|
+
"extractKey": "product_id"
|
|
336
|
+
}
|
|
337
|
+
}
|
|
277
338
|
]
|
|
278
339
|
},
|
|
279
340
|
{
|
|
280
341
|
"inputKey": "input",
|
|
281
|
-
"outputKey": "data.
|
|
342
|
+
"outputKey": "data.event_data.contents",
|
|
282
343
|
"transforms": [
|
|
283
344
|
{
|
|
284
345
|
"expression": {
|
|
285
346
|
"lang": "lua",
|
|
286
|
-
"body": "return
|
|
347
|
+
"body": "return MAP(\n input.properties.products,\n function (product)\n return {\n content_id = product.product_id or product.sku,\n name = product.name,\n quantity = product.quantity or 1,\n price = product.price\n }\n end\n)"
|
|
287
348
|
}
|
|
288
349
|
}
|
|
289
350
|
]
|
|
290
351
|
}
|
|
291
352
|
]
|
|
292
353
|
},
|
|
293
|
-
"
|
|
354
|
+
"checkout_started": {
|
|
294
355
|
"enrichments": [
|
|
295
356
|
{
|
|
296
357
|
"staticString": "event",
|
|
297
358
|
"outputKey": "action"
|
|
298
359
|
},
|
|
299
360
|
{
|
|
300
|
-
"staticString": "",
|
|
301
|
-
"outputKey": "data.device_ver"
|
|
302
|
-
},
|
|
303
|
-
{
|
|
304
|
-
"staticString": "Add to Cart",
|
|
361
|
+
"staticString": "Checkout Start",
|
|
305
362
|
"outputKey": "data.event_name"
|
|
306
363
|
}
|
|
307
364
|
],
|
|
308
365
|
"mappings": [
|
|
309
366
|
{
|
|
310
|
-
"inputKey": "
|
|
311
|
-
"outputKey": "data.
|
|
312
|
-
"defaultBool": false
|
|
313
|
-
},
|
|
314
|
-
{
|
|
315
|
-
"inputKey": "context.device.advertisingId",
|
|
316
|
-
"outputKey": "data.device_ids",
|
|
367
|
+
"inputKey": "input",
|
|
368
|
+
"outputKey": "data.event_data.sum",
|
|
317
369
|
"transforms": [
|
|
318
370
|
{
|
|
319
371
|
"expression": {
|
|
320
372
|
"lang": "lua",
|
|
321
|
-
"body": "
|
|
373
|
+
"body": "return TOTAL_VALUE(input.properties.products)"
|
|
322
374
|
}
|
|
323
375
|
}
|
|
324
376
|
]
|
|
325
377
|
},
|
|
326
378
|
{
|
|
327
|
-
"inputKey": "
|
|
328
|
-
"outputKey": "data.
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
"inputKey": "context.library.version",
|
|
336
|
-
"outputKey": "data.app_version"
|
|
337
|
-
},
|
|
338
|
-
{
|
|
339
|
-
"inputKey": "properties.name",
|
|
340
|
-
"outputKey": "data.event_data.name"
|
|
341
|
-
},
|
|
342
|
-
{
|
|
343
|
-
"inputKey": "properties.product_id",
|
|
344
|
-
"outputKey": "data.event_data.content_id"
|
|
379
|
+
"inputKey": "properties.currency",
|
|
380
|
+
"outputKey": "data.event_data.currency",
|
|
381
|
+
"transforms": [
|
|
382
|
+
{
|
|
383
|
+
"modifyString": "uppercase"
|
|
384
|
+
}
|
|
385
|
+
],
|
|
386
|
+
"defaultString": "USD"
|
|
345
387
|
},
|
|
346
388
|
{
|
|
347
|
-
"inputKey": "properties.
|
|
348
|
-
"outputKey": "data.event_data.
|
|
389
|
+
"inputKey": "properties.products",
|
|
390
|
+
"outputKey": "data.event_data.content_ids",
|
|
391
|
+
"transforms": [
|
|
392
|
+
{
|
|
393
|
+
"pluckValues": {
|
|
394
|
+
"extractKey": "product_id"
|
|
395
|
+
}
|
|
396
|
+
}
|
|
397
|
+
]
|
|
349
398
|
},
|
|
350
399
|
{
|
|
351
400
|
"inputKey": "input",
|
|
352
|
-
"outputKey": "data.
|
|
401
|
+
"outputKey": "data.event_data.contents",
|
|
353
402
|
"transforms": [
|
|
354
403
|
{
|
|
355
404
|
"expression": {
|
|
356
405
|
"lang": "lua",
|
|
357
|
-
"body": "return
|
|
406
|
+
"body": "return MAP(\n input.properties.products,\n function (product)\n return {\n content_id = product.product_id or product.sku,\n name = product.name,\n quantity = product.quantity or 1,\n price = product.price\n }\n end\n)"
|
|
358
407
|
}
|
|
359
408
|
}
|
|
360
409
|
]
|
|
361
410
|
}
|
|
362
411
|
]
|
|
363
412
|
},
|
|
364
|
-
"
|
|
413
|
+
"order_completed": {
|
|
365
414
|
"enrichments": [
|
|
366
415
|
{
|
|
367
416
|
"staticString": "event",
|
|
368
417
|
"outputKey": "action"
|
|
369
418
|
},
|
|
370
419
|
{
|
|
371
|
-
"staticString": "",
|
|
372
|
-
"outputKey": "data.device_ver"
|
|
373
|
-
},
|
|
374
|
-
{
|
|
375
|
-
"staticString": "Search",
|
|
420
|
+
"staticString": "Purchase",
|
|
376
421
|
"outputKey": "data.event_name"
|
|
377
422
|
}
|
|
378
423
|
],
|
|
379
424
|
"mappings": [
|
|
380
425
|
{
|
|
381
|
-
"inputKey": "
|
|
382
|
-
"outputKey": "data.
|
|
383
|
-
"defaultBool": false
|
|
426
|
+
"inputKey": "properties.order_id",
|
|
427
|
+
"outputKey": "data.event_data.transaction_id"
|
|
384
428
|
},
|
|
385
429
|
{
|
|
386
|
-
"inputKey": "
|
|
387
|
-
"outputKey": "data.
|
|
430
|
+
"inputKey": "input",
|
|
431
|
+
"outputKey": "data.event_data.sum",
|
|
388
432
|
"transforms": [
|
|
389
433
|
{
|
|
390
434
|
"expression": {
|
|
391
435
|
"lang": "lua",
|
|
392
|
-
"body": "
|
|
436
|
+
"body": "return TOTAL_VALUE(input.properties.products)"
|
|
393
437
|
}
|
|
394
438
|
}
|
|
395
439
|
]
|
|
396
440
|
},
|
|
397
441
|
{
|
|
398
|
-
"inputKey": "
|
|
399
|
-
"outputKey": "data.
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
"inputKey": "context.library.version",
|
|
407
|
-
"outputKey": "data.app_version"
|
|
442
|
+
"inputKey": "properties.currency",
|
|
443
|
+
"outputKey": "data.event_data.currency",
|
|
444
|
+
"transforms": [
|
|
445
|
+
{
|
|
446
|
+
"modifyString": "uppercase"
|
|
447
|
+
}
|
|
448
|
+
],
|
|
449
|
+
"defaultString": "USD"
|
|
408
450
|
},
|
|
409
451
|
{
|
|
410
|
-
"inputKey": "properties.
|
|
411
|
-
"outputKey": "data.event_data.
|
|
452
|
+
"inputKey": "properties.products",
|
|
453
|
+
"outputKey": "data.event_data.content_ids",
|
|
454
|
+
"transforms": [
|
|
455
|
+
{
|
|
456
|
+
"pluckValues": {
|
|
457
|
+
"extractKey": "product_id"
|
|
458
|
+
}
|
|
459
|
+
}
|
|
460
|
+
]
|
|
412
461
|
},
|
|
413
462
|
{
|
|
414
463
|
"inputKey": "input",
|
|
415
|
-
"outputKey": "data.
|
|
464
|
+
"outputKey": "data.event_data.contents",
|
|
416
465
|
"transforms": [
|
|
417
466
|
{
|
|
418
467
|
"expression": {
|
|
419
468
|
"lang": "lua",
|
|
420
|
-
"body": "return
|
|
469
|
+
"body": "return MAP(\n input.properties.products,\n function (product)\n return {\n content_id = product.product_id or product.sku,\n name = product.name,\n quantity = product.quantity or 1,\n price = product.price\n }\n end\n)"
|
|
421
470
|
}
|
|
422
471
|
}
|
|
423
472
|
]
|
|
@@ -430,54 +479,17 @@
|
|
|
430
479
|
{
|
|
431
480
|
"staticString": "event",
|
|
432
481
|
"outputKey": "action"
|
|
433
|
-
},
|
|
434
|
-
{
|
|
435
|
-
"staticString": "",
|
|
436
|
-
"outputKey": "data.device_ver"
|
|
437
482
|
}
|
|
438
483
|
],
|
|
439
484
|
"mappings": [
|
|
440
|
-
{
|
|
441
|
-
"inputKey": "context.device.adTrackingEnabled",
|
|
442
|
-
"outputKey": "data.app_tracking_transparency.att",
|
|
443
|
-
"defaultBool": false
|
|
444
|
-
},
|
|
445
|
-
{
|
|
446
|
-
"inputKey": "event",
|
|
447
|
-
"outputKey": "data.event_name"
|
|
448
|
-
},
|
|
449
|
-
{
|
|
450
|
-
"inputKey": "context.device.advertisingId",
|
|
451
|
-
"outputKey": "data.device_ids",
|
|
452
|
-
"transforms": [
|
|
453
|
-
{
|
|
454
|
-
"expression": {
|
|
455
|
-
"lang": "lua",
|
|
456
|
-
"body": "local deviceType = input.context.device.type\nif deviceType == 'ios' then\n return {\n idfa = input.context.device.advertisingId,\n idfv = input.context.device.id\n }\nelseif deviceType == 'android' then\n return {\n adid = input.context.device.advertisingId,\n android_id = input.context.device.id\n }\nend"
|
|
457
|
-
}
|
|
458
|
-
}
|
|
459
|
-
]
|
|
460
|
-
},
|
|
461
|
-
{
|
|
462
|
-
"inputKey": "context.ip",
|
|
463
|
-
"outputKey": "data.origination_ip"
|
|
464
|
-
},
|
|
465
|
-
{
|
|
466
|
-
"inputKey": "context.userAgent",
|
|
467
|
-
"outputKey": "data.device_ua"
|
|
468
|
-
},
|
|
469
|
-
{
|
|
470
|
-
"inputKey": "context.library.version",
|
|
471
|
-
"outputKey": "data.app_version"
|
|
472
|
-
},
|
|
473
485
|
{
|
|
474
486
|
"inputKey": "input",
|
|
475
|
-
"outputKey": "data.
|
|
487
|
+
"outputKey": "data.event_name",
|
|
476
488
|
"transforms": [
|
|
477
489
|
{
|
|
478
490
|
"expression": {
|
|
479
491
|
"lang": "lua",
|
|
480
|
-
"body": "return
|
|
492
|
+
"body": "if input.type and input.type == 'track' then\n return input.event\nend\nreturn input.type"
|
|
481
493
|
}
|
|
482
494
|
}
|
|
483
495
|
]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"9b4b6d4a47f4a376ab410c29f33d5bd7"
|
|
@@ -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
|
-
"
|
|
1
|
+
"e832618c52a9b7a2507c48d696ffcfe9"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"
|
|
1
|
+
"bda96be461602b71752f572fe4210a7b"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "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
|
]
|
package/README.md
CHANGED
|
@@ -6,12 +6,14 @@ 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)
|
|
9
12
|
- The Trade Desk - Conversions (BETA)
|
|
10
13
|
|
|
11
14
|
## 2025-05
|
|
12
15
|
- Amazon DSP CAPI (BETA)
|
|
13
16
|
- Amazon Kinesis (BETA)
|
|
14
|
-
- Perion (BETA)
|
|
15
17
|
- TheTradeDesk Conversion Events
|
|
16
18
|
|
|
17
19
|
## 2025-04
|
|
@@ -71,7 +73,6 @@ previously.
|
|
|
71
73
|
- HubSpot (BETA)
|
|
72
74
|
- Impact Radius
|
|
73
75
|
- InMarket (BETA)
|
|
74
|
-
- Kochava (BETA)
|
|
75
76
|
- Lytics
|
|
76
77
|
- Magellan AI
|
|
77
78
|
- MIQ (Xandr) (BETA)
|
|
@@ -122,10 +123,12 @@ previously.
|
|
|
122
123
|
|
|
123
124
|
| Kit Name | Date | Latest Note |
|
|
124
125
|
|----------|------|-------------|
|
|
126
|
+
| 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 |
|
|
127
|
+
| Kochava IdentityLink (BETA) | 2025-06 | Version: 0.1.0 Beta Version Kochava IdentityLink initial release |
|
|
128
|
+
| Perion (BETA) | 2025-06 | Version: 0.2.0 Fixing product_viewed's products field |
|
|
125
129
|
| The Trade Desk - Conversions (BETA) | 2025-06 | Version: 0.1.0 Beta Version The Trade Desk - Conversions initial release |
|
|
126
130
|
| Amazon DSP CAPI (BETA) | 2025-05 | Version: 0.1.0 Beta Version Amazon DSP CAPI initial release. |
|
|
127
131
|
| 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
132
|
| TheTradeDesk Conversion Events | 2025-05 | Version: 1.2.0 Deprecated |
|
|
130
133
|
| Amazon Data Firehose | 2025-04 | Version: 1.0.0 Stable release |
|
|
131
134
|
| Meta CAPI | 2025-04 | Version: 1.5.0 Friendly name updated |
|
|
@@ -171,7 +174,6 @@ previously.
|
|
|
171
174
|
| HubSpot (BETA) | 2024-10 | Version: 0.3.0 Added header `Accept-Encoding: application/json` |
|
|
172
175
|
| Impact Radius | 2024-10 | Version: 1.2.0 Added header `Accept-Encoding: application/json` |
|
|
173
176
|
| 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
177
|
| Lytics | 2024-10 | Version: 1.1.0 Added header `Accept-Encoding: application/json` |
|
|
176
178
|
| Magellan AI | 2024-10 | Version: 1.1.0 Added header `Accept-Encoding: application/json` |
|
|
177
179
|
| MIQ (Xandr) (BETA) | 2024-10 | Version: 0.2.0 Added header `Accept-Encoding: application/json` |
|
package/index.js
CHANGED
|
@@ -291,6 +291,12 @@ exports.kochava = {
|
|
|
291
291
|
metadata: require('./.dist/kochava/metadata.json')
|
|
292
292
|
}
|
|
293
293
|
|
|
294
|
+
exports['kochava-identitylink'] = {
|
|
295
|
+
endpointSchema: require('./.dist/kochava-identitylink/connection.json'),
|
|
296
|
+
playbook: require('./.dist/kochava-identitylink/playbook.json'),
|
|
297
|
+
metadata: require('./.dist/kochava-identitylink/metadata.json')
|
|
298
|
+
}
|
|
299
|
+
|
|
294
300
|
exports.lytics = {
|
|
295
301
|
endpointSchema: require('./.dist/lytics/connection.json'),
|
|
296
302
|
playbook: require('./.dist/lytics/playbook.json'),
|
|
@@ -753,9 +759,15 @@ exports.etags = {
|
|
|
753
759
|
kit: require('./.dist/in-market/kit.etag.json')
|
|
754
760
|
},
|
|
755
761
|
kochava: {
|
|
762
|
+
endpointSchema: require('./.dist/kochava/connection.etag.json'),
|
|
756
763
|
playbook: require('./.dist/kochava/playbook.etag.json'),
|
|
757
764
|
kit: require('./.dist/kochava/kit.etag.json')
|
|
758
765
|
},
|
|
766
|
+
'kochava-identitylink': {
|
|
767
|
+
endpointSchema: require('./.dist/kochava-identitylink/connection.etag.json'),
|
|
768
|
+
playbook: require('./.dist/kochava-identitylink/playbook.etag.json'),
|
|
769
|
+
kit: require('./.dist/kochava-identitylink/kit.etag.json')
|
|
770
|
+
},
|
|
759
771
|
lytics: {
|
|
760
772
|
endpointSchema: require('./.dist/lytics/connection.etag.json'),
|
|
761
773
|
playbook: require('./.dist/lytics/playbook.etag.json'),
|