@metarouter/ajs-starter-kit 1.0.118 → 1.0.120
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-data-firehose/connection.etag.json +1 -0
- package/.dist/amazon-data-firehose/connection.json +26 -0
- package/.dist/amazon-data-firehose/kit.etag.json +1 -0
- package/.dist/amazon-data-firehose/metadata.json +21 -0
- package/.dist/amazon-data-firehose/playbook.etag.json +1 -0
- package/.dist/amazon-data-firehose/playbook.json +11 -0
- package/.dist/awin/kit.etag.json +1 -1
- package/.dist/awin/metadata.json +5 -1
- package/.dist/awin/playbook.etag.json +1 -1
- package/.dist/awin/playbook.json +1 -1
- package/.dist/blueshift/kit.etag.json +1 -1
- package/.dist/blueshift/metadata.json +5 -1
- package/.dist/blueshift/playbook.etag.json +1 -1
- package/.dist/blueshift/playbook.json +1 -1
- package/.dist/connection-schemas.json +24 -0
- package/.dist/iterable/kit.etag.json +1 -1
- package/.dist/iterable/metadata.json +4 -0
- package/.dist/iterable/playbook.etag.json +1 -1
- package/.dist/iterable/playbook.json +17 -5
- package/.dist/merkle/kit.etag.json +1 -1
- package/.dist/merkle/metadata.json +4 -0
- package/.dist/merkle/playbook.etag.json +1 -1
- package/.dist/merkle/playbook.json +45 -5
- package/.dist/microsoft-ads/connection.etag.json +1 -0
- package/.dist/microsoft-ads/connection.json +12 -0
- package/.dist/microsoft-ads/kit.etag.json +1 -0
- package/.dist/microsoft-ads/metadata.json +21 -0
- package/.dist/microsoft-ads/playbook.etag.json +1 -0
- package/.dist/microsoft-ads/playbook.json +449 -0
- package/README.md +14 -8
- package/index.js +21 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"65b100021d550653b50477a00ba4f198"
|
|
@@ -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-data-firehose": {
|
|
21
|
+
"region": "$$REGION$$",
|
|
22
|
+
"accessKey": "$$ACCESS_KEY$$",
|
|
23
|
+
"secretKey": "$$SECRET_KEY$$",
|
|
24
|
+
"streamName": "$$STREAM_NAME$$"
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"8cbba1e1586f7401cb91bf12f781249b"
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"isDraft": false,
|
|
3
|
+
"isDeprecated": false,
|
|
4
|
+
"isBeta": true,
|
|
5
|
+
"friendlyName": "Amazon Data Firehose",
|
|
6
|
+
"description": "Amazon Data Firehose is a fully managed service for real-time data streaming to various destinations like Amazon S3 and Redshift.",
|
|
7
|
+
"logo": "https://cdn.metarouter.io/logo.svg",
|
|
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-02-05T00:00:00.000Z",
|
|
18
|
+
"note": "Version: 0.1.0\nBeta Version\nAmazon Data Firehose initial release."
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"b369e2c36983957aec3cfe2f3c3bee4b"
|
package/.dist/awin/kit.etag.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"
|
|
1
|
+
"893b7a87965dc968635eb1107f123fcf"
|
package/.dist/awin/metadata.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"isDraft": false,
|
|
3
3
|
"isDeprecated": false,
|
|
4
|
-
"isBeta":
|
|
4
|
+
"isBeta": false,
|
|
5
5
|
"friendlyName": "AWIN",
|
|
6
6
|
"description": "AWIN is a global affiliate marketing network that connects advertisers and publishers to drive sales and generate leads.",
|
|
7
7
|
"logo": "https://cdn.metarouter.io/awin.png",
|
|
@@ -20,6 +20,10 @@
|
|
|
20
20
|
{
|
|
21
21
|
"date": "2025-01-15T22:00:00.000Z",
|
|
22
22
|
"note": "Version: 0.2.0\nHandle voucher code\nFormat order reference\nAdd SKU fallback"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"date": "2025-02-05T00:00:00.000Z",
|
|
26
|
+
"note": "Version: 1.0.0\nStable release"
|
|
23
27
|
}
|
|
24
28
|
]
|
|
25
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"
|
|
1
|
+
"3c60a1b1ed86b4bfd0378781a92bc7fe"
|
package/.dist/awin/playbook.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"
|
|
1
|
+
"793ff19fbebbe9b152fc8ab7184582ce"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"isDraft": false,
|
|
3
3
|
"isDeprecated": false,
|
|
4
|
-
"isBeta":
|
|
4
|
+
"isBeta": false,
|
|
5
5
|
"friendlyName": "Blueshift",
|
|
6
6
|
"description": "From unified data to intelligent decisioning, Blueshift’s SmartHub CDP provides all the tools\nto deliver the omnichannel experience your customers expect.",
|
|
7
7
|
"logo": "https://cdn.metarouter.io/logo.svg",
|
|
@@ -52,6 +52,10 @@
|
|
|
52
52
|
{
|
|
53
53
|
"date": "2025-01-15T00:00:00.000Z",
|
|
54
54
|
"note": "Version: 0.5.0\nAdded global enrichment for partner field."
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"date": "2025-01-22T00:00:00.000Z",
|
|
58
|
+
"note": "Version: 1.0.0\nStable release"
|
|
55
59
|
}
|
|
56
60
|
]
|
|
57
61
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"
|
|
1
|
+
"f8d56376a9de75b065e3b7731d685445"
|
|
@@ -1,6 +1,30 @@
|
|
|
1
1
|
{
|
|
2
2
|
"type": "object",
|
|
3
3
|
"properties": {
|
|
4
|
+
"amazonDataFirehose": {
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"accessKey": {
|
|
8
|
+
"type": "string"
|
|
9
|
+
},
|
|
10
|
+
"region": {
|
|
11
|
+
"type": "string"
|
|
12
|
+
},
|
|
13
|
+
"secretKey": {
|
|
14
|
+
"type": "string"
|
|
15
|
+
},
|
|
16
|
+
"streamName": {
|
|
17
|
+
"type": "string"
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"required": [
|
|
21
|
+
"region",
|
|
22
|
+
"accessKey",
|
|
23
|
+
"secretKey",
|
|
24
|
+
"streamName"
|
|
25
|
+
],
|
|
26
|
+
"additionalProperties": false
|
|
27
|
+
},
|
|
4
28
|
"blob": {
|
|
5
29
|
"type": "object",
|
|
6
30
|
"properties": {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"
|
|
1
|
+
"8f875bfc1fe82bc0d1513fe6539f73bf"
|
|
@@ -23,6 +23,10 @@
|
|
|
23
23
|
{
|
|
24
24
|
"date": "2024-11-21T21:00:00.000Z",
|
|
25
25
|
"note": "Version: 0.3.0\nUpdate connection.yaml for SDK forwarder format\nMove user agent and ip to global stanza"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"date": "2025-01-22T21:00:00.000Z",
|
|
29
|
+
"note": "Version: 0.4.0\nAdd user agent and ip to default and order_completed stanzas\nRemove redundant properties-dataFields mapping from identify events"
|
|
26
30
|
}
|
|
27
31
|
]
|
|
28
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"
|
|
1
|
+
"ae50453124fca003c7ffe3ece6f2a46a"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.
|
|
2
|
+
"version": "0.4.0",
|
|
3
3
|
"global": {
|
|
4
4
|
"enrichments": [
|
|
5
5
|
{
|
|
@@ -59,6 +59,14 @@
|
|
|
59
59
|
{
|
|
60
60
|
"inputKey": "properties",
|
|
61
61
|
"outputKey": "dataFields"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"inputKey": "context.ip",
|
|
65
|
+
"outputKey": "dataFields.ip"
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"inputKey": "context.userAgent",
|
|
69
|
+
"outputKey": "dataFields.userAgent"
|
|
62
70
|
}
|
|
63
71
|
]
|
|
64
72
|
},
|
|
@@ -72,10 +80,6 @@
|
|
|
72
80
|
{
|
|
73
81
|
"inputKey": "anonymousId",
|
|
74
82
|
"outputKey": "userId"
|
|
75
|
-
},
|
|
76
|
-
{
|
|
77
|
-
"inputKey": "properties",
|
|
78
|
-
"outputKey": "dataFields"
|
|
79
83
|
}
|
|
80
84
|
]
|
|
81
85
|
},
|
|
@@ -124,6 +128,14 @@
|
|
|
124
128
|
}
|
|
125
129
|
}
|
|
126
130
|
]
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"inputKey": "context.ip",
|
|
134
|
+
"outputKey": "dataFields.ip"
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"inputKey": "context.userAgent",
|
|
138
|
+
"outputKey": "dataFields.userAgent"
|
|
127
139
|
}
|
|
128
140
|
]
|
|
129
141
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"
|
|
1
|
+
"18480ad1702f9f0bc59499f21874d3db"
|
|
@@ -28,6 +28,10 @@
|
|
|
28
28
|
{
|
|
29
29
|
"date": "2024-10-23T00:00:00.000Z",
|
|
30
30
|
"note": "Version: 1.1.0\nAdded header `Accept-Encoding: application/json`"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"date": "2025-02-05T00:00:00.000Z",
|
|
34
|
+
"note": "Version: 1.2.0\nUpdated mappings to comply with Merkle's requirements\nAdded required fields: ipAddress, userAgent, pageUrl\nAdded optional fields: rawEmail\nUpdated type field of page event to viewpage"
|
|
31
35
|
}
|
|
32
36
|
]
|
|
33
37
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"
|
|
1
|
+
"e8fb409ebe6565693469c6879281f1e3"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "1.
|
|
2
|
+
"version": "1.2.0",
|
|
3
3
|
"global": {
|
|
4
4
|
"mappings": [
|
|
5
5
|
{
|
|
@@ -7,12 +7,52 @@
|
|
|
7
7
|
"outputKey": "anonymousId"
|
|
8
8
|
},
|
|
9
9
|
{
|
|
10
|
-
"inputKey": "
|
|
11
|
-
"outputKey": "
|
|
10
|
+
"inputKey": "type",
|
|
11
|
+
"outputKey": "type",
|
|
12
|
+
"transforms": [
|
|
13
|
+
{
|
|
14
|
+
"expression": {
|
|
15
|
+
"lang": "lua",
|
|
16
|
+
"body": "if input.type == \"page\" then\n return \"viewpage\"\nend\nreturn input.type"
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
]
|
|
12
20
|
},
|
|
13
21
|
{
|
|
14
|
-
"inputKey": "
|
|
15
|
-
"outputKey": "
|
|
22
|
+
"inputKey": "context.userAgent",
|
|
23
|
+
"outputKey": "userAgent"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"inputKey": "input",
|
|
27
|
+
"outputKey": "pageUrl",
|
|
28
|
+
"transforms": [
|
|
29
|
+
{
|
|
30
|
+
"expression": {
|
|
31
|
+
"lang": "lua",
|
|
32
|
+
"body": "local pageUrl = input.properties.url or input.context.page.url\nif pageUrl then\n return pageUrl\nend\nreturn"
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
]
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"inputKey": "context.ip",
|
|
39
|
+
"outputKey": "ipAddress"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"inputKey": "input",
|
|
43
|
+
"outputKey": "rawEmail",
|
|
44
|
+
"transforms": [
|
|
45
|
+
{
|
|
46
|
+
"expression": {
|
|
47
|
+
"lang": "lua",
|
|
48
|
+
"body": "local email = input.traits.email or input.context.traits.email\nif email then\n return email\nend\nreturn"
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
]
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"inputKey": "messageId",
|
|
55
|
+
"outputKey": "messageId"
|
|
16
56
|
},
|
|
17
57
|
{
|
|
18
58
|
"inputKey": "event",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"34d9a2fcc47ca80348b70c8d7bbd0589"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"70505b8496f26ec95396135072da16f0"
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"isDraft": false,
|
|
3
|
+
"isDeprecated": false,
|
|
4
|
+
"isBeta": true,
|
|
5
|
+
"friendlyName": "Microsoft Ads",
|
|
6
|
+
"description": "Microsoft Ads is a digital advertising platform that allows businesses to create and manage paid search and display ad campaigns across Microsoft's network, including Bing, MSN, and other partner sites.",
|
|
7
|
+
"logo": "https://cdn.metarouter.io/microsoft-ads.png",
|
|
8
|
+
"color": "#0078D4",
|
|
9
|
+
"eventSource": {
|
|
10
|
+
"isAndroidApp": false,
|
|
11
|
+
"isIosApp": false,
|
|
12
|
+
"isWebApp": true
|
|
13
|
+
},
|
|
14
|
+
"inputSchema": "analytics_js",
|
|
15
|
+
"releaseNotes": [
|
|
16
|
+
{
|
|
17
|
+
"date": "2025-01-22T22:00:00.000Z",
|
|
18
|
+
"note": "Version: 0.1.0\nBeta Version\nMicrosoft Ads initial release"
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"bb2eaa8e02d3efe77d0a35026a287924"
|
|
@@ -0,0 +1,449 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.1.0",
|
|
3
|
+
"params": [
|
|
4
|
+
{
|
|
5
|
+
"name": "UET_TAG_ID",
|
|
6
|
+
"exampleValue": "my-uet-tag-id"
|
|
7
|
+
}
|
|
8
|
+
],
|
|
9
|
+
"global": {
|
|
10
|
+
"enrichments": [
|
|
11
|
+
{
|
|
12
|
+
"staticString": "$$UET_TAG_ID$$",
|
|
13
|
+
"outputKey": "ti"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"staticString": "2.2",
|
|
17
|
+
"outputKey": "ver"
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"mappings": [
|
|
21
|
+
{
|
|
22
|
+
"inputKey": "context.providers.microsoftAds.mid",
|
|
23
|
+
"outputKey": "mid"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"inputKey": "context.providers.microsoftAds.msclkid",
|
|
27
|
+
"outputKey": "msclkid"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"inputKey": "anonymousId",
|
|
31
|
+
"outputKey": "vid"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"inputKey": "input",
|
|
35
|
+
"outputKey": "uid",
|
|
36
|
+
"transforms": [
|
|
37
|
+
{
|
|
38
|
+
"expression": {
|
|
39
|
+
"lang": "lua",
|
|
40
|
+
"body": "if input.userId and input.userId ~= '' then return TO_MD5_HASH(LOWER(TRIM(input.userId))) end"
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
]
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"inputKey": "context.ip",
|
|
47
|
+
"outputKey": "ip"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"inputKey": "context.userAgent",
|
|
51
|
+
"outputKey": "ua"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"inputKey": "input",
|
|
55
|
+
"outputKey": "ts",
|
|
56
|
+
"transforms": [
|
|
57
|
+
{
|
|
58
|
+
"expression": {
|
|
59
|
+
"lang": "lua",
|
|
60
|
+
"body": "return SECONDS_SINCE_EPOCH_FROM_RFC3999(input.timestamp or input.originalTimestamp or input.sentAt)"
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
]
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"inputKey": "input",
|
|
67
|
+
"outputKey": "pid",
|
|
68
|
+
"transforms": [
|
|
69
|
+
{
|
|
70
|
+
"expression": {
|
|
71
|
+
"lang": "lua",
|
|
72
|
+
"body": "local pid = {}\nid = 1\nlocal email = input.traits.email or input.context.traits.email\nemail = LOWER(TRIM(email))\nif email then\n if (string.find(email, '@') ~= nil) then\n email = SPLIT(email, '@', 2)\n if string.sub(email[1], -6) == '+alias' then email[1] = REPLACE(email[1], '+alias', '') end\n pid[id] = 'em=' .. TO_SHA256_HASH(REPLACE(email[1], '.', '') .. '@' .. email[2])\n else\n pid[id] = 'em=' .. TO_SHA256_HASH(email)\n end\n id = id + 1\nend\nlocal phone = input.traits.phone or input.context.traits.phone\nif phone then\n pid[id] = 'ph=' .. TO_SHA256_HASH(LOWER(TRIM(phone)))\nend\nif (#pid > 0) then return JOIN(pid, '&') end"
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
]
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"inputKey": "input",
|
|
79
|
+
"outputKey": "el",
|
|
80
|
+
"transforms": [
|
|
81
|
+
{
|
|
82
|
+
"expression": {
|
|
83
|
+
"lang": "lua",
|
|
84
|
+
"body": "if input.type == 'track' then return input.event end"
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
]
|
|
88
|
+
}
|
|
89
|
+
]
|
|
90
|
+
},
|
|
91
|
+
"eventSpecific": {
|
|
92
|
+
"page": {
|
|
93
|
+
"enrichments": [
|
|
94
|
+
{
|
|
95
|
+
"staticString": "pageLoad",
|
|
96
|
+
"outputKey": "evt"
|
|
97
|
+
}
|
|
98
|
+
],
|
|
99
|
+
"mappings": [
|
|
100
|
+
{
|
|
101
|
+
"inputKey": "context.page.url",
|
|
102
|
+
"outputKey": "p"
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"inputKey": "context.page.referrer",
|
|
106
|
+
"outputKey": "r"
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
"inputKey": "context.page.title",
|
|
110
|
+
"outputKey": "tl"
|
|
111
|
+
}
|
|
112
|
+
]
|
|
113
|
+
},
|
|
114
|
+
"products_searched": {
|
|
115
|
+
"enrichments": [
|
|
116
|
+
{
|
|
117
|
+
"staticString": "custom",
|
|
118
|
+
"outputKey": "evt"
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"staticString": "view_search_results",
|
|
122
|
+
"outputKey": "ea"
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"staticString": "searchresults",
|
|
126
|
+
"outputKey": "pagetype"
|
|
127
|
+
}
|
|
128
|
+
],
|
|
129
|
+
"mappings": [
|
|
130
|
+
{
|
|
131
|
+
"inputKey": "properties.query",
|
|
132
|
+
"outputKey": "search_term"
|
|
133
|
+
}
|
|
134
|
+
]
|
|
135
|
+
},
|
|
136
|
+
"product_list_viewed": {
|
|
137
|
+
"enrichments": [
|
|
138
|
+
{
|
|
139
|
+
"staticString": "custom",
|
|
140
|
+
"outputKey": "evt"
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
"staticString": "view_item_list",
|
|
144
|
+
"outputKey": "ea"
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
"staticString": "category",
|
|
148
|
+
"outputKey": "pageType"
|
|
149
|
+
}
|
|
150
|
+
],
|
|
151
|
+
"mappings": [
|
|
152
|
+
{
|
|
153
|
+
"inputKey": "properties.list_id",
|
|
154
|
+
"outputKey": "ecomm_category"
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"inputKey": "input",
|
|
158
|
+
"outputKey": "prodid",
|
|
159
|
+
"transforms": [
|
|
160
|
+
{
|
|
161
|
+
"expression": {
|
|
162
|
+
"lang": "lua",
|
|
163
|
+
"body": "return JOIN(PLUCK(input.properties.products, 'product_id') or {}, ',')"
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
]
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
"inputKey": "input",
|
|
170
|
+
"outputKey": "items",
|
|
171
|
+
"transforms": [
|
|
172
|
+
{
|
|
173
|
+
"expression": {
|
|
174
|
+
"lang": "lua",
|
|
175
|
+
"body": "local items = MAP(\n input.properties.products,\n function (p)\n return JOIN(\n {\n 'id=' .. (p.product_id or p.sku or ''),\n 'name=' .. (p.name or ''),\n 'price=' .. (p.price or ''),\n 'quantity=' .. (p.quantity or 1)\n },\n '&'\n )\n end\n)\nreturn JOIN(items, ',')"
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
]
|
|
179
|
+
}
|
|
180
|
+
]
|
|
181
|
+
},
|
|
182
|
+
"product_viewed": {
|
|
183
|
+
"enrichments": [
|
|
184
|
+
{
|
|
185
|
+
"staticString": "custom",
|
|
186
|
+
"outputKey": "evt"
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
"staticString": "view_item",
|
|
190
|
+
"outputKey": "ea"
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
"staticString": "product",
|
|
194
|
+
"outputKey": "pageType"
|
|
195
|
+
}
|
|
196
|
+
],
|
|
197
|
+
"mappings": [
|
|
198
|
+
{
|
|
199
|
+
"inputKey": "properties.product_id",
|
|
200
|
+
"outputKey": "prodid"
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
"inputKey": "input",
|
|
204
|
+
"outputKey": "items",
|
|
205
|
+
"transforms": [
|
|
206
|
+
{
|
|
207
|
+
"expression": {
|
|
208
|
+
"lang": "lua",
|
|
209
|
+
"body": "return JOIN(\n {\n 'id=' .. (input.properties.product_id or input.properties.sku or ''),\n 'name=' .. (input.properties.name or ''),\n 'price=' .. (input.properties.price or ''),\n 'quantity=' .. (input.properties.quantity or 1)\n },\n '&'\n)"
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
]
|
|
213
|
+
}
|
|
214
|
+
]
|
|
215
|
+
},
|
|
216
|
+
"product_added": {
|
|
217
|
+
"enrichments": [
|
|
218
|
+
{
|
|
219
|
+
"staticString": "custom",
|
|
220
|
+
"outputKey": "evt"
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
"staticString": "add_to_cart",
|
|
224
|
+
"outputKey": "ea"
|
|
225
|
+
},
|
|
226
|
+
{
|
|
227
|
+
"staticString": "product",
|
|
228
|
+
"outputKey": "pageType"
|
|
229
|
+
}
|
|
230
|
+
],
|
|
231
|
+
"mappings": [
|
|
232
|
+
{
|
|
233
|
+
"inputKey": "properties.product_id",
|
|
234
|
+
"outputKey": "prodid"
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
"inputKey": "input",
|
|
238
|
+
"outputKey": "items",
|
|
239
|
+
"transforms": [
|
|
240
|
+
{
|
|
241
|
+
"expression": {
|
|
242
|
+
"lang": "lua",
|
|
243
|
+
"body": "return JOIN(\n {\n 'id=' .. (input.properties.product_id or input.properties.sku or ''),\n 'name=' .. (input.properties.name or ''),\n 'price=' .. (input.properties.price or ''),\n 'quantity=' .. (input.properties.quantity or 1)\n },\n '&'\n)"
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
]
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
"inputKey": "input",
|
|
250
|
+
"outputKey": "ecomm_totalvalue",
|
|
251
|
+
"transforms": [
|
|
252
|
+
{
|
|
253
|
+
"expression": {
|
|
254
|
+
"lang": "lua",
|
|
255
|
+
"body": "return input.properties.price * (input.properties.quantity or 1)"
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
]
|
|
259
|
+
},
|
|
260
|
+
{
|
|
261
|
+
"inputKey": "input",
|
|
262
|
+
"outputKey": "gv",
|
|
263
|
+
"transforms": [
|
|
264
|
+
{
|
|
265
|
+
"expression": {
|
|
266
|
+
"lang": "lua",
|
|
267
|
+
"body": "return input.properties.price * (input.properties.quantity or 1)"
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
]
|
|
271
|
+
},
|
|
272
|
+
{
|
|
273
|
+
"inputKey": "properties.currency",
|
|
274
|
+
"outputKey": "gc",
|
|
275
|
+
"transforms": [
|
|
276
|
+
{
|
|
277
|
+
"modifyString": "uppercase"
|
|
278
|
+
}
|
|
279
|
+
],
|
|
280
|
+
"defaultString": "USD"
|
|
281
|
+
}
|
|
282
|
+
]
|
|
283
|
+
},
|
|
284
|
+
"cart_viewed": {
|
|
285
|
+
"enrichments": [
|
|
286
|
+
{
|
|
287
|
+
"staticString": "custom",
|
|
288
|
+
"outputKey": "evt"
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
"staticString": "cart",
|
|
292
|
+
"outputKey": "pageType"
|
|
293
|
+
}
|
|
294
|
+
],
|
|
295
|
+
"mappings": [
|
|
296
|
+
{
|
|
297
|
+
"inputKey": "input",
|
|
298
|
+
"outputKey": "prodid",
|
|
299
|
+
"transforms": [
|
|
300
|
+
{
|
|
301
|
+
"expression": {
|
|
302
|
+
"lang": "lua",
|
|
303
|
+
"body": "return JOIN(PLUCK(input.properties.products, 'product_id') or {}, ',' )"
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
]
|
|
307
|
+
},
|
|
308
|
+
{
|
|
309
|
+
"inputKey": "input",
|
|
310
|
+
"outputKey": "items",
|
|
311
|
+
"transforms": [
|
|
312
|
+
{
|
|
313
|
+
"expression": {
|
|
314
|
+
"lang": "lua",
|
|
315
|
+
"body": "local items = MAP(\n input.properties.products,\n function (p)\n return JOIN(\n {\n 'id=' .. (p.product_id or p.sku or ''),\n 'name=' .. (p.name or ''),\n 'price=' .. (p.price or ''),\n 'quantity=' .. (p.quantity or 1)\n },\n '&'\n )\n end\n)\nreturn JOIN(items, ',')"
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
]
|
|
319
|
+
},
|
|
320
|
+
{
|
|
321
|
+
"inputKey": "input",
|
|
322
|
+
"outputKey": "ecomm_totalvalue",
|
|
323
|
+
"transforms": [
|
|
324
|
+
{
|
|
325
|
+
"expression": {
|
|
326
|
+
"lang": "lua",
|
|
327
|
+
"body": "return SUM(MAP(input.properties.products, function (p) return p.price * (p.quantity or 1) end))"
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
]
|
|
331
|
+
},
|
|
332
|
+
{
|
|
333
|
+
"inputKey": "input",
|
|
334
|
+
"outputKey": "gv",
|
|
335
|
+
"transforms": [
|
|
336
|
+
{
|
|
337
|
+
"expression": {
|
|
338
|
+
"lang": "lua",
|
|
339
|
+
"body": "return SUM(MAP(input.properties.products, function (p) return p.price * (p.quantity or 1) end))"
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
]
|
|
343
|
+
},
|
|
344
|
+
{
|
|
345
|
+
"inputKey": "properties.currency",
|
|
346
|
+
"outputKey": "gc",
|
|
347
|
+
"transforms": [
|
|
348
|
+
{
|
|
349
|
+
"modifyString": "uppercase"
|
|
350
|
+
}
|
|
351
|
+
],
|
|
352
|
+
"defaultString": "USD"
|
|
353
|
+
}
|
|
354
|
+
]
|
|
355
|
+
},
|
|
356
|
+
"order_completed": {
|
|
357
|
+
"enrichments": [
|
|
358
|
+
{
|
|
359
|
+
"staticString": "custom",
|
|
360
|
+
"outputKey": "evt"
|
|
361
|
+
},
|
|
362
|
+
{
|
|
363
|
+
"staticString": "purchase",
|
|
364
|
+
"outputKey": "ea"
|
|
365
|
+
},
|
|
366
|
+
{
|
|
367
|
+
"staticString": "purchase",
|
|
368
|
+
"outputKey": "pageType"
|
|
369
|
+
}
|
|
370
|
+
],
|
|
371
|
+
"mappings": [
|
|
372
|
+
{
|
|
373
|
+
"inputKey": "properties.order_id",
|
|
374
|
+
"outputKey": "transaction_id"
|
|
375
|
+
},
|
|
376
|
+
{
|
|
377
|
+
"inputKey": "input",
|
|
378
|
+
"outputKey": "prodid",
|
|
379
|
+
"transforms": [
|
|
380
|
+
{
|
|
381
|
+
"expression": {
|
|
382
|
+
"lang": "lua",
|
|
383
|
+
"body": "return JOIN(PLUCK(input.properties.products, 'product_id') or {}, ',')"
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
]
|
|
387
|
+
},
|
|
388
|
+
{
|
|
389
|
+
"inputKey": "input",
|
|
390
|
+
"outputKey": "items",
|
|
391
|
+
"transforms": [
|
|
392
|
+
{
|
|
393
|
+
"expression": {
|
|
394
|
+
"lang": "lua",
|
|
395
|
+
"body": "local items = MAP(\n input.properties.products,\n function (p)\n return JOIN(\n {\n 'id=' .. (p.product_id or p.sku or ''),\n 'name=' .. (p.name or ''),\n 'price=' .. (p.price or ''),\n 'quantity=' .. (p.quantity or 1)\n },\n '&'\n )\n end\n)\nreturn JOIN(items, ',')"
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
]
|
|
399
|
+
},
|
|
400
|
+
{
|
|
401
|
+
"inputKey": "input",
|
|
402
|
+
"outputKey": "ecomm_totalvalue",
|
|
403
|
+
"transforms": [
|
|
404
|
+
{
|
|
405
|
+
"expression": {
|
|
406
|
+
"lang": "lua",
|
|
407
|
+
"body": "return SUM(MAP(input.properties.products, function (p) return p.price * (p.quantity or 1) end))"
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
]
|
|
411
|
+
},
|
|
412
|
+
{
|
|
413
|
+
"inputKey": "input",
|
|
414
|
+
"outputKey": "gv",
|
|
415
|
+
"transforms": [
|
|
416
|
+
{
|
|
417
|
+
"expression": {
|
|
418
|
+
"lang": "lua",
|
|
419
|
+
"body": "return SUM(MAP(input.properties.products, function (p) return p.price * (p.quantity or 1) end))"
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
]
|
|
423
|
+
},
|
|
424
|
+
{
|
|
425
|
+
"inputKey": "properties.currency",
|
|
426
|
+
"outputKey": "gc",
|
|
427
|
+
"transforms": [
|
|
428
|
+
{
|
|
429
|
+
"modifyString": "uppercase"
|
|
430
|
+
}
|
|
431
|
+
],
|
|
432
|
+
"defaultString": "USD"
|
|
433
|
+
}
|
|
434
|
+
]
|
|
435
|
+
}
|
|
436
|
+
},
|
|
437
|
+
"default": {
|
|
438
|
+
"filters": [
|
|
439
|
+
{
|
|
440
|
+
"byEventNames": {
|
|
441
|
+
"action": "allow",
|
|
442
|
+
"events": [
|
|
443
|
+
""
|
|
444
|
+
]
|
|
445
|
+
}
|
|
446
|
+
}
|
|
447
|
+
]
|
|
448
|
+
}
|
|
449
|
+
}
|
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-02
|
|
9
|
+
- Amazon Data Firehose (BETA)
|
|
10
|
+
- AWIN
|
|
11
|
+
- Merkle
|
|
12
|
+
|
|
8
13
|
## 2025-01
|
|
9
|
-
-
|
|
10
|
-
- Blueshift (BETA)
|
|
14
|
+
- Blueshift
|
|
11
15
|
- Google BigQuery
|
|
16
|
+
- Iterable (BETA)
|
|
17
|
+
- Microsoft Ads (BETA)
|
|
12
18
|
- Moloco Commerce Media (BETA)
|
|
13
19
|
|
|
14
20
|
## 2024-12
|
|
@@ -18,7 +24,6 @@ previously.
|
|
|
18
24
|
## 2024-11
|
|
19
25
|
- Adobe Analytics - Experience (BETA)
|
|
20
26
|
- Convert (BETA)
|
|
21
|
-
- Iterable (BETA)
|
|
22
27
|
- Innervate
|
|
23
28
|
- Snapchat - CAPI
|
|
24
29
|
- Zeotap (BETA)
|
|
@@ -49,7 +54,6 @@ previously.
|
|
|
49
54
|
- Kochava (BETA)
|
|
50
55
|
- Lytics
|
|
51
56
|
- Magellan AI
|
|
52
|
-
- Merkle
|
|
53
57
|
- MIQ (Xandr) (BETA)
|
|
54
58
|
- Mixpanel
|
|
55
59
|
- Movable Ink (BETA)
|
|
@@ -103,15 +107,18 @@ previously.
|
|
|
103
107
|
|
|
104
108
|
| Kit Name | Date | Latest Note |
|
|
105
109
|
|----------|------|-------------|
|
|
106
|
-
|
|
|
107
|
-
|
|
|
110
|
+
| Amazon Data Firehose (BETA) | 2025-02 | Version: 0.1.0 Beta Version Amazon Data Firehose initial release. |
|
|
111
|
+
| AWIN | 2025-02 | Version: 1.0.0 Stable release |
|
|
112
|
+
| 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 |
|
|
113
|
+
| Blueshift | 2025-01 | Version: 1.0.0 Stable release |
|
|
108
114
|
| Google BigQuery | 2025-01 | Version: 1.1.0 Adding support for table overrides |
|
|
115
|
+
| Iterable (BETA) | 2025-01 | Version: 0.4.0 Add user agent and ip to default and order_completed stanzas Remove redundant properties-dataFields mapping from identify events |
|
|
116
|
+
| Microsoft Ads (BETA) | 2025-01 | Version: 0.1.0 Beta Version Microsoft Ads initial release |
|
|
109
117
|
| Moloco Commerce Media (BETA) | 2025-01 | Version: 0.4.0 Updated friendlyName Updated kit name |
|
|
110
118
|
| Google Analytics 4 (Collect) (BETA) | 2024-12 | Version: 0.4.0 Added user property expression for anonymousId. |
|
|
111
119
|
| RTB House (BETA) | 2024-12 | Version: 0.2.1 Updated Endpoint URL Added new fields for all events: page URL (`su`) and page referrer (`sr`) Added new events: identify, page, products_searched, product_list_viewed, product_viewed, product_added, product_added_to_wishlist, cart_viewed, checkout_started |
|
|
112
120
|
| Adobe Analytics - Experience (BETA) | 2024-11 | Version: 0.6.0 Adding checkout event Updating inputKey for siteSection |
|
|
113
121
|
| Convert (BETA) | 2024-11 | Version: 0.3.0 Added new deduplication parameter for all events, `tid` |
|
|
114
|
-
| Iterable (BETA) | 2024-11 | Version: 0.3.0 Update connection.yaml for SDK forwarder format Move user agent and ip to global stanza |
|
|
115
122
|
| Innervate | 2024-11 | Version: 1.0.0 Updated friendly name Stable release |
|
|
116
123
|
| Snapchat - CAPI | 2024-11 | Version: 1.3.0 Added the `_scid` cookie value as `user_data.sc_cookie1` |
|
|
117
124
|
| Zeotap (BETA) | 2024-11 | Version: 0.4.0 Added new mapping for `context_country` |
|
|
@@ -140,7 +147,6 @@ previously.
|
|
|
140
147
|
| Kochava (BETA) | 2024-10 | Version: 0.3.0 Added header `Accept-Encoding: application/json` |
|
|
141
148
|
| Lytics | 2024-10 | Version: 1.1.0 Added header `Accept-Encoding: application/json` |
|
|
142
149
|
| Magellan AI | 2024-10 | Version: 1.1.0 Added header `Accept-Encoding: application/json` |
|
|
143
|
-
| Merkle | 2024-10 | Version: 1.1.0 Added header `Accept-Encoding: application/json` |
|
|
144
150
|
| MIQ (Xandr) (BETA) | 2024-10 | Version: 0.2.0 Added header `Accept-Encoding: application/json` |
|
|
145
151
|
| Mixpanel | 2024-10 | Version: 1.2.0 Added header `Accept-Encoding: application/json` |
|
|
146
152
|
| Movable Ink (BETA) | 2024-10 | Version: 0.2.0 Added header `Accept-Encoding: application/json` |
|
package/index.js
CHANGED
|
@@ -2,6 +2,12 @@ const connectionSchemas = require('./.dist/connection-schemas.json')
|
|
|
2
2
|
|
|
3
3
|
// SDK Integrations
|
|
4
4
|
|
|
5
|
+
exports['amazon-data-firehose'] = {
|
|
6
|
+
connectionTemplate: connectionSchemas.properties.amazonDataFirehose,
|
|
7
|
+
playbook: require('./.dist/amazon-data-firehose/playbook.json'),
|
|
8
|
+
metadata: require('./.dist/amazon-data-firehose/metadata.json')
|
|
9
|
+
}
|
|
10
|
+
|
|
5
11
|
exports.blob = {
|
|
6
12
|
connectionTemplate: connectionSchemas.properties.blob,
|
|
7
13
|
playbook: require('./.dist/blob/playbook.json'),
|
|
@@ -285,6 +291,12 @@ exports['media-math'] = {
|
|
|
285
291
|
metadata: require('./.dist/media-math/metadata.json')
|
|
286
292
|
}
|
|
287
293
|
|
|
294
|
+
exports['microsoft-ads'] = {
|
|
295
|
+
endpointSchema: require('./.dist/microsoft-ads/connection.json'),
|
|
296
|
+
playbook: require('./.dist/microsoft-ads/playbook.json'),
|
|
297
|
+
metadata: require('./.dist/microsoft-ads/metadata.json')
|
|
298
|
+
}
|
|
299
|
+
|
|
288
300
|
exports.merkle = {
|
|
289
301
|
endpointSchema: require('./.dist/merkle/connection.json'),
|
|
290
302
|
playbook: require('./.dist/merkle/playbook.json'),
|
|
@@ -473,6 +485,10 @@ exports['zeotap'] = {
|
|
|
473
485
|
|
|
474
486
|
exports.etags = {
|
|
475
487
|
// SDK Integrations
|
|
488
|
+
'amazon-data-firehose': {
|
|
489
|
+
playbook: require('./.dist/amazon-data-firehose/playbook.etag.json'),
|
|
490
|
+
kit: require('./.dist/amazon-data-firehose/kit.etag.json')
|
|
491
|
+
},
|
|
476
492
|
blob: {
|
|
477
493
|
playbook: require('./.dist/blob/playbook.etag.json'),
|
|
478
494
|
kit: require('./.dist/blob/kit.etag.json')
|
|
@@ -703,6 +719,11 @@ exports.etags = {
|
|
|
703
719
|
playbook: require('./.dist/merkle/playbook.etag.json'),
|
|
704
720
|
kit: require('./.dist/merkle/kit.etag.json')
|
|
705
721
|
},
|
|
722
|
+
'microsoft-ads': {
|
|
723
|
+
endpointSchema: require('./.dist/microsoft-ads/connection.etag.json'),
|
|
724
|
+
playbook: require('./.dist/microsoft-ads/playbook.etag.json'),
|
|
725
|
+
kit: require('./.dist/microsoft-ads/kit.etag.json')
|
|
726
|
+
},
|
|
706
727
|
'miq-xandr': {
|
|
707
728
|
endpointSchema: require('./.dist/miq-xandr/connection.etag.json'),
|
|
708
729
|
playbook: require('./.dist/miq-xandr/playbook.etag.json'),
|