@metarouter/ajs-starter-kit 1.0.129 → 1.0.131
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/amazon-dsp-capi/connection.etag.json +1 -0
- package/.dist/amazon-dsp-capi/connection.json +44 -0
- package/.dist/amazon-dsp-capi/kit.etag.json +1 -0
- package/.dist/amazon-dsp-capi/metadata.json +21 -0
- package/.dist/amazon-dsp-capi/playbook.etag.json +1 -0
- package/.dist/amazon-dsp-capi/playbook.json +302 -0
- package/.dist/amazon-kinesis/connection.etag.json +1 -0
- package/.dist/amazon-kinesis/connection.json +26 -0
- package/.dist/amazon-kinesis/kit.etag.json +1 -0
- package/.dist/amazon-kinesis/metadata.json +21 -0
- package/.dist/amazon-kinesis/playbook.etag.json +1 -0
- package/.dist/amazon-kinesis/playbook.json +11 -0
- package/.dist/build-your-own/kit.etag.json +1 -1
- package/.dist/connection-schemas.json +24 -0
- package/.dist/google-bigquery-streaming/kit.etag.json +1 -1
- package/.dist/google-bigquery-streaming/metadata.json +1 -1
- package/.dist/perion/connection.etag.json +1 -0
- package/.dist/perion/connection.json +28 -0
- package/.dist/perion/kit.etag.json +1 -0
- package/.dist/perion/metadata.json +21 -0
- package/.dist/perion/playbook.etag.json +1 -0
- package/.dist/perion/playbook.json +197 -0
- package/.dist/podscribe/kit.etag.json +1 -1
- package/.dist/ttd-conversions/connection.etag.json +1 -0
- package/.dist/ttd-conversions/connection.json +21 -0
- package/.dist/ttd-conversions/kit.etag.json +1 -0
- package/.dist/ttd-conversions/metadata.json +21 -0
- package/.dist/ttd-conversions/playbook.etag.json +1 -0
- package/.dist/ttd-conversions/playbook.json +322 -0
- package/README.md +10 -0
- package/index.js +43 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"33bb05a09a1e790fae0bdcf96e64e402"
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"params": [
|
|
3
|
+
{
|
|
4
|
+
"name": "BASE_URL",
|
|
5
|
+
"exampleValue": "my-base-url",
|
|
6
|
+
"defaultValue": "https://advertising-api.amazon.com"
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
"name": "ADVERTISER_ID",
|
|
10
|
+
"exampleValue": "my-advertiser-id"
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"name": "CLIENT_ID",
|
|
14
|
+
"exampleValue": "my-client-id"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"name": "PROFILE_ID",
|
|
18
|
+
"exampleValue": "my-profile-id"
|
|
19
|
+
}
|
|
20
|
+
],
|
|
21
|
+
"default": {
|
|
22
|
+
"endpoint": "$$BASE_URL$$/accounts/$$ADVERTISER_ID$$/dsp/conversionDefinitions/eventData",
|
|
23
|
+
"method": "POST",
|
|
24
|
+
"headers": [
|
|
25
|
+
{
|
|
26
|
+
"key": "Amazon-Advertising-API-ClientId",
|
|
27
|
+
"value": "$$CLIENT_ID$$"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"key": "Amazon-Advertising-API-Scope",
|
|
31
|
+
"value": "$$PROFILE_ID$$"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"key": "Amazon-Ads-AccountId",
|
|
35
|
+
"value": "$$ADVERTISER_ID$$"
|
|
36
|
+
}
|
|
37
|
+
],
|
|
38
|
+
"batchSize": 50,
|
|
39
|
+
"transform": {
|
|
40
|
+
"lang": "lua",
|
|
41
|
+
"body": "request.body = { eventData = batch, source = \"SERVER_TO_SERVER\" }\nreturn request"
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"6dffe77de4d0cc00bf44d2ce99491d5f"
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"isDraft": false,
|
|
3
|
+
"isDeprecated": false,
|
|
4
|
+
"isBeta": true,
|
|
5
|
+
"friendlyName": "Amazon DSP CAPI",
|
|
6
|
+
"description": "Amazon DSP is a programmatic advertising solution that allows advertisers to purchase video, audio, and display ad placements both on Amazon-owned properties and across a network of third-party sites and apps.",
|
|
7
|
+
"logo": "https://cdn.metarouter.io/amazon-dsp-capi.png",
|
|
8
|
+
"color": "#FF9900",
|
|
9
|
+
"eventSource": {
|
|
10
|
+
"isAndroidApp": true,
|
|
11
|
+
"isIosApp": true,
|
|
12
|
+
"isWebApp": true
|
|
13
|
+
},
|
|
14
|
+
"inputSchema": "analytics_js",
|
|
15
|
+
"releaseNotes": [
|
|
16
|
+
{
|
|
17
|
+
"date": "2025-05-21T00:00:00.000Z",
|
|
18
|
+
"note": "Version: 0.1.0\nBeta Version\nAmazon DSP CAPI initial release."
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"cf2b6b7cd79e9c32d53532032e35fb28"
|
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.1.0",
|
|
3
|
+
"global": {
|
|
4
|
+
"filters": [
|
|
5
|
+
{
|
|
6
|
+
"byConditions": {
|
|
7
|
+
"action": "allow",
|
|
8
|
+
"when": {
|
|
9
|
+
"matchesAny": {
|
|
10
|
+
"conditions": [
|
|
11
|
+
{
|
|
12
|
+
"inputPathExists": {
|
|
13
|
+
"inputPath": "traits.email"
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"inputPathExists": {
|
|
18
|
+
"inputPath": "context.traits.email"
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
]
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
],
|
|
27
|
+
"enrichments": [
|
|
28
|
+
{
|
|
29
|
+
"staticString": "US",
|
|
30
|
+
"outputKey": "countryCode"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"staticString": "",
|
|
34
|
+
"outputKey": "dataProcessingOptions"
|
|
35
|
+
}
|
|
36
|
+
],
|
|
37
|
+
"mappings": [
|
|
38
|
+
{
|
|
39
|
+
"inputKey": "input",
|
|
40
|
+
"outputKey": "name",
|
|
41
|
+
"transforms": [
|
|
42
|
+
{
|
|
43
|
+
"expression": {
|
|
44
|
+
"lang": "lua",
|
|
45
|
+
"body": "if (input.type == \"track\") then return REPLACE(LOWER(input.event), \" \", \"_\") end\nreturn input.type"
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
]
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"inputKey": "input",
|
|
52
|
+
"outputKey": "matchKeys",
|
|
53
|
+
"transforms": [
|
|
54
|
+
{
|
|
55
|
+
"expression": {
|
|
56
|
+
"body": "local email = input.traits.email or input.context.traits.email\nif email then return {{ values = {TO_SHA256_HASH(LOWER(TRIM(email)))}, type = \"EMAIL\" }} end",
|
|
57
|
+
"lang": "lua"
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
]
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"inputKey": "messageId",
|
|
64
|
+
"outputKey": "clientDedupeId"
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"inputKey": "input",
|
|
68
|
+
"outputKey": "timestamp",
|
|
69
|
+
"transforms": [
|
|
70
|
+
{
|
|
71
|
+
"expression": {
|
|
72
|
+
"body": "return input.timestamp or input.originalTimestamp or input.sentAt",
|
|
73
|
+
"lang": "lua"
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
]
|
|
77
|
+
}
|
|
78
|
+
]
|
|
79
|
+
},
|
|
80
|
+
"eventSpecific": {
|
|
81
|
+
"page": {
|
|
82
|
+
"enrichments": [
|
|
83
|
+
{
|
|
84
|
+
"staticString": "ADD_CONVERSION_DEFINITION_ID_HERE",
|
|
85
|
+
"outputKey": "conversionDefinitionId"
|
|
86
|
+
}
|
|
87
|
+
]
|
|
88
|
+
},
|
|
89
|
+
"products_searched": {
|
|
90
|
+
"enrichments": [
|
|
91
|
+
{
|
|
92
|
+
"staticString": "ADD_CONVERSION_DEFINITION_ID_HERE",
|
|
93
|
+
"outputKey": "conversionDefinitionId"
|
|
94
|
+
}
|
|
95
|
+
]
|
|
96
|
+
},
|
|
97
|
+
"product_list_viewed": {
|
|
98
|
+
"enrichments": [
|
|
99
|
+
{
|
|
100
|
+
"staticString": "ADD_CONVERSION_DEFINITION_ID_HERE",
|
|
101
|
+
"outputKey": "conversionDefinitionId"
|
|
102
|
+
}
|
|
103
|
+
]
|
|
104
|
+
},
|
|
105
|
+
"product_clicked": {
|
|
106
|
+
"enrichments": [
|
|
107
|
+
{
|
|
108
|
+
"staticString": "ADD_CONVERSION_DEFINITION_ID_HERE",
|
|
109
|
+
"outputKey": "conversionDefinitionId"
|
|
110
|
+
}
|
|
111
|
+
],
|
|
112
|
+
"mappings": [
|
|
113
|
+
{
|
|
114
|
+
"inputKey": "properties.price",
|
|
115
|
+
"outputKey": "value"
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"inputKey": "properties.currency",
|
|
119
|
+
"outputKey": "currencyCode",
|
|
120
|
+
"transforms": [
|
|
121
|
+
{
|
|
122
|
+
"modifyString": "uppercase"
|
|
123
|
+
}
|
|
124
|
+
],
|
|
125
|
+
"defaultString": "USD"
|
|
126
|
+
}
|
|
127
|
+
]
|
|
128
|
+
},
|
|
129
|
+
"product_viewed": {
|
|
130
|
+
"enrichments": [
|
|
131
|
+
{
|
|
132
|
+
"staticString": "ADD_CONVERSION_DEFINITION_ID_HERE",
|
|
133
|
+
"outputKey": "conversionDefinitionId"
|
|
134
|
+
}
|
|
135
|
+
],
|
|
136
|
+
"mappings": [
|
|
137
|
+
{
|
|
138
|
+
"inputKey": "properties.price",
|
|
139
|
+
"outputKey": "value"
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"inputKey": "properties.currency",
|
|
143
|
+
"outputKey": "currencyCode",
|
|
144
|
+
"transforms": [
|
|
145
|
+
{
|
|
146
|
+
"modifyString": "uppercase"
|
|
147
|
+
}
|
|
148
|
+
],
|
|
149
|
+
"defaultString": "USD"
|
|
150
|
+
}
|
|
151
|
+
]
|
|
152
|
+
},
|
|
153
|
+
"product_added": {
|
|
154
|
+
"enrichments": [
|
|
155
|
+
{
|
|
156
|
+
"staticString": "ADD_CONVERSION_DEFINITION_ID_HERE",
|
|
157
|
+
"outputKey": "conversionDefinitionId"
|
|
158
|
+
}
|
|
159
|
+
],
|
|
160
|
+
"mappings": [
|
|
161
|
+
{
|
|
162
|
+
"inputKey": "input",
|
|
163
|
+
"outputKey": "value",
|
|
164
|
+
"transforms": [
|
|
165
|
+
{
|
|
166
|
+
"expression": {
|
|
167
|
+
"lang": "lua",
|
|
168
|
+
"body": "return tonumber(string.format(\"%.2f\", input.properties.price * (input.properties.quantity or 1)))"
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
]
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
"inputKey": "properties.currency",
|
|
175
|
+
"outputKey": "currencyCode",
|
|
176
|
+
"transforms": [
|
|
177
|
+
{
|
|
178
|
+
"modifyString": "uppercase"
|
|
179
|
+
}
|
|
180
|
+
],
|
|
181
|
+
"defaultString": "USD"
|
|
182
|
+
}
|
|
183
|
+
]
|
|
184
|
+
},
|
|
185
|
+
"product_removed": {
|
|
186
|
+
"enrichments": [
|
|
187
|
+
{
|
|
188
|
+
"staticString": "ADD_CONVERSION_DEFINITION_ID_HERE",
|
|
189
|
+
"outputKey": "conversionDefinitionId"
|
|
190
|
+
}
|
|
191
|
+
],
|
|
192
|
+
"mappings": [
|
|
193
|
+
{
|
|
194
|
+
"inputKey": "input",
|
|
195
|
+
"outputKey": "value",
|
|
196
|
+
"transforms": [
|
|
197
|
+
{
|
|
198
|
+
"expression": {
|
|
199
|
+
"lang": "lua",
|
|
200
|
+
"body": "return tonumber(string.format(\"%.2f\", input.properties.price * (input.properties.quantity or 1)))"
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
]
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
"inputKey": "properties.currency",
|
|
207
|
+
"outputKey": "currencyCode",
|
|
208
|
+
"transforms": [
|
|
209
|
+
{
|
|
210
|
+
"modifyString": "uppercase"
|
|
211
|
+
}
|
|
212
|
+
],
|
|
213
|
+
"defaultString": "USD"
|
|
214
|
+
}
|
|
215
|
+
]
|
|
216
|
+
},
|
|
217
|
+
"cart_viewed": {
|
|
218
|
+
"enrichments": [
|
|
219
|
+
{
|
|
220
|
+
"staticString": "ADD_CONVERSION_DEFINITION_ID_HERE",
|
|
221
|
+
"outputKey": "conversionDefinitionId"
|
|
222
|
+
}
|
|
223
|
+
],
|
|
224
|
+
"mappings": [
|
|
225
|
+
{
|
|
226
|
+
"inputKey": "input",
|
|
227
|
+
"outputKey": "value",
|
|
228
|
+
"transforms": [
|
|
229
|
+
{
|
|
230
|
+
"expression": {
|
|
231
|
+
"lang": "lua",
|
|
232
|
+
"body": "return tonumber(string.format(\"%.2f\", SUM(MAP(input.properties.products, function (p) return p.price * (p.quantity or 1) end))))"
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
]
|
|
236
|
+
},
|
|
237
|
+
{
|
|
238
|
+
"inputKey": "properties.currency",
|
|
239
|
+
"outputKey": "currencyCode",
|
|
240
|
+
"transforms": [
|
|
241
|
+
{
|
|
242
|
+
"modifyString": "uppercase"
|
|
243
|
+
}
|
|
244
|
+
],
|
|
245
|
+
"defaultString": "USD"
|
|
246
|
+
}
|
|
247
|
+
]
|
|
248
|
+
},
|
|
249
|
+
"order_completed": {
|
|
250
|
+
"enrichments": [
|
|
251
|
+
{
|
|
252
|
+
"staticString": "ADD_CONVERSION_DEFINITION_ID_HERE",
|
|
253
|
+
"outputKey": "conversionDefinitionId"
|
|
254
|
+
}
|
|
255
|
+
],
|
|
256
|
+
"mappings": [
|
|
257
|
+
{
|
|
258
|
+
"inputKey": "input",
|
|
259
|
+
"outputKey": "value",
|
|
260
|
+
"transforms": [
|
|
261
|
+
{
|
|
262
|
+
"expression": {
|
|
263
|
+
"lang": "lua",
|
|
264
|
+
"body": "return tonumber(string.format(\"%.2f\", SUM(MAP(input.properties.products, function (p) return p.price * (p.quantity or 1) end))))"
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
]
|
|
268
|
+
},
|
|
269
|
+
{
|
|
270
|
+
"inputKey": "properties.currency",
|
|
271
|
+
"outputKey": "currencyCode",
|
|
272
|
+
"transforms": [
|
|
273
|
+
{
|
|
274
|
+
"modifyString": "uppercase"
|
|
275
|
+
}
|
|
276
|
+
],
|
|
277
|
+
"defaultString": "USD"
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
"inputKey": "input",
|
|
281
|
+
"outputKey": "unitsSold",
|
|
282
|
+
"transforms": [
|
|
283
|
+
{
|
|
284
|
+
"expression": {
|
|
285
|
+
"lang": "lua",
|
|
286
|
+
"body": "return SUM(MAP(input.properties.products, function (p) return p.quantity or 1 end))"
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
]
|
|
290
|
+
}
|
|
291
|
+
]
|
|
292
|
+
}
|
|
293
|
+
},
|
|
294
|
+
"default": {
|
|
295
|
+
"enrichments": [
|
|
296
|
+
{
|
|
297
|
+
"staticString": "ADD_CATCH_ALL_CONVERSION_DEFINITION_ID_HERE",
|
|
298
|
+
"outputKey": "conversionDefinitionId"
|
|
299
|
+
}
|
|
300
|
+
]
|
|
301
|
+
}
|
|
302
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"105f65e48a756a72c4a073083ac8b64c"
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"params": [
|
|
3
|
+
{
|
|
4
|
+
"name": "REGION",
|
|
5
|
+
"exampleValue": "my-region"
|
|
6
|
+
},
|
|
7
|
+
{
|
|
8
|
+
"name": "ACCESS_KEY",
|
|
9
|
+
"exampleValue": "my-access-key"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"name": "SECRET_KEY",
|
|
13
|
+
"exampleValue": "my-secret-key"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"name": "STREAM_NAME",
|
|
17
|
+
"exampleValue": "my-stream-name"
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"amazon-kinesis": {
|
|
21
|
+
"region": "$$REGION$$",
|
|
22
|
+
"accessKey": "$$ACCESS_KEY$$",
|
|
23
|
+
"secretKey": "$$SECRET_KEY$$",
|
|
24
|
+
"streamName": "$$STREAM_NAME$$"
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"d91edb5331081bd362fe3434d3283344"
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"isDraft": false,
|
|
3
|
+
"isDeprecated": false,
|
|
4
|
+
"isBeta": true,
|
|
5
|
+
"friendlyName": "Amazon Kinesis",
|
|
6
|
+
"description": "Amazon Kinesis enables you to process and analyze data as it arrives and respond instantly\ninstead of having to wait until all your data is collected before the processing can begin.",
|
|
7
|
+
"logo": "https://cdn.metarouter.io/logo.svg",
|
|
8
|
+
"color": "#f58532",
|
|
9
|
+
"eventSource": {
|
|
10
|
+
"isAndroidApp": true,
|
|
11
|
+
"isIosApp": true,
|
|
12
|
+
"isWebApp": true
|
|
13
|
+
},
|
|
14
|
+
"inputSchema": "analytics_js",
|
|
15
|
+
"releaseNotes": [
|
|
16
|
+
{
|
|
17
|
+
"date": "2025-05-21T00:00:00.000Z",
|
|
18
|
+
"note": "Version: 0.1.0\nBeta Version\nAmazon Kinesis initial release."
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"b369e2c36983957aec3cfe2f3c3bee4b"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"
|
|
1
|
+
"108898d34641aa9470ad9db37a00668d"
|
|
@@ -25,6 +25,30 @@
|
|
|
25
25
|
],
|
|
26
26
|
"additionalProperties": false
|
|
27
27
|
},
|
|
28
|
+
"amazonKinesis": {
|
|
29
|
+
"type": "object",
|
|
30
|
+
"properties": {
|
|
31
|
+
"accessKey": {
|
|
32
|
+
"type": "string"
|
|
33
|
+
},
|
|
34
|
+
"region": {
|
|
35
|
+
"type": "string"
|
|
36
|
+
},
|
|
37
|
+
"secretKey": {
|
|
38
|
+
"type": "string"
|
|
39
|
+
},
|
|
40
|
+
"streamName": {
|
|
41
|
+
"type": "string"
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
"required": [
|
|
45
|
+
"region",
|
|
46
|
+
"accessKey",
|
|
47
|
+
"secretKey",
|
|
48
|
+
"streamName"
|
|
49
|
+
],
|
|
50
|
+
"additionalProperties": false
|
|
51
|
+
},
|
|
28
52
|
"blob": {
|
|
29
53
|
"type": "object",
|
|
30
54
|
"properties": {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"
|
|
1
|
+
"578fea3d5d4f007c35921c81147ca109"
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
},
|
|
32
32
|
{
|
|
33
33
|
"date": "2024-08-21T00:00:00.000Z",
|
|
34
|
-
"note": "Version: 1.0.0\nAdding option to set
|
|
34
|
+
"note": "Version: 1.0.0\nAdding option to set dataset creation mode to BIG_QUERY_OPTIONS_DISABLE_DATASET_CREATION\nThis will allow users to create save events without having the bigquery.datasets.create permission in their IAM role"
|
|
35
35
|
},
|
|
36
36
|
{
|
|
37
37
|
"date": "2025-01-16T00:00:00.000Z",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"c752be088c743ff1fb49d99ff5376984"
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"default": {
|
|
3
|
+
"endpoint": "https://evt.undertone.com/tp",
|
|
4
|
+
"method": "POST",
|
|
5
|
+
"headers": [
|
|
6
|
+
{
|
|
7
|
+
"key": "Accept-Encoding",
|
|
8
|
+
"value": "application/json"
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"key": "Content-Type",
|
|
12
|
+
"value": "application/json"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"key": "User-Agent",
|
|
16
|
+
"fromEventKey": "context.userAgent"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"key": "Referer",
|
|
20
|
+
"fromEventKey": "context.page.referrer"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"key": "X-Forwarded-For",
|
|
24
|
+
"fromEventKey": "context.ip"
|
|
25
|
+
}
|
|
26
|
+
]
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"1761f606655ae5484360bd92902ed7ca"
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"isDraft": false,
|
|
3
|
+
"isDeprecated": false,
|
|
4
|
+
"isBeta": true,
|
|
5
|
+
"friendlyName": "Perion",
|
|
6
|
+
"description": "Perion’s technology emphasizes AI-driven optimization, cross-channel integration, and measurable performance to help brands and publishers achieve scalable results.",
|
|
7
|
+
"logo": "https://cdn.metarouter.io/perion.png",
|
|
8
|
+
"color": "#00101A",
|
|
9
|
+
"eventSource": {
|
|
10
|
+
"isAndroidApp": false,
|
|
11
|
+
"isIosApp": false,
|
|
12
|
+
"isWebApp": true
|
|
13
|
+
},
|
|
14
|
+
"inputSchema": "analytics_js",
|
|
15
|
+
"releaseNotes": [
|
|
16
|
+
{
|
|
17
|
+
"date": "2025-05-21T21:00:00.000Z",
|
|
18
|
+
"note": "Version: 0.1.0\nBeta Version\nPerion initial release"
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"ec1aa1f8a06cda6ccdcc5953ddc3bfbd"
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.1.0",
|
|
3
|
+
"params": [
|
|
4
|
+
{
|
|
5
|
+
"name": "ADVERTISER_ID",
|
|
6
|
+
"exampleValue": "my_advertiser_id"
|
|
7
|
+
}
|
|
8
|
+
],
|
|
9
|
+
"global": {
|
|
10
|
+
"enrichments": [
|
|
11
|
+
{
|
|
12
|
+
"staticInt": 65,
|
|
13
|
+
"outputKey": "partner_id"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"staticString": "$$ADVERTISER_ID$$",
|
|
17
|
+
"outputKey": "advertiser_id"
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"mappings": [
|
|
21
|
+
{
|
|
22
|
+
"inputKey": "context.providers.perion.utid",
|
|
23
|
+
"outputKey": "user.id"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"inputKey": "context.providers.perion.sessionID",
|
|
27
|
+
"outputKey": "session_id"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"inputKey": "context.page.title",
|
|
31
|
+
"outputKey": "category"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"inputKey": "context.page.path",
|
|
35
|
+
"outputKey": "sub_category"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"inputKey": "context.ip",
|
|
39
|
+
"outputKey": "user.client_ip"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"inputKey": "context.userAgent",
|
|
43
|
+
"outputKey": "user.ua"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"inputKey": "context.page.referrer",
|
|
47
|
+
"outputKey": "referral_url"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"inputKey": "input",
|
|
51
|
+
"outputKey": "referral_source",
|
|
52
|
+
"transforms": [
|
|
53
|
+
{
|
|
54
|
+
"expression": {
|
|
55
|
+
"lang": "lua",
|
|
56
|
+
"body": "function get_referral_source(url)\n if url == nil or url == \"\" then\n return \"direct\"\n end\n\n local platforms = {\n \"twitter\",\n \"facebook\",\n \"instagram\",\n \"linkedin\",\n \"tiktok\"\n }\n\n for _, name in ipairs(platforms) do\n if string.find(url:lower(), name, 1, true) then\n return name\n end\n end\n\n return\nend\nlocal referral_source = get_referral_source(input.context.page.referrer)\nif referral_source then\n return referral_source\nelse\nend"
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
]
|
|
60
|
+
}
|
|
61
|
+
]
|
|
62
|
+
},
|
|
63
|
+
"default": {
|
|
64
|
+
"filters": [
|
|
65
|
+
{
|
|
66
|
+
"byEventNames": {
|
|
67
|
+
"action": "allow",
|
|
68
|
+
"events": [
|
|
69
|
+
""
|
|
70
|
+
]
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
]
|
|
74
|
+
},
|
|
75
|
+
"eventSpecific": {
|
|
76
|
+
"order_completed": {
|
|
77
|
+
"mappings": [
|
|
78
|
+
{
|
|
79
|
+
"inputKey": "properties.currency",
|
|
80
|
+
"outputKey": "currency",
|
|
81
|
+
"transforms": [
|
|
82
|
+
{
|
|
83
|
+
"modifyString": "uppercase"
|
|
84
|
+
}
|
|
85
|
+
]
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"inputKey": "properties.order_id",
|
|
89
|
+
"outputKey": "transaction_id"
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"inputKey": "properties.total",
|
|
93
|
+
"outputKey": "transaction_total"
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"inputKey": "properties.coupon",
|
|
97
|
+
"outputKey": "coupon_code_used"
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"inputKey": "properties.shipping",
|
|
101
|
+
"outputKey": "shipping_cost"
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"inputKey": "input",
|
|
105
|
+
"outputKey": "products",
|
|
106
|
+
"transforms": [
|
|
107
|
+
{
|
|
108
|
+
"expression": {
|
|
109
|
+
"lang": "lua",
|
|
110
|
+
"body": "return MAP(input.properties.products, function(p)\n return {\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 }\nend)"
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
]
|
|
114
|
+
}
|
|
115
|
+
],
|
|
116
|
+
"expressions": [
|
|
117
|
+
{
|
|
118
|
+
"lang": "lua",
|
|
119
|
+
"body": "return { tracker_ids = { ADD_SALE_TRACKER_IDS_HERE } }"
|
|
120
|
+
}
|
|
121
|
+
]
|
|
122
|
+
},
|
|
123
|
+
"cart_viewed": {
|
|
124
|
+
"mappings": [
|
|
125
|
+
{
|
|
126
|
+
"inputKey": "properties.currency",
|
|
127
|
+
"outputKey": "currency",
|
|
128
|
+
"transforms": [
|
|
129
|
+
{
|
|
130
|
+
"modifyString": "uppercase"
|
|
131
|
+
}
|
|
132
|
+
]
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
"inputKey": "properties.cart_id",
|
|
136
|
+
"outputKey": "transaction_id"
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"inputKey": "input",
|
|
140
|
+
"outputKey": "transaction_total",
|
|
141
|
+
"transforms": [
|
|
142
|
+
{
|
|
143
|
+
"expression": {
|
|
144
|
+
"lang": "lua",
|
|
145
|
+
"body": "return TO_TRUNCATED_FLOAT(SUM(MAP(input.properties.products, function (p) return p.price * (p.quantity or 1) end)), 2)"
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
]
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
"inputKey": "properties.shipping",
|
|
152
|
+
"outputKey": "shipping_cost"
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
"inputKey": "input",
|
|
156
|
+
"outputKey": "products",
|
|
157
|
+
"transforms": [
|
|
158
|
+
{
|
|
159
|
+
"expression": {
|
|
160
|
+
"lang": "lua",
|
|
161
|
+
"body": "return MAP(input.properties.products, function(p)\n return {\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 }\nend)"
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
]
|
|
165
|
+
}
|
|
166
|
+
],
|
|
167
|
+
"expressions": [
|
|
168
|
+
{
|
|
169
|
+
"lang": "lua",
|
|
170
|
+
"body": "return { tracker_ids = { ADD_CART_TRACKER_IDS_HERE } }"
|
|
171
|
+
}
|
|
172
|
+
]
|
|
173
|
+
},
|
|
174
|
+
"product_viewed": {
|
|
175
|
+
"mappings": [
|
|
176
|
+
{
|
|
177
|
+
"inputKey": "input",
|
|
178
|
+
"outputKey": "products",
|
|
179
|
+
"transforms": [
|
|
180
|
+
{
|
|
181
|
+
"expression": {
|
|
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}"
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
]
|
|
187
|
+
}
|
|
188
|
+
],
|
|
189
|
+
"expressions": [
|
|
190
|
+
{
|
|
191
|
+
"lang": "lua",
|
|
192
|
+
"body": "return { tracker_ids = { ADD_SITE_VISIT_TRACKER_IDS_HERE } }"
|
|
193
|
+
}
|
|
194
|
+
]
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"
|
|
1
|
+
"535415e5fdfd12b74463a24690207c69"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"c4ac4a3e61c6627205813494ee2e53c3"
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"default": {
|
|
3
|
+
"endpoint": "https://insight.adsrvr.org/track/realtimeconversion",
|
|
4
|
+
"method": "POST",
|
|
5
|
+
"headers": [
|
|
6
|
+
{
|
|
7
|
+
"key": "Accept-Encoding",
|
|
8
|
+
"value": "application/json"
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"key": "Content-Type",
|
|
12
|
+
"value": "application/json"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"batchSize": 1,
|
|
16
|
+
"transform": {
|
|
17
|
+
"lang": "lua",
|
|
18
|
+
"body": "request.body = { data = batch }\nreturn request"
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"3bc9b55f90e53425fd9ea6877858768d"
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"isDraft": false,
|
|
3
|
+
"isDeprecated": false,
|
|
4
|
+
"isBeta": true,
|
|
5
|
+
"friendlyName": "The Trade Desk - Conversions",
|
|
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
|
+
"logo": "https://cdn.metarouter.io/ttd-conversions.png",
|
|
8
|
+
"color": "#00B1E1",
|
|
9
|
+
"eventSource": {
|
|
10
|
+
"isAndroidApp": true,
|
|
11
|
+
"isIosApp": true,
|
|
12
|
+
"isWebApp": true
|
|
13
|
+
},
|
|
14
|
+
"inputSchema": "analytics_js",
|
|
15
|
+
"releaseNotes": [
|
|
16
|
+
{
|
|
17
|
+
"date": "2025-06-04T21:00:00.000Z",
|
|
18
|
+
"note": "Version: 0.1.0\nBeta Version\nThe Trade Desk - Conversions initial release"
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"37dfc341f9dd88b38ea2a20235f77132"
|
|
@@ -0,0 +1,322 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.1.0",
|
|
3
|
+
"params": [
|
|
4
|
+
{
|
|
5
|
+
"name": "PIXEL_ID",
|
|
6
|
+
"exampleValue": "my-pixel-id"
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
"name": "MERCHANT_ID",
|
|
10
|
+
"exampleValue": "my-merchant-id",
|
|
11
|
+
"isOptional": true
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"name": "ADVERTISER_ID",
|
|
15
|
+
"exampleValue": "my-advertiser-id",
|
|
16
|
+
"isOptional": true
|
|
17
|
+
}
|
|
18
|
+
],
|
|
19
|
+
"global": {
|
|
20
|
+
"enrichments": [
|
|
21
|
+
{
|
|
22
|
+
"staticString": "$$MERCHANT_ID$$",
|
|
23
|
+
"outputKey": "merchant_id"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"staticString": "$$ADVERTISER_ID$$",
|
|
27
|
+
"outputKey": "adv"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"staticString": "$$PIXEL_ID$$",
|
|
31
|
+
"outputKey": "pixel_id"
|
|
32
|
+
}
|
|
33
|
+
],
|
|
34
|
+
"mappings": [
|
|
35
|
+
{
|
|
36
|
+
"inputKey": "input",
|
|
37
|
+
"outputKey": "data_processing_option",
|
|
38
|
+
"transforms": [
|
|
39
|
+
{
|
|
40
|
+
"expression": {
|
|
41
|
+
"lang": "lua",
|
|
42
|
+
"body": "return { policies = { \"\" }, region = \"\" }"
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
]
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"inputKey": "context.providers.unifiedId2.uid2_id",
|
|
49
|
+
"outputKey": "uid2"
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"inputKey": "context.providers.theTradeDesk.ttd_id",
|
|
53
|
+
"outputKey": "tdid"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"inputKey": "context.device.advertisingId",
|
|
57
|
+
"outputKey": "daid"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"inputKey": "context.ip",
|
|
61
|
+
"outputKey": "client_ip"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"inputKey": "context.page.url",
|
|
65
|
+
"outputKey": "referrer_url"
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"inputKey": "input",
|
|
69
|
+
"outputKey": "city",
|
|
70
|
+
"transforms": [
|
|
71
|
+
{
|
|
72
|
+
"expression": {
|
|
73
|
+
"lang": "lua",
|
|
74
|
+
"body": "local city = input.traits.address.city or input.context.traits.address.city\nif (city) then return city end"
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
]
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"inputKey": "input",
|
|
81
|
+
"outputKey": "region",
|
|
82
|
+
"transforms": [
|
|
83
|
+
{
|
|
84
|
+
"expression": {
|
|
85
|
+
"lang": "lua",
|
|
86
|
+
"body": "local state = input.traits.address.state or input.context.traits.address.state\nif (state) then return state end"
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
]
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"inputKey": "input",
|
|
93
|
+
"outputKey": "zip",
|
|
94
|
+
"transforms": [
|
|
95
|
+
{
|
|
96
|
+
"expression": {
|
|
97
|
+
"lang": "lua",
|
|
98
|
+
"body": "local postalCode = input.traits.address.postalCode or input.context.traits.address.postalCode\nif (postalCode) then return postalCode end"
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
]
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"inputKey": "input",
|
|
105
|
+
"outputKey": "country",
|
|
106
|
+
"transforms": [
|
|
107
|
+
{
|
|
108
|
+
"expression": {
|
|
109
|
+
"lang": "lua",
|
|
110
|
+
"body": "local country = input.traits.address.country or input.context.traits.address.country\nif (country) then return country end"
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
]
|
|
114
|
+
}
|
|
115
|
+
],
|
|
116
|
+
"expressions": [
|
|
117
|
+
{
|
|
118
|
+
"lang": "lua",
|
|
119
|
+
"body": "local result = {}\n\n-- advertisindId\nif input.context.device.type == 'android' then\n result.idfa = input.context.device.advertisingId\nelseif input.context.device.type == 'ios' then\n result.aaid = input.context.device.advertisingId\nend\n\n-- adid\nif input.context.providers.unifiedId2.uid2_id then\n result.adid = input.context.providers.unifiedId2.uid2_id\n result.adid_type = \"UID2\"\nelseif input.context.providers.theTradeDesk.ttd_id then\n result.adid = input.context.providers.theTradeDesk.ttd_id\n result.adid_type = \"TDID\"\nend\n\nreturn result"
|
|
120
|
+
}
|
|
121
|
+
]
|
|
122
|
+
},
|
|
123
|
+
"default": {
|
|
124
|
+
"filters": [
|
|
125
|
+
{
|
|
126
|
+
"byEventNames": {
|
|
127
|
+
"action": "allow",
|
|
128
|
+
"events": [
|
|
129
|
+
""
|
|
130
|
+
]
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
]
|
|
134
|
+
},
|
|
135
|
+
"eventSpecific": {
|
|
136
|
+
"screen": {
|
|
137
|
+
"enrichments": [
|
|
138
|
+
{
|
|
139
|
+
"staticString": "sitevisit",
|
|
140
|
+
"outputKey": "event_name"
|
|
141
|
+
}
|
|
142
|
+
]
|
|
143
|
+
},
|
|
144
|
+
"page": {
|
|
145
|
+
"enrichments": [
|
|
146
|
+
{
|
|
147
|
+
"staticString": "sitevisit",
|
|
148
|
+
"outputKey": "event_name"
|
|
149
|
+
}
|
|
150
|
+
]
|
|
151
|
+
},
|
|
152
|
+
"products_searched": {
|
|
153
|
+
"enrichments": [
|
|
154
|
+
{
|
|
155
|
+
"staticString": "searchcategory",
|
|
156
|
+
"outputKey": "event_name"
|
|
157
|
+
}
|
|
158
|
+
]
|
|
159
|
+
},
|
|
160
|
+
"product_viewed": {
|
|
161
|
+
"enrichments": [
|
|
162
|
+
{
|
|
163
|
+
"staticString": "viewitem",
|
|
164
|
+
"outputKey": "event_name"
|
|
165
|
+
}
|
|
166
|
+
],
|
|
167
|
+
"mappings": [
|
|
168
|
+
{
|
|
169
|
+
"inputKey": "input",
|
|
170
|
+
"outputKey": "items",
|
|
171
|
+
"transforms": [
|
|
172
|
+
{
|
|
173
|
+
"expression": {
|
|
174
|
+
"lang": "lua",
|
|
175
|
+
"body": "local p = input.properties\nreturn {\n{\n item_code = p.product_id or p.sku,\n name = p.name,\n qty = p.quantity or 1,\n price = p.price,\n cat = p.category,\n}\n}"
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
]
|
|
179
|
+
}
|
|
180
|
+
]
|
|
181
|
+
},
|
|
182
|
+
"product_added": {
|
|
183
|
+
"enrichments": [
|
|
184
|
+
{
|
|
185
|
+
"staticString": "addtocart",
|
|
186
|
+
"outputKey": "event_name"
|
|
187
|
+
}
|
|
188
|
+
],
|
|
189
|
+
"mappings": [
|
|
190
|
+
{
|
|
191
|
+
"inputKey": "input",
|
|
192
|
+
"outputKey": "items",
|
|
193
|
+
"transforms": [
|
|
194
|
+
{
|
|
195
|
+
"expression": {
|
|
196
|
+
"lang": "lua",
|
|
197
|
+
"body": "local p = input.properties\nreturn {\n{\n item_code = p.product_id or p.sku,\n name = p.name,\n qty = p.quantity or 1,\n price = p.price,\n cat = p.category,\n}\n}"
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
]
|
|
201
|
+
}
|
|
202
|
+
]
|
|
203
|
+
},
|
|
204
|
+
"cart_viewed": {
|
|
205
|
+
"enrichments": [
|
|
206
|
+
{
|
|
207
|
+
"staticString": "viewcart",
|
|
208
|
+
"outputKey": "event_name"
|
|
209
|
+
}
|
|
210
|
+
],
|
|
211
|
+
"mappings": [
|
|
212
|
+
{
|
|
213
|
+
"inputKey": "input",
|
|
214
|
+
"outputKey": "items",
|
|
215
|
+
"transforms": [
|
|
216
|
+
{
|
|
217
|
+
"expression": {
|
|
218
|
+
"lang": "lua",
|
|
219
|
+
"body": "return MAP(input.properties.products, function(p)\n return {\n item_code = p.product_id or p.sku,\n name = p.name,\n qty = p.quantity or 1,\n price = p.price,\n cat = p.category,\n }\nend)"
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
]
|
|
223
|
+
}
|
|
224
|
+
]
|
|
225
|
+
},
|
|
226
|
+
"checkout_started": {
|
|
227
|
+
"enrichments": [
|
|
228
|
+
{
|
|
229
|
+
"staticString": "startcheckout",
|
|
230
|
+
"outputKey": "event_name"
|
|
231
|
+
}
|
|
232
|
+
],
|
|
233
|
+
"mappings": [
|
|
234
|
+
{
|
|
235
|
+
"inputKey": "properties.order_id",
|
|
236
|
+
"outputKey": "order_id"
|
|
237
|
+
},
|
|
238
|
+
{
|
|
239
|
+
"inputKey": "input",
|
|
240
|
+
"outputKey": "items",
|
|
241
|
+
"transforms": [
|
|
242
|
+
{
|
|
243
|
+
"expression": {
|
|
244
|
+
"lang": "lua",
|
|
245
|
+
"body": "return MAP(input.properties.products, function(p)\n return {\n item_code = p.product_id or p.sku,\n name = p.name,\n qty = p.quantity or 1,\n price = p.price,\n cat = p.category,\n }\nend)"
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
]
|
|
249
|
+
}
|
|
250
|
+
]
|
|
251
|
+
},
|
|
252
|
+
"order_completed": {
|
|
253
|
+
"enrichments": [
|
|
254
|
+
{
|
|
255
|
+
"staticString": "purchase",
|
|
256
|
+
"outputKey": "event_name"
|
|
257
|
+
}
|
|
258
|
+
],
|
|
259
|
+
"mappings": [
|
|
260
|
+
{
|
|
261
|
+
"inputKey": "properties.order_id",
|
|
262
|
+
"outputKey": "order_id"
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
"inputKey": "properties.currency",
|
|
266
|
+
"outputKey": "currency",
|
|
267
|
+
"transforms": [
|
|
268
|
+
{
|
|
269
|
+
"modifyString": "uppercase"
|
|
270
|
+
}
|
|
271
|
+
]
|
|
272
|
+
},
|
|
273
|
+
{
|
|
274
|
+
"inputKey": "input",
|
|
275
|
+
"outputKey": "value",
|
|
276
|
+
"transforms": [
|
|
277
|
+
{
|
|
278
|
+
"expression": {
|
|
279
|
+
"lang": "lua",
|
|
280
|
+
"body": "local value = input.properties.revenue or input.properties.total\nreturn TO_TRUNCATED_FLOAT(value, 2)"
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
]
|
|
284
|
+
},
|
|
285
|
+
{
|
|
286
|
+
"inputKey": "input",
|
|
287
|
+
"outputKey": "items",
|
|
288
|
+
"transforms": [
|
|
289
|
+
{
|
|
290
|
+
"expression": {
|
|
291
|
+
"lang": "lua",
|
|
292
|
+
"body": "return MAP(input.properties.products, function(p)\n return {\n item_code = p.product_id or p.sku,\n name = p.name,\n qty = p.quantity or 1,\n price = p.price,\n cat = p.category,\n }\nend)"
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
]
|
|
296
|
+
}
|
|
297
|
+
]
|
|
298
|
+
},
|
|
299
|
+
"product_added_to_wishlist": {
|
|
300
|
+
"enrichments": [
|
|
301
|
+
{
|
|
302
|
+
"staticString": "wishlistitem",
|
|
303
|
+
"outputKey": "event_name"
|
|
304
|
+
}
|
|
305
|
+
],
|
|
306
|
+
"mappings": [
|
|
307
|
+
{
|
|
308
|
+
"inputKey": "input",
|
|
309
|
+
"outputKey": "items",
|
|
310
|
+
"transforms": [
|
|
311
|
+
{
|
|
312
|
+
"expression": {
|
|
313
|
+
"lang": "lua",
|
|
314
|
+
"body": "local p = input.properties\nreturn {\n{\n item_code = p.product_id or p.sku,\n name = p.name,\n qty = p.quantity or 1,\n price = p.price,\n cat = p.category,\n}\n}"
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
]
|
|
318
|
+
}
|
|
319
|
+
]
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
}
|
package/README.md
CHANGED
|
@@ -5,7 +5,13 @@ 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-06
|
|
9
|
+
- The Trade Desk - Conversions (BETA)
|
|
10
|
+
|
|
8
11
|
## 2025-05
|
|
12
|
+
- Amazon DSP CAPI (BETA)
|
|
13
|
+
- Amazon Kinesis (BETA)
|
|
14
|
+
- Perion (BETA)
|
|
9
15
|
- TheTradeDesk Conversion Events
|
|
10
16
|
|
|
11
17
|
## 2025-04
|
|
@@ -116,6 +122,10 @@ previously.
|
|
|
116
122
|
|
|
117
123
|
| Kit Name | Date | Latest Note |
|
|
118
124
|
|----------|------|-------------|
|
|
125
|
+
| The Trade Desk - Conversions (BETA) | 2025-06 | Version: 0.1.0 Beta Version The Trade Desk - Conversions initial release |
|
|
126
|
+
| Amazon DSP CAPI (BETA) | 2025-05 | Version: 0.1.0 Beta Version Amazon DSP CAPI initial release. |
|
|
127
|
+
| 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 |
|
|
119
129
|
| TheTradeDesk Conversion Events | 2025-05 | Version: 1.2.0 Deprecated |
|
|
120
130
|
| Amazon Data Firehose | 2025-04 | Version: 1.0.0 Stable release |
|
|
121
131
|
| Meta CAPI | 2025-04 | Version: 1.5.0 Friendly name updated |
|
package/index.js
CHANGED
|
@@ -8,6 +8,12 @@ exports['amazon-data-firehose'] = {
|
|
|
8
8
|
metadata: require('./.dist/amazon-data-firehose/metadata.json')
|
|
9
9
|
}
|
|
10
10
|
|
|
11
|
+
exports['amazon-kinesis'] = {
|
|
12
|
+
connectionTemplate: connectionSchemas.properties.amazonKinesis,
|
|
13
|
+
playbook: require('./.dist/amazon-kinesis/playbook.json'),
|
|
14
|
+
metadata: require('./.dist/amazon-kinesis/metadata.json')
|
|
15
|
+
}
|
|
16
|
+
|
|
11
17
|
exports.blob = {
|
|
12
18
|
connectionTemplate: connectionSchemas.properties.blob,
|
|
13
19
|
playbook: require('./.dist/blob/playbook.json'),
|
|
@@ -100,6 +106,12 @@ exports.adroll = {
|
|
|
100
106
|
metadata: require('./.dist/adroll/metadata.json')
|
|
101
107
|
}
|
|
102
108
|
|
|
109
|
+
exports['amazon-dsp-capi'] = {
|
|
110
|
+
endpointSchema: require('./.dist/amazon-dsp-capi/connection.json'),
|
|
111
|
+
playbook: require('./.dist/amazon-dsp-capi/playbook.json'),
|
|
112
|
+
metadata: require('./.dist/amazon-dsp-capi/metadata.json')
|
|
113
|
+
}
|
|
114
|
+
|
|
103
115
|
exports.amnet = {
|
|
104
116
|
endpointSchema: require('./.dist/amnet/connection.json'),
|
|
105
117
|
playbook: require('./.dist/amnet/playbook.json'),
|
|
@@ -351,6 +363,12 @@ exports['nextdoor-capi'] = {
|
|
|
351
363
|
metadata: require('./.dist/nextdoor-capi/metadata.json')
|
|
352
364
|
}
|
|
353
365
|
|
|
366
|
+
exports['perion'] = {
|
|
367
|
+
endpointSchema: require('./.dist/perion/connection.json'),
|
|
368
|
+
playbook: require('./.dist/perion/playbook.json'),
|
|
369
|
+
metadata: require('./.dist/perion/metadata.json')
|
|
370
|
+
}
|
|
371
|
+
|
|
354
372
|
exports.pinterest = {
|
|
355
373
|
endpointSchema: require('./.dist/pinterest/connection.json'),
|
|
356
374
|
playbook: require('./.dist/pinterest/playbook.json'),
|
|
@@ -453,6 +471,12 @@ exports['treasure-data'] = {
|
|
|
453
471
|
metadata: require('./.dist/treasure-data/metadata.json')
|
|
454
472
|
}
|
|
455
473
|
|
|
474
|
+
exports['ttd-conversions'] = {
|
|
475
|
+
endpointSchema: require('./.dist/ttd-conversions/connection.json'),
|
|
476
|
+
playbook: require('./.dist/ttd-conversions/playbook.json'),
|
|
477
|
+
metadata: require('./.dist/ttd-conversions/metadata.json')
|
|
478
|
+
}
|
|
479
|
+
|
|
456
480
|
exports['twitter-conversions'] = {
|
|
457
481
|
endpointSchema: require('./.dist/twitter-conversions/connection.json'),
|
|
458
482
|
playbook: require('./.dist/twitter-conversions/playbook.json'),
|
|
@@ -507,6 +531,10 @@ exports.etags = {
|
|
|
507
531
|
playbook: require('./.dist/amazon-data-firehose/playbook.etag.json'),
|
|
508
532
|
kit: require('./.dist/amazon-data-firehose/kit.etag.json')
|
|
509
533
|
},
|
|
534
|
+
'amazon-kinesis': {
|
|
535
|
+
playbook: require('./.dist/amazon-kinesis/playbook.etag.json'),
|
|
536
|
+
kit: require('./.dist/amazon-kinesis/kit.etag.json')
|
|
537
|
+
},
|
|
510
538
|
blob: {
|
|
511
539
|
playbook: require('./.dist/blob/playbook.etag.json'),
|
|
512
540
|
kit: require('./.dist/blob/kit.etag.json')
|
|
@@ -574,6 +602,11 @@ exports.etags = {
|
|
|
574
602
|
playbook: require('./.dist/adroll/playbook.etag.json'),
|
|
575
603
|
kit: require('./.dist/adroll/kit.etag.json')
|
|
576
604
|
},
|
|
605
|
+
'amazon-dsp-capi': {
|
|
606
|
+
endpointSchema: require('./.dist/amazon-dsp-capi/connection.etag.json'),
|
|
607
|
+
playbook: require('./.dist/amazon-dsp-capi/playbook.etag.json'),
|
|
608
|
+
kit: require('./.dist/amazon-dsp-capi/kit.etag.json')
|
|
609
|
+
},
|
|
577
610
|
amnet: {
|
|
578
611
|
endpointSchema: require('./.dist/amnet/connection.etag.json'),
|
|
579
612
|
playbook: require('./.dist/amnet/playbook.etag.json'),
|
|
@@ -783,6 +816,11 @@ exports.etags = {
|
|
|
783
816
|
playbook: require('./.dist/nextdoor-capi/playbook.etag.json'),
|
|
784
817
|
kit: require('./.dist/nextdoor-capi/kit.etag.json')
|
|
785
818
|
},
|
|
819
|
+
'perion': {
|
|
820
|
+
endpointSchema: require('./.dist/perion/connection.etag.json'),
|
|
821
|
+
playbook: require('./.dist/perion/playbook.etag.json'),
|
|
822
|
+
kit: require('./.dist/perion/kit.etag.json')
|
|
823
|
+
},
|
|
786
824
|
pinterest: {
|
|
787
825
|
endpointSchema: require('./.dist/pinterest/connection.etag.json'),
|
|
788
826
|
playbook: require('./.dist/pinterest/playbook.etag.json'),
|
|
@@ -868,6 +906,11 @@ exports.etags = {
|
|
|
868
906
|
playbook: require('./.dist/treasure-data/playbook.etag.json'),
|
|
869
907
|
kit: require('./.dist/treasure-data/kit.etag.json')
|
|
870
908
|
},
|
|
909
|
+
'ttd-conversions': {
|
|
910
|
+
endpointSchema: require('./.dist/ttd-conversions/connection.etag.json'),
|
|
911
|
+
playbook: require('./.dist/ttd-conversions/playbook.etag.json'),
|
|
912
|
+
kit: require('./.dist/ttd-conversions/kit.etag.json')
|
|
913
|
+
},
|
|
871
914
|
'twitter-conversions': {
|
|
872
915
|
endpointSchema: require('./.dist/twitter-conversions/connection.etag.json'),
|
|
873
916
|
playbook: require('./.dist/twitter-conversions/playbook.etag.json'),
|