@metarouter/ajs-starter-kit 1.0.122 → 1.0.124
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/amplitude/connection.etag.json +1 -1
- package/.dist/amplitude/connection.json +7 -2
- package/.dist/amplitude/kit.etag.json +1 -1
- package/.dist/amplitude/metadata.json +4 -0
- package/.dist/amplitude/playbook.etag.json +1 -1
- package/.dist/amplitude/playbook.json +1 -1
- package/.dist/button/kit.etag.json +1 -1
- package/.dist/button/metadata.json +9 -1
- package/.dist/button/playbook.etag.json +1 -1
- package/.dist/button/playbook.json +2 -2
- package/.dist/linkedin-ads/connection.etag.json +1 -0
- package/.dist/linkedin-ads/connection.json +53 -0
- package/.dist/linkedin-ads/kit.etag.json +1 -0
- package/.dist/linkedin-ads/metadata.json +20 -0
- package/.dist/linkedin-ads/playbook.etag.json +1 -0
- package/.dist/linkedin-ads/playbook.json +267 -0
- package/.dist/podscribe/connection.etag.json +1 -0
- package/.dist/podscribe/connection.json +6 -0
- package/.dist/podscribe/kit.etag.json +1 -0
- package/.dist/podscribe/metadata.json +21 -0
- package/.dist/podscribe/playbook.etag.json +1 -0
- package/.dist/podscribe/playbook.json +155 -0
- package/.dist/ringier-axel-springer-poland/connection.etag.json +1 -0
- package/.dist/ringier-axel-springer-poland/connection.json +31 -0
- package/.dist/ringier-axel-springer-poland/kit.etag.json +1 -0
- package/.dist/ringier-axel-springer-poland/metadata.json +21 -0
- package/.dist/ringier-axel-springer-poland/playbook.etag.json +1 -0
- package/.dist/ringier-axel-springer-poland/playbook.json +369 -0
- package/.dist/tiktok/kit.etag.json +1 -1
- package/.dist/tiktok/metadata.json +4 -0
- package/.dist/tiktok/playbook.etag.json +1 -1
- package/.dist/tiktok/playbook.json +2 -2
- package/README.md +12 -6
- package/index.js +22 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"
|
|
1
|
+
"bacfc071fc8b0340f1ea002106f7aeba"
|
|
@@ -3,10 +3,15 @@
|
|
|
3
3
|
{
|
|
4
4
|
"name": "API_KEY",
|
|
5
5
|
"exampleValue": "my-api-key"
|
|
6
|
+
},
|
|
7
|
+
{
|
|
8
|
+
"name": "API_URL",
|
|
9
|
+
"exampleValue": "my-api-url",
|
|
10
|
+
"defaultValue": "https://api2.amplitude.com"
|
|
6
11
|
}
|
|
7
12
|
],
|
|
8
13
|
"default": {
|
|
9
|
-
"endpoint": "
|
|
14
|
+
"endpoint": "$$API_URL$$/batch",
|
|
10
15
|
"batchSize": 10,
|
|
11
16
|
"transform": {
|
|
12
17
|
"lang": "lua",
|
|
@@ -30,7 +35,7 @@
|
|
|
30
35
|
},
|
|
31
36
|
"eventSpecific": {
|
|
32
37
|
"identify": {
|
|
33
|
-
"endpoint": "
|
|
38
|
+
"endpoint": "$$API_URL$$/identify",
|
|
34
39
|
"method": "GET"
|
|
35
40
|
}
|
|
36
41
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"
|
|
1
|
+
"9c4ef4fef98bd2c5767e6a257f1e42ca"
|
|
@@ -52,6 +52,10 @@
|
|
|
52
52
|
{
|
|
53
53
|
"date": "2024-10-23T00:00:00.000Z",
|
|
54
54
|
"note": "Version: 1.1.0\nAdded header `Accept-Encoding: application/json`"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"date": "2025-03-12T00:00:00.000Z",
|
|
58
|
+
"note": "Version: 1.2.0\nAdded API_URL param to accommodate Amplitude's EU residency server"
|
|
55
59
|
}
|
|
56
60
|
]
|
|
57
61
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"
|
|
1
|
+
"c124144473be88c006d8529790bebac6"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"
|
|
1
|
+
"5363d91988101708e8208a5ee65ea94e"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"isDraft": false,
|
|
3
3
|
"isDeprecated": false,
|
|
4
|
-
"isBeta":
|
|
4
|
+
"isBeta": false,
|
|
5
5
|
"friendlyName": "Button",
|
|
6
6
|
"description": "Button is a commerce optimization platform that enhances affiliate, creator, and social traffic through AI-driven solutions.",
|
|
7
7
|
"logo": "https://cdn.metarouter.io/button.png",
|
|
@@ -16,6 +16,14 @@
|
|
|
16
16
|
{
|
|
17
17
|
"date": "2025-02-19T22:00:00.000Z",
|
|
18
18
|
"note": "Version: 0.1.0\nBeta Version\nButton initial release"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"date": "2025-03-12T22:00:00.000Z",
|
|
22
|
+
"note": "Version: 0.1.1\nFix stanza spelling"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"date": "2025-03-12T22:00:00.000Z",
|
|
26
|
+
"note": "Version: 1.0.0\nStable release"
|
|
19
27
|
}
|
|
20
28
|
]
|
|
21
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"
|
|
1
|
+
"a26132d23cc3868990f71e20aaeadd82"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"1d8e804adaf69151538805df03c57a5a"
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"params": [
|
|
3
|
+
{
|
|
4
|
+
"name": "ACCESS_TOKEN",
|
|
5
|
+
"exampleValue": "my-access-token"
|
|
6
|
+
},
|
|
7
|
+
{
|
|
8
|
+
"name": "PROTOCOL_VERSION",
|
|
9
|
+
"exampleValue": "my-protocol-version",
|
|
10
|
+
"defaultValue": "2.0.0"
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"name": "LINKEDIN_VERSION",
|
|
14
|
+
"exampleValue": "my-linkedin-version",
|
|
15
|
+
"defaultValue": "202408"
|
|
16
|
+
}
|
|
17
|
+
],
|
|
18
|
+
"default": {
|
|
19
|
+
"endpoint": "https://api.linkedin.com/rest/conversionEvents",
|
|
20
|
+
"batchSize": 500,
|
|
21
|
+
"transform": {
|
|
22
|
+
"lang": "lua",
|
|
23
|
+
"body": "request.body = { elements = batch }\nreturn request"
|
|
24
|
+
},
|
|
25
|
+
"method": "POST",
|
|
26
|
+
"headers": [
|
|
27
|
+
{
|
|
28
|
+
"key": "Content-Type",
|
|
29
|
+
"value": "application/json"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"key": "Accept",
|
|
33
|
+
"value": "*/*"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"key": "Authorization",
|
|
37
|
+
"value": "Bearer $$ACCESS_TOKEN$$"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"key": "X-Restli-Protocol-Version",
|
|
41
|
+
"value": "$$PROTOCOL_VERSION$$"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"key": "LinkedIn-Version",
|
|
45
|
+
"value": "$$LINKEDIN_VERSION$$"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"key": "X-RestLi-Method",
|
|
49
|
+
"value": "BATCH_CREATE"
|
|
50
|
+
}
|
|
51
|
+
]
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"abdfaee3178df4d875e07e3540742330"
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"isDraft": true,
|
|
3
|
+
"isBeta": false,
|
|
4
|
+
"friendlyName": "Linkedin Ads",
|
|
5
|
+
"description": "LinkedIn Ads is a powerful advertising platform designed for professional networking and B2B marketing.",
|
|
6
|
+
"logo": "https://cdn.metarouter.io/linkedin-ads.png",
|
|
7
|
+
"color": "#0077B5",
|
|
8
|
+
"eventSource": {
|
|
9
|
+
"isAndroidApp": true,
|
|
10
|
+
"isIosApp": true,
|
|
11
|
+
"isWebApp": true
|
|
12
|
+
},
|
|
13
|
+
"inputSchema": "analytics_js",
|
|
14
|
+
"releaseNotes": [
|
|
15
|
+
{
|
|
16
|
+
"date": "2025-02-26T21:00:00.000Z",
|
|
17
|
+
"note": "Version: 0.1.0\nDraft Mode\nLinkedIn Ads draft release"
|
|
18
|
+
}
|
|
19
|
+
]
|
|
20
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"feea203eea05f2b2b1576f5d440febf4"
|
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.1.0",
|
|
3
|
+
"default": {
|
|
4
|
+
"filters": [
|
|
5
|
+
{
|
|
6
|
+
"byEventNames": {
|
|
7
|
+
"action": "allow",
|
|
8
|
+
"events": [
|
|
9
|
+
""
|
|
10
|
+
]
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
]
|
|
14
|
+
},
|
|
15
|
+
"global": {
|
|
16
|
+
"mappings": [
|
|
17
|
+
{
|
|
18
|
+
"inputKey": "input",
|
|
19
|
+
"outputKey": "conversionHappenedAt",
|
|
20
|
+
"transforms": [
|
|
21
|
+
{
|
|
22
|
+
"expression": {
|
|
23
|
+
"body": "return MILLISECONDS_SINCE_EPOCH_FROM_RFC3999(TO_DATE_TIME(input.timestamp, { inputFormat = \"2006-01-02T15:04:05Z07:00\" }))",
|
|
24
|
+
"lang": "lua"
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
]
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"inputKey": "traits.firstName",
|
|
31
|
+
"outputKey": "user.userInfo.firstName"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"inputKey": "traits.lastName",
|
|
35
|
+
"outputKey": "user.userInfo.lastName"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"inputKey": "traits.company",
|
|
39
|
+
"outputKey": "user.userInfo.companyName"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"inputKey": "traits.title",
|
|
43
|
+
"outputKey": "user.userInfo.title"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"inputKey": "traits.countryCode",
|
|
47
|
+
"outputKey": "user.userInfo.countryCode"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"inputKey": "input",
|
|
51
|
+
"outputKey": "user.userIds",
|
|
52
|
+
"transforms": [
|
|
53
|
+
{
|
|
54
|
+
"expression": {
|
|
55
|
+
"lang": "lua",
|
|
56
|
+
"body": "local function is_empty(str)\n return not str or str == ''\nend\n\nlocal user_ids = {}\n\nlocal email = input.traits.email or input.context.traits.email\nif email then\n table.insert(user_ids, {\n idType = 'SHA256_EMAIL',\n idValue = TO_SHA256_HASH(LOWER(TRIM(email)))\n })\nend\n\nlocal li_fat_id = input.context.providers.linkedIn.li_fat_id\nif li_fat_id then\n table.insert(user_ids, {\n idType = 'LINKEDIN_FIRST_PARTY_ADS_TRACKING_UUID',\n idValue = li_fat_id\n })\nend\nreturn user_ids"
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
]
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"inputKey": "messageId",
|
|
63
|
+
"outputKey": "eventId"
|
|
64
|
+
}
|
|
65
|
+
]
|
|
66
|
+
},
|
|
67
|
+
"eventSpecific": {
|
|
68
|
+
"identify": {
|
|
69
|
+
"enrichments": [
|
|
70
|
+
{
|
|
71
|
+
"staticString": "ADD_CONVERSION_URN_HERE",
|
|
72
|
+
"outputKey": "conversion"
|
|
73
|
+
}
|
|
74
|
+
],
|
|
75
|
+
"mappings": [
|
|
76
|
+
{
|
|
77
|
+
"inputKey": "input",
|
|
78
|
+
"outputKey": "conversionValue",
|
|
79
|
+
"transforms": [
|
|
80
|
+
{
|
|
81
|
+
"expression": {
|
|
82
|
+
"lang": "lua",
|
|
83
|
+
"body": "local currency = input.properties.currency local revenue = input.properties.revenue\nif currency and revenue then return {\n currencyCode = UPPER(currency),\n amount = TO_STRING(TO_FLOAT(revenue))\n }\nend"
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
]
|
|
87
|
+
}
|
|
88
|
+
]
|
|
89
|
+
},
|
|
90
|
+
"page": {
|
|
91
|
+
"enrichments": [
|
|
92
|
+
{
|
|
93
|
+
"staticString": "ADD_CONVERSION_URN_HERE",
|
|
94
|
+
"outputKey": "conversion"
|
|
95
|
+
}
|
|
96
|
+
],
|
|
97
|
+
"mappings": [
|
|
98
|
+
{
|
|
99
|
+
"inputKey": "input",
|
|
100
|
+
"outputKey": "conversionValue",
|
|
101
|
+
"transforms": [
|
|
102
|
+
{
|
|
103
|
+
"expression": {
|
|
104
|
+
"lang": "lua",
|
|
105
|
+
"body": "local currency = input.properties.currency local revenue = input.properties.revenue\nif currency and revenue then return {\n currencyCode = UPPER(currency),\n amount = TO_STRING(TO_FLOAT(revenue))\n }\nend"
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
]
|
|
109
|
+
}
|
|
110
|
+
]
|
|
111
|
+
},
|
|
112
|
+
"checkout_started": {
|
|
113
|
+
"enrichments": [
|
|
114
|
+
{
|
|
115
|
+
"staticString": "ADD_CONVERSION_URN_HERE",
|
|
116
|
+
"outputKey": "conversion"
|
|
117
|
+
}
|
|
118
|
+
],
|
|
119
|
+
"mappings": [
|
|
120
|
+
{
|
|
121
|
+
"inputKey": "input",
|
|
122
|
+
"outputKey": "conversionValue",
|
|
123
|
+
"transforms": [
|
|
124
|
+
{
|
|
125
|
+
"expression": {
|
|
126
|
+
"lang": "lua",
|
|
127
|
+
"body": "local currency = input.properties.currency local revenue = input.properties.revenue\nif currency and revenue then return {\n currencyCode = UPPER(currency),\n amount = TO_STRING(TO_FLOAT(revenue))\n }\nend"
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
]
|
|
131
|
+
}
|
|
132
|
+
]
|
|
133
|
+
},
|
|
134
|
+
"order_completed": {
|
|
135
|
+
"enrichments": [
|
|
136
|
+
{
|
|
137
|
+
"staticString": "ADD_CONVERSION_URN_HERE",
|
|
138
|
+
"outputKey": "conversion"
|
|
139
|
+
}
|
|
140
|
+
],
|
|
141
|
+
"mappings": [
|
|
142
|
+
{
|
|
143
|
+
"inputKey": "input",
|
|
144
|
+
"outputKey": "conversionValue",
|
|
145
|
+
"transforms": [
|
|
146
|
+
{
|
|
147
|
+
"expression": {
|
|
148
|
+
"lang": "lua",
|
|
149
|
+
"body": "local currency = input.properties.currency local revenue = input.properties.revenue\nif currency and revenue then return {\n currencyCode = UPPER(currency),\n amount = TO_STRING(TO_FLOAT(revenue))\n }\nend"
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
]
|
|
153
|
+
}
|
|
154
|
+
]
|
|
155
|
+
},
|
|
156
|
+
"payment_info_entered": {
|
|
157
|
+
"enrichments": [
|
|
158
|
+
{
|
|
159
|
+
"staticString": "ADD_CONVERSION_URN_HERE",
|
|
160
|
+
"outputKey": "conversion"
|
|
161
|
+
}
|
|
162
|
+
],
|
|
163
|
+
"mappings": [
|
|
164
|
+
{
|
|
165
|
+
"inputKey": "input",
|
|
166
|
+
"outputKey": "conversionValue",
|
|
167
|
+
"transforms": [
|
|
168
|
+
{
|
|
169
|
+
"expression": {
|
|
170
|
+
"lang": "lua",
|
|
171
|
+
"body": "local currency = input.properties.currency local revenue = input.properties.revenue\nif currency and revenue then return {\n currencyCode = UPPER(currency),\n amount = TO_STRING(TO_FLOAT(revenue))\n }\nend"
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
]
|
|
175
|
+
}
|
|
176
|
+
]
|
|
177
|
+
},
|
|
178
|
+
"product_added": {
|
|
179
|
+
"enrichments": [
|
|
180
|
+
{
|
|
181
|
+
"staticString": "ADD_CONVERSION_URN_HERE",
|
|
182
|
+
"outputKey": "conversion"
|
|
183
|
+
}
|
|
184
|
+
],
|
|
185
|
+
"mappings": [
|
|
186
|
+
{
|
|
187
|
+
"inputKey": "input",
|
|
188
|
+
"outputKey": "conversionValue",
|
|
189
|
+
"transforms": [
|
|
190
|
+
{
|
|
191
|
+
"expression": {
|
|
192
|
+
"lang": "lua",
|
|
193
|
+
"body": "local currency = input.properties.currency local revenue = input.properties.revenue\nif currency and revenue then return {\n currencyCode = UPPER(currency),\n amount = TO_STRING(TO_FLOAT(revenue))\n }\nend"
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
]
|
|
197
|
+
}
|
|
198
|
+
]
|
|
199
|
+
},
|
|
200
|
+
"product_viewed": {
|
|
201
|
+
"enrichments": [
|
|
202
|
+
{
|
|
203
|
+
"staticString": "ADD_CONVERSION_URN_HERE",
|
|
204
|
+
"outputKey": "conversion"
|
|
205
|
+
}
|
|
206
|
+
],
|
|
207
|
+
"mappings": [
|
|
208
|
+
{
|
|
209
|
+
"inputKey": "input",
|
|
210
|
+
"outputKey": "conversionValue",
|
|
211
|
+
"transforms": [
|
|
212
|
+
{
|
|
213
|
+
"expression": {
|
|
214
|
+
"lang": "lua",
|
|
215
|
+
"body": "local currency = input.properties.currency local revenue = input.properties.revenue\nif currency and revenue then return {\n currencyCode = UPPER(currency),\n amount = TO_STRING(TO_FLOAT(revenue))\n }\nend"
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
]
|
|
219
|
+
}
|
|
220
|
+
]
|
|
221
|
+
},
|
|
222
|
+
"products_searched": {
|
|
223
|
+
"enrichments": [
|
|
224
|
+
{
|
|
225
|
+
"staticString": "ADD_CONVERSION_URN_HERE",
|
|
226
|
+
"outputKey": "conversion"
|
|
227
|
+
}
|
|
228
|
+
],
|
|
229
|
+
"mappings": [
|
|
230
|
+
{
|
|
231
|
+
"inputKey": "input",
|
|
232
|
+
"outputKey": "conversionValue",
|
|
233
|
+
"transforms": [
|
|
234
|
+
{
|
|
235
|
+
"expression": {
|
|
236
|
+
"lang": "lua",
|
|
237
|
+
"body": "local currency = input.properties.currency local revenue = input.properties.revenue\nif currency and revenue then return {\n currencyCode = UPPER(currency),\n amount = TO_STRING(TO_FLOAT(revenue))\n }\nend"
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
]
|
|
241
|
+
}
|
|
242
|
+
]
|
|
243
|
+
},
|
|
244
|
+
"promotion_clicked": {
|
|
245
|
+
"enrichments": [
|
|
246
|
+
{
|
|
247
|
+
"staticString": "ADD_CONVERSION_URN_HERE",
|
|
248
|
+
"outputKey": "conversion"
|
|
249
|
+
}
|
|
250
|
+
],
|
|
251
|
+
"mappings": [
|
|
252
|
+
{
|
|
253
|
+
"inputKey": "input",
|
|
254
|
+
"outputKey": "conversionValue",
|
|
255
|
+
"transforms": [
|
|
256
|
+
{
|
|
257
|
+
"expression": {
|
|
258
|
+
"lang": "lua",
|
|
259
|
+
"body": "local currency = input.properties.currency local revenue = input.properties.revenue\nif currency and revenue then return {\n currencyCode = UPPER(currency),\n amount = TO_STRING(TO_FLOAT(revenue))\n }\nend"
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
]
|
|
263
|
+
}
|
|
264
|
+
]
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"844d255b7d234f50fad501d603c4ae87"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"452a0143cf13dcf5e5b4055a84545688"
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"isDraft": false,
|
|
3
|
+
"isDeprecated": false,
|
|
4
|
+
"isBeta": true,
|
|
5
|
+
"friendlyName": "Podscribe",
|
|
6
|
+
"description": "Podscribe is a podcast attribution and analytics platform that helps advertisers, agencies, and publishers measure the effectiveness of podcast advertising.",
|
|
7
|
+
"logo": "https://cdn.metarouter.io/podscribe.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-03-12T22:00:00.000Z",
|
|
18
|
+
"note": "Version: 0.1.0\nBeta Version\nPodscribe initial release"
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"5eba1d298e1c3c277d6fd56fc61ec87e"
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.1.0",
|
|
3
|
+
"params": [
|
|
4
|
+
{
|
|
5
|
+
"name": "ADVERTISER_ID",
|
|
6
|
+
"exampleValue": "my-advertiser-id"
|
|
7
|
+
}
|
|
8
|
+
],
|
|
9
|
+
"default": {
|
|
10
|
+
"mappings": [
|
|
11
|
+
{
|
|
12
|
+
"inputKey": "input",
|
|
13
|
+
"outputKey": "action",
|
|
14
|
+
"transforms": [
|
|
15
|
+
{
|
|
16
|
+
"expression": {
|
|
17
|
+
"lang": "lua",
|
|
18
|
+
"body": "if input.type == 'track' then return input.event\nelse return input.type\nend"
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
]
|
|
22
|
+
}
|
|
23
|
+
]
|
|
24
|
+
},
|
|
25
|
+
"global": {
|
|
26
|
+
"enrichments": [
|
|
27
|
+
{
|
|
28
|
+
"staticString": "$$ADVERTISER_ID$$",
|
|
29
|
+
"outputKey": "advertiser"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"staticString": "server",
|
|
33
|
+
"outputKey": "source"
|
|
34
|
+
}
|
|
35
|
+
],
|
|
36
|
+
"mappings": [
|
|
37
|
+
{
|
|
38
|
+
"inputKey": "context.userAgent",
|
|
39
|
+
"outputKey": "user_agent"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"inputKey": "context.ip",
|
|
43
|
+
"outputKey": "ip"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"inputKey": "input",
|
|
47
|
+
"outputKey": "timestamp",
|
|
48
|
+
"transforms": [
|
|
49
|
+
{
|
|
50
|
+
"expression": {
|
|
51
|
+
"lang": "lua",
|
|
52
|
+
"body": "return input.originalTimestamp or input.sentAt"
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
]
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"inputKey": "anonymousId",
|
|
59
|
+
"outputKey": "device_id"
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"inputKey": "input",
|
|
63
|
+
"outputKey": "event_url",
|
|
64
|
+
"transforms": [
|
|
65
|
+
{
|
|
66
|
+
"expression": {
|
|
67
|
+
"lang": "lua",
|
|
68
|
+
"body": "return SPLIT(input.context.page.url, \"?\", 1)[1] or \"\""
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
]
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"inputKey": "input",
|
|
75
|
+
"outputKey": "referrer_url",
|
|
76
|
+
"transforms": [
|
|
77
|
+
{
|
|
78
|
+
"expression": {
|
|
79
|
+
"lang": "lua",
|
|
80
|
+
"body": "return SPLIT(input.context.page.referrer, \"?\", 1)[1] or \"\""
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
]
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"inputKey": "input",
|
|
87
|
+
"outputKey": "hashed_email",
|
|
88
|
+
"transforms": [
|
|
89
|
+
{
|
|
90
|
+
"expression": {
|
|
91
|
+
"body": "local email = input.traits.email or input.context.traits.email\nif email then return TO_SHA256_HASH(LOWER(TRIM(email))) end\nreturn",
|
|
92
|
+
"lang": "lua"
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
]
|
|
96
|
+
}
|
|
97
|
+
],
|
|
98
|
+
"expressions": [
|
|
99
|
+
{
|
|
100
|
+
"body": "local output = {}\nif input.context.device.id then\n if input.context.device and input.context.device.type then\n if LOWER(input.context.device.type) == 'ios' then output['idfa'] = input.context.device.id\n elseif LOWER(input.context.device.type) == 'android' then output['gaid'] = input.context.device.id\n end\n end\nend\n\nreturn output",
|
|
101
|
+
"lang": "lua"
|
|
102
|
+
}
|
|
103
|
+
]
|
|
104
|
+
},
|
|
105
|
+
"eventSpecific": {
|
|
106
|
+
"page": {
|
|
107
|
+
"enrichments": [
|
|
108
|
+
{
|
|
109
|
+
"staticString": "view",
|
|
110
|
+
"outputKey": "action"
|
|
111
|
+
}
|
|
112
|
+
]
|
|
113
|
+
},
|
|
114
|
+
"order_completed": {
|
|
115
|
+
"enrichments": [
|
|
116
|
+
{
|
|
117
|
+
"staticString": "purchase",
|
|
118
|
+
"outputKey": "action"
|
|
119
|
+
}
|
|
120
|
+
],
|
|
121
|
+
"mappings": [
|
|
122
|
+
{
|
|
123
|
+
"inputKey": "properties.order_id",
|
|
124
|
+
"outputKey": "order_number"
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"inputKey": "properties.currency",
|
|
128
|
+
"outputKey": "currency",
|
|
129
|
+
"transforms": [
|
|
130
|
+
{
|
|
131
|
+
"modifyString": "uppercase"
|
|
132
|
+
}
|
|
133
|
+
],
|
|
134
|
+
"defaultString": "USD"
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"inputKey": "input",
|
|
138
|
+
"outputKey": "value",
|
|
139
|
+
"transforms": [
|
|
140
|
+
{
|
|
141
|
+
"expression": {
|
|
142
|
+
"lang": "lua",
|
|
143
|
+
"body": "return SUM(MAP(input.properties.products, function (p) return p.price * (p.quantity or 1) end))"
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
]
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"inputKey": "properties.coupon",
|
|
150
|
+
"outputKey": "discount_code"
|
|
151
|
+
}
|
|
152
|
+
]
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"f7ba21c9d32bd7c5a9219a45191a1523"
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"params": [
|
|
3
|
+
{
|
|
4
|
+
"name": "NETWORK",
|
|
5
|
+
"exampleValue": "my-network"
|
|
6
|
+
}
|
|
7
|
+
],
|
|
8
|
+
"default": {
|
|
9
|
+
"endpoint": "https://csr.onet.pl/$$NETWORK$$/activity",
|
|
10
|
+
"headers": [
|
|
11
|
+
{
|
|
12
|
+
"key": "Accept-Encoding",
|
|
13
|
+
"value": "application/json"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"key": "Referer",
|
|
17
|
+
"fromEventKey": "context.page.url"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"key": "User-Agent",
|
|
21
|
+
"fromEventKey": "context.userAgent"
|
|
22
|
+
}
|
|
23
|
+
],
|
|
24
|
+
"method": "GET",
|
|
25
|
+
"batchSize": 1,
|
|
26
|
+
"transform": {
|
|
27
|
+
"lang": "lua",
|
|
28
|
+
"body": "if batch[1].adp_session then\n request.headers[\"Cookie\"] = \"adp_session=\\\"\" .. batch[1].adp_session .. \"\\\"\"\n request.url = REPLACE(request.url, '&adp_session=' .. batch[1].adp_session, '')\nend\nreturn request"
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"a7833745bcb2a928104b1cbd86aa646c"
|
|
@@ -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-03-05T22:00:00.000Z",
|
|
18
|
+
"note": "Version: 0.1.0\nBeta Version\nRingier Axel Springer Poland initial release"
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"bbf45d438ba19a7bd53b2cddc6433b56"
|
|
@@ -0,0 +1,369 @@
|
|
|
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": "context.providers.ringierAxelSpringerPoland.sessionID",
|
|
39
|
+
"outputKey": "adp_session"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"inputKey": "input",
|
|
43
|
+
"outputKey": "eid",
|
|
44
|
+
"transforms": [
|
|
45
|
+
{
|
|
46
|
+
"expression": {
|
|
47
|
+
"body": "local email = input.traits.email or input.context.traits.email\nif email then return TO_MD5_HASH(LOWER(TRIM(email))) end\nreturn",
|
|
48
|
+
"lang": "lua"
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
]
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"inputKey": "input",
|
|
55
|
+
"outputKey": "src",
|
|
56
|
+
"transforms": [
|
|
57
|
+
{
|
|
58
|
+
"expression": {
|
|
59
|
+
"body": "if input.context.app.name or input.context.device.type or input.context.os.name then return 'app' end\nreturn 's2s'",
|
|
60
|
+
"lang": "lua"
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
]
|
|
64
|
+
}
|
|
65
|
+
]
|
|
66
|
+
},
|
|
67
|
+
"default": {
|
|
68
|
+
"enrichments": [
|
|
69
|
+
{
|
|
70
|
+
"staticString": "custom",
|
|
71
|
+
"outputKey": "event"
|
|
72
|
+
}
|
|
73
|
+
],
|
|
74
|
+
"mappings": [
|
|
75
|
+
{
|
|
76
|
+
"inputKey": "input",
|
|
77
|
+
"outputKey": "custom_event",
|
|
78
|
+
"transforms": [
|
|
79
|
+
{
|
|
80
|
+
"expression": {
|
|
81
|
+
"body": "if input.type == 'track' then return LOWER(REPLACE(input.event, ' ', '_')) end\nreturn input.type",
|
|
82
|
+
"lang": "lua"
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
]
|
|
86
|
+
}
|
|
87
|
+
]
|
|
88
|
+
},
|
|
89
|
+
"eventSpecific": {
|
|
90
|
+
"page": {
|
|
91
|
+
"enrichments": [
|
|
92
|
+
{
|
|
93
|
+
"staticString": "page_view",
|
|
94
|
+
"outputKey": "event"
|
|
95
|
+
}
|
|
96
|
+
]
|
|
97
|
+
},
|
|
98
|
+
"products_searched": {
|
|
99
|
+
"enrichments": [
|
|
100
|
+
{
|
|
101
|
+
"staticString": "search_query",
|
|
102
|
+
"outputKey": "event"
|
|
103
|
+
}
|
|
104
|
+
],
|
|
105
|
+
"mappings": [
|
|
106
|
+
{
|
|
107
|
+
"inputKey": "properties.query",
|
|
108
|
+
"outputKey": "query"
|
|
109
|
+
}
|
|
110
|
+
]
|
|
111
|
+
},
|
|
112
|
+
"product_list_viewed": {
|
|
113
|
+
"enrichments": [
|
|
114
|
+
{
|
|
115
|
+
"staticString": "custom",
|
|
116
|
+
"outputKey": "event"
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"staticString": "product_list_viewed",
|
|
120
|
+
"outputKey": "custom_event"
|
|
121
|
+
}
|
|
122
|
+
],
|
|
123
|
+
"mappings": [
|
|
124
|
+
{
|
|
125
|
+
"inputKey": "input",
|
|
126
|
+
"outputKey": "products",
|
|
127
|
+
"transforms": [
|
|
128
|
+
{
|
|
129
|
+
"expression": {
|
|
130
|
+
"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)",
|
|
131
|
+
"lang": "lua"
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
]
|
|
135
|
+
}
|
|
136
|
+
]
|
|
137
|
+
},
|
|
138
|
+
"product_clicked": {
|
|
139
|
+
"enrichments": [
|
|
140
|
+
{
|
|
141
|
+
"staticString": "custom",
|
|
142
|
+
"outputKey": "event"
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
"staticString": "product_clicked",
|
|
146
|
+
"outputKey": "custom_event"
|
|
147
|
+
}
|
|
148
|
+
],
|
|
149
|
+
"mappings": [
|
|
150
|
+
{
|
|
151
|
+
"inputKey": "input",
|
|
152
|
+
"outputKey": "products",
|
|
153
|
+
"transforms": [
|
|
154
|
+
{
|
|
155
|
+
"expression": {
|
|
156
|
+
"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}}",
|
|
157
|
+
"lang": "lua"
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
]
|
|
161
|
+
}
|
|
162
|
+
]
|
|
163
|
+
},
|
|
164
|
+
"product_viewed": {
|
|
165
|
+
"enrichments": [
|
|
166
|
+
{
|
|
167
|
+
"staticString": "product_detail",
|
|
168
|
+
"outputKey": "event"
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
"staticString": "product",
|
|
172
|
+
"outputKey": "sitetype"
|
|
173
|
+
}
|
|
174
|
+
],
|
|
175
|
+
"mappings": [
|
|
176
|
+
{
|
|
177
|
+
"inputKey": "input",
|
|
178
|
+
"outputKey": "products",
|
|
179
|
+
"transforms": [
|
|
180
|
+
{
|
|
181
|
+
"expression": {
|
|
182
|
+
"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}}",
|
|
183
|
+
"lang": "lua"
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
]
|
|
187
|
+
}
|
|
188
|
+
]
|
|
189
|
+
},
|
|
190
|
+
"product_added": {
|
|
191
|
+
"enrichments": [
|
|
192
|
+
{
|
|
193
|
+
"staticString": "add_to_cart",
|
|
194
|
+
"outputKey": "event"
|
|
195
|
+
}
|
|
196
|
+
],
|
|
197
|
+
"mappings": [
|
|
198
|
+
{
|
|
199
|
+
"inputKey": "input",
|
|
200
|
+
"outputKey": "products",
|
|
201
|
+
"transforms": [
|
|
202
|
+
{
|
|
203
|
+
"expression": {
|
|
204
|
+
"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}}",
|
|
205
|
+
"lang": "lua"
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
]
|
|
209
|
+
}
|
|
210
|
+
]
|
|
211
|
+
},
|
|
212
|
+
"product_removed": {
|
|
213
|
+
"enrichments": [
|
|
214
|
+
{
|
|
215
|
+
"staticString": "remove_from_cart",
|
|
216
|
+
"outputKey": "event"
|
|
217
|
+
}
|
|
218
|
+
],
|
|
219
|
+
"mappings": [
|
|
220
|
+
{
|
|
221
|
+
"inputKey": "input",
|
|
222
|
+
"outputKey": "products",
|
|
223
|
+
"transforms": [
|
|
224
|
+
{
|
|
225
|
+
"expression": {
|
|
226
|
+
"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}}",
|
|
227
|
+
"lang": "lua"
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
]
|
|
231
|
+
}
|
|
232
|
+
]
|
|
233
|
+
},
|
|
234
|
+
"cart_viewed": {
|
|
235
|
+
"enrichments": [
|
|
236
|
+
{
|
|
237
|
+
"staticString": "view_cart",
|
|
238
|
+
"outputKey": "event"
|
|
239
|
+
},
|
|
240
|
+
{
|
|
241
|
+
"staticString": "cart",
|
|
242
|
+
"outputKey": "sitetype"
|
|
243
|
+
}
|
|
244
|
+
],
|
|
245
|
+
"mappings": [
|
|
246
|
+
{
|
|
247
|
+
"inputKey": "input",
|
|
248
|
+
"outputKey": "cost",
|
|
249
|
+
"transforms": [
|
|
250
|
+
{
|
|
251
|
+
"expression": {
|
|
252
|
+
"lang": "lua",
|
|
253
|
+
"body": "return SUM(MAP(input.properties.products, function (p) return p.price * (p.quantity or 1) end))"
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
]
|
|
257
|
+
},
|
|
258
|
+
{
|
|
259
|
+
"inputKey": "input",
|
|
260
|
+
"outputKey": "qty",
|
|
261
|
+
"transforms": [
|
|
262
|
+
{
|
|
263
|
+
"expression": {
|
|
264
|
+
"lang": "lua",
|
|
265
|
+
"body": "return SUM(MAP(input.properties.products, function (p) return p.quantity or 1 end))"
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
]
|
|
269
|
+
},
|
|
270
|
+
{
|
|
271
|
+
"inputKey": "input",
|
|
272
|
+
"outputKey": "products",
|
|
273
|
+
"transforms": [
|
|
274
|
+
{
|
|
275
|
+
"expression": {
|
|
276
|
+
"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)",
|
|
277
|
+
"lang": "lua"
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
]
|
|
281
|
+
}
|
|
282
|
+
]
|
|
283
|
+
},
|
|
284
|
+
"checkout_started": {
|
|
285
|
+
"enrichments": [
|
|
286
|
+
{
|
|
287
|
+
"staticString": "checkout",
|
|
288
|
+
"outputKey": "event"
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
"staticString": "cart",
|
|
292
|
+
"outputKey": "sitetype"
|
|
293
|
+
}
|
|
294
|
+
],
|
|
295
|
+
"mappings": [
|
|
296
|
+
{
|
|
297
|
+
"inputKey": "input",
|
|
298
|
+
"outputKey": "products",
|
|
299
|
+
"transforms": [
|
|
300
|
+
{
|
|
301
|
+
"expression": {
|
|
302
|
+
"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)",
|
|
303
|
+
"lang": "lua"
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
]
|
|
307
|
+
}
|
|
308
|
+
]
|
|
309
|
+
},
|
|
310
|
+
"order_completed": {
|
|
311
|
+
"enrichments": [
|
|
312
|
+
{
|
|
313
|
+
"staticString": "purchased",
|
|
314
|
+
"outputKey": "event"
|
|
315
|
+
},
|
|
316
|
+
{
|
|
317
|
+
"staticString": "cart",
|
|
318
|
+
"outputKey": "sitetype"
|
|
319
|
+
}
|
|
320
|
+
],
|
|
321
|
+
"mappings": [
|
|
322
|
+
{
|
|
323
|
+
"inputKey": "properties.order_id",
|
|
324
|
+
"outputKey": "ord"
|
|
325
|
+
},
|
|
326
|
+
{
|
|
327
|
+
"inputKey": "input",
|
|
328
|
+
"outputKey": "cost",
|
|
329
|
+
"transforms": [
|
|
330
|
+
{
|
|
331
|
+
"expression": {
|
|
332
|
+
"lang": "lua",
|
|
333
|
+
"body": "return SUM(MAP(input.properties.products, function (p) return p.price * (p.quantity or 1) end))"
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
]
|
|
337
|
+
},
|
|
338
|
+
{
|
|
339
|
+
"inputKey": "input",
|
|
340
|
+
"outputKey": "qty",
|
|
341
|
+
"transforms": [
|
|
342
|
+
{
|
|
343
|
+
"expression": {
|
|
344
|
+
"lang": "lua",
|
|
345
|
+
"body": "return SUM(MAP(input.properties.products, function (p) return p.quantity or 1 end))"
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
]
|
|
349
|
+
},
|
|
350
|
+
{
|
|
351
|
+
"inputKey": "properties.tax",
|
|
352
|
+
"outputKey": "tax"
|
|
353
|
+
},
|
|
354
|
+
{
|
|
355
|
+
"inputKey": "input",
|
|
356
|
+
"outputKey": "products",
|
|
357
|
+
"transforms": [
|
|
358
|
+
{
|
|
359
|
+
"expression": {
|
|
360
|
+
"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)",
|
|
361
|
+
"lang": "lua"
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
]
|
|
365
|
+
}
|
|
366
|
+
]
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"
|
|
1
|
+
"f639f517a5f095a21983b8ac982b5573"
|
|
@@ -32,6 +32,10 @@
|
|
|
32
32
|
{
|
|
33
33
|
"date": "2024-10-23T00:00:00.000Z",
|
|
34
34
|
"note": "Version: 2.2.0\nAdded header `Accept-Encoding: application/json`"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"date": "2025-03-12T00:00:00.000Z",
|
|
38
|
+
"note": "Version: 2.3.0\nMapping updates due to TikTok API changes"
|
|
35
39
|
}
|
|
36
40
|
]
|
|
37
41
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"
|
|
1
|
+
"94c19646074a59b0eb043756bc6f2494"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "2.
|
|
2
|
+
"version": "2.3.0",
|
|
3
3
|
"default": {
|
|
4
4
|
"filters": [
|
|
5
5
|
{
|
|
@@ -334,7 +334,7 @@
|
|
|
334
334
|
"enrichments": [
|
|
335
335
|
{
|
|
336
336
|
"outputKey": "event",
|
|
337
|
-
"staticString": "
|
|
337
|
+
"staticString": "Purchase"
|
|
338
338
|
},
|
|
339
339
|
{
|
|
340
340
|
"outputKey": "properties.content_type",
|
package/README.md
CHANGED
|
@@ -5,10 +5,16 @@ 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-03
|
|
9
|
+
- Amplitude
|
|
10
|
+
- Button
|
|
11
|
+
- Podscribe (BETA)
|
|
12
|
+
- Ringier Axel Springer Poland (BETA)
|
|
13
|
+
- TikTok
|
|
14
|
+
|
|
8
15
|
## 2025-02
|
|
9
16
|
- Amazon Data Firehose (BETA)
|
|
10
17
|
- AWIN
|
|
11
|
-
- Button (BETA)
|
|
12
18
|
- Merkle
|
|
13
19
|
- Moloco Commerce Media
|
|
14
20
|
|
|
@@ -36,7 +42,6 @@ previously.
|
|
|
36
42
|
- Amnet (BETA)
|
|
37
43
|
- Amobee
|
|
38
44
|
- Amperity (BETA)
|
|
39
|
-
- Amplitude
|
|
40
45
|
- AppsFlyer Android
|
|
41
46
|
- AppsFlyer iOS
|
|
42
47
|
- Microsoft Advertising (BETA)
|
|
@@ -70,7 +75,6 @@ previously.
|
|
|
70
75
|
- Snapchat Ads
|
|
71
76
|
- TheTradeDesk Conversion Events
|
|
72
77
|
- TheTradeDesk Firstparty Advertiser Data
|
|
73
|
-
- TikTok
|
|
74
78
|
- VideoAmp (BETA)
|
|
75
79
|
- Xandr
|
|
76
80
|
- Yahoo Enhanced Attribution (BETA)
|
|
@@ -108,9 +112,13 @@ previously.
|
|
|
108
112
|
|
|
109
113
|
| Kit Name | Date | Latest Note |
|
|
110
114
|
|----------|------|-------------|
|
|
115
|
+
| Amplitude | 2025-03 | Version: 1.2.0 Added API_URL param to accommodate Amplitude's EU residency server |
|
|
116
|
+
| Button | 2025-03 | Version: 0.1.1 Fix stanza spelling |
|
|
117
|
+
| Podscribe (BETA) | 2025-03 | Version: 0.1.0 Beta Version Podscribe initial release |
|
|
118
|
+
| Ringier Axel Springer Poland (BETA) | 2025-03 | Version: 0.1.0 Beta Version Ringier Axel Springer Poland initial release |
|
|
119
|
+
| TikTok | 2025-03 | Version: 2.3.0 Mapping updates due to TikTok API changes |
|
|
111
120
|
| Amazon Data Firehose (BETA) | 2025-02 | Version: 0.1.0 Beta Version Amazon Data Firehose initial release. |
|
|
112
121
|
| AWIN | 2025-02 | Version: 1.0.0 Stable release |
|
|
113
|
-
| Button (BETA) | 2025-02 | Version: 0.1.0 Beta Version Button initial release |
|
|
114
122
|
| Merkle | 2025-02 | Version: 1.2.0 Updated mappings to comply with Merkle's requirements Added required fields: ipAddress, userAgent, pageUrl Added optional fields: rawEmail Updated type field of page event to viewpage |
|
|
115
123
|
| 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 |
|
|
116
124
|
| Blueshift | 2025-01 | Version: 1.0.0 Stable release |
|
|
@@ -130,7 +138,6 @@ previously.
|
|
|
130
138
|
| Amnet (BETA) | 2024-10 | Version: 0.2.0 Added header `Accept-Encoding: application/json` |
|
|
131
139
|
| Amobee | 2024-10 | Version: 1.1.0 Added header `Accept-Encoding: application/json` |
|
|
132
140
|
| Amperity (BETA) | 2024-10 | Version: 0.2.0 Added header `Accept-Encoding: application/json` |
|
|
133
|
-
| Amplitude | 2024-10 | Version: 1.1.0 Added header `Accept-Encoding: application/json` |
|
|
134
141
|
| AppsFlyer Android | 2024-10 | Version: 1.2.0 Added header `Accept-Encoding: application/json` |
|
|
135
142
|
| AppsFlyer iOS | 2024-10 | Version: 1.2.0 Added header `Accept-Encoding: application/json` |
|
|
136
143
|
| Microsoft Advertising (BETA) | 2024-10 | Version: 0.2.0 Added header `Accept-Encoding: application/json` |
|
|
@@ -164,7 +171,6 @@ previously.
|
|
|
164
171
|
| Snapchat Ads | 2024-10 | Version: 1.1.0 Added header `Accept-Encoding: application/json` |
|
|
165
172
|
| TheTradeDesk Conversion Events | 2024-10 | Version: 1.1.0 Added header `Accept-Encoding: application/json` |
|
|
166
173
|
| TheTradeDesk Firstparty Advertiser Data | 2024-10 | Version: 1.1.0 Added header `Accept-Encoding: application/json` |
|
|
167
|
-
| TikTok | 2024-10 | Version: 2.2.0 Added header `Accept-Encoding: application/json` |
|
|
168
174
|
| VideoAmp (BETA) | 2024-10 | Version: 0.3.0 Added header `Accept-Encoding: application/json` |
|
|
169
175
|
| Xandr | 2024-10 | Version: 1.1.0 Added header `Accept-Encoding: application/json` |
|
|
170
176
|
| Yahoo Enhanced Attribution (BETA) | 2024-10 | Version: 0.2.0 Added header `Accept-Encoding: application/json` |
|
package/index.js
CHANGED
|
@@ -363,6 +363,12 @@ exports['pinterest-capi'] = {
|
|
|
363
363
|
metadata: require('./.dist/pinterest-capi/metadata.json')
|
|
364
364
|
}
|
|
365
365
|
|
|
366
|
+
exports.podscribe = {
|
|
367
|
+
endpointSchema: require('./.dist/podscribe/connection.json'),
|
|
368
|
+
playbook: require('./.dist/podscribe/playbook.json'),
|
|
369
|
+
metadata: require('./.dist/podscribe/metadata.json')
|
|
370
|
+
}
|
|
371
|
+
|
|
366
372
|
exports.podsights = {
|
|
367
373
|
endpointSchema: require('./.dist/podsights/connection.json'),
|
|
368
374
|
playbook: require('./.dist/podsights/playbook.json'),
|
|
@@ -381,6 +387,12 @@ exports['rev-jet'] = {
|
|
|
381
387
|
metadata: require('./.dist/rev-jet/metadata.json')
|
|
382
388
|
}
|
|
383
389
|
|
|
390
|
+
exports['ringier-axel-springer-poland'] = {
|
|
391
|
+
endpointSchema: require('./.dist/ringier-axel-springer-poland/connection.json'),
|
|
392
|
+
playbook: require('./.dist/ringier-axel-springer-poland/playbook.json'),
|
|
393
|
+
metadata: require('./.dist/ringier-axel-springer-poland/metadata.json')
|
|
394
|
+
}
|
|
395
|
+
|
|
384
396
|
exports.roku = {
|
|
385
397
|
endpointSchema: require('./.dist/roku/connection.json'),
|
|
386
398
|
playbook: require('./.dist/roku/playbook.json'),
|
|
@@ -780,6 +792,11 @@ exports.etags = {
|
|
|
780
792
|
playbook: require('./.dist/pinterest-capi/playbook.etag.json'),
|
|
781
793
|
kit: require('./.dist/pinterest-capi/kit.etag.json')
|
|
782
794
|
},
|
|
795
|
+
'podscribe': {
|
|
796
|
+
endpointSchema: require('./.dist/podscribe/connection.etag.json'),
|
|
797
|
+
playbook: require('./.dist/podscribe/playbook.etag.json'),
|
|
798
|
+
kit: require('./.dist/podscribe/kit.etag.json')
|
|
799
|
+
},
|
|
783
800
|
'podsights': {
|
|
784
801
|
endpointSchema: require('./.dist/podsights/connection.etag.json'),
|
|
785
802
|
playbook: require('./.dist/podsights/playbook.etag.json'),
|
|
@@ -795,6 +812,11 @@ exports.etags = {
|
|
|
795
812
|
playbook: require('./.dist/rev-jet/playbook.etag.json'),
|
|
796
813
|
kit: require('./.dist/rev-jet/kit.etag.json')
|
|
797
814
|
},
|
|
815
|
+
'ringier-axel-springer-poland': {
|
|
816
|
+
endpointSchema: require('./.dist/ringier-axel-springer-poland/connection.etag.json'),
|
|
817
|
+
playbook: require('./.dist/ringier-axel-springer-poland/playbook.etag.json'),
|
|
818
|
+
kit: require('./.dist/ringier-axel-springer-poland/kit.etag.json')
|
|
819
|
+
},
|
|
798
820
|
roku: {
|
|
799
821
|
endpointSchema: require('./.dist/roku/connection.etag.json'),
|
|
800
822
|
playbook: require('./.dist/roku/playbook.etag.json'),
|