@metarouter/ajs-starter-kit 1.0.144 → 1.0.145

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.
Files changed (117) hide show
  1. package/.dist/actioniq/kit.etag.json +1 -1
  2. package/.dist/actioniq/metadata.json +4 -0
  3. package/.dist/actioniq/playbook.etag.json +1 -1
  4. package/.dist/actioniq/playbook.json +2 -1
  5. package/.dist/adjust/kit.etag.json +1 -1
  6. package/.dist/adjust/metadata.json +4 -0
  7. package/.dist/adjust/playbook.etag.json +1 -1
  8. package/.dist/adjust/playbook.json +2 -1
  9. package/.dist/amazon-data-firehose/kit.etag.json +1 -1
  10. package/.dist/amazon-data-firehose/metadata.json +4 -0
  11. package/.dist/amazon-data-firehose/playbook.etag.json +1 -1
  12. package/.dist/amazon-data-firehose/playbook.json +3 -2
  13. package/.dist/amazon-kinesis/kit.etag.json +1 -1
  14. package/.dist/amazon-kinesis/metadata.json +4 -0
  15. package/.dist/amazon-kinesis/playbook.etag.json +1 -1
  16. package/.dist/amazon-kinesis/playbook.json +3 -2
  17. package/.dist/amplitude/kit.etag.json +1 -1
  18. package/.dist/amplitude/metadata.json +4 -0
  19. package/.dist/amplitude/playbook.etag.json +1 -1
  20. package/.dist/amplitude/playbook.json +9 -1
  21. package/.dist/blob/kit.etag.json +1 -1
  22. package/.dist/blob/metadata.json +4 -0
  23. package/.dist/blob/playbook.etag.json +1 -1
  24. package/.dist/blob/playbook.json +3 -2
  25. package/.dist/blueshift/kit.etag.json +1 -1
  26. package/.dist/blueshift/metadata.json +4 -0
  27. package/.dist/blueshift/playbook.etag.json +1 -1
  28. package/.dist/blueshift/playbook.json +3 -1
  29. package/.dist/braze/kit.etag.json +1 -1
  30. package/.dist/braze/metadata.json +4 -0
  31. package/.dist/braze/playbook.etag.json +1 -1
  32. package/.dist/braze/playbook.json +2 -1
  33. package/.dist/build-your-own/kit.etag.json +1 -1
  34. package/.dist/build-your-own/metadata.json +4 -0
  35. package/.dist/build-your-own/playbook.etag.json +1 -1
  36. package/.dist/build-your-own/playbook.json +3 -2
  37. package/.dist/clinch/kit.etag.json +1 -1
  38. package/.dist/clinch/metadata.json +4 -0
  39. package/.dist/clinch/playbook.etag.json +1 -1
  40. package/.dist/clinch/playbook.json +3 -2
  41. package/.dist/gcs/kit.etag.json +1 -1
  42. package/.dist/gcs/metadata.json +4 -0
  43. package/.dist/gcs/playbook.etag.json +1 -1
  44. package/.dist/gcs/playbook.json +3 -2
  45. package/.dist/google-ads/kit.etag.json +1 -1
  46. package/.dist/google-ads/metadata.json +4 -0
  47. package/.dist/google-ads/playbook.etag.json +1 -1
  48. package/.dist/google-ads/playbook.json +2 -1
  49. package/.dist/google-ads-audience/kit.etag.json +1 -1
  50. package/.dist/google-ads-audience/metadata.json +4 -0
  51. package/.dist/google-ads-audience/playbook.etag.json +1 -1
  52. package/.dist/google-ads-audience/playbook.json +3 -1
  53. package/.dist/google-analytics/kit.etag.json +1 -1
  54. package/.dist/google-analytics/metadata.json +4 -0
  55. package/.dist/google-analytics/playbook.etag.json +1 -1
  56. package/.dist/google-analytics/playbook.json +5 -1
  57. package/.dist/google-analytics-4-collect/kit.etag.json +1 -1
  58. package/.dist/google-analytics-4-collect/metadata.json +4 -0
  59. package/.dist/google-analytics-4-collect/playbook.etag.json +1 -1
  60. package/.dist/google-analytics-4-collect/playbook.json +10 -3
  61. package/.dist/google-cm360/kit.etag.json +1 -1
  62. package/.dist/google-cm360/metadata.json +4 -0
  63. package/.dist/google-cm360/playbook.etag.json +1 -1
  64. package/.dist/google-cm360/playbook.json +2 -1
  65. package/.dist/google-pubsub/kit.etag.json +1 -1
  66. package/.dist/google-pubsub/metadata.json +4 -0
  67. package/.dist/google-pubsub/playbook.etag.json +1 -1
  68. package/.dist/google-pubsub/playbook.json +3 -2
  69. package/.dist/impact-radius/kit.etag.json +1 -1
  70. package/.dist/impact-radius/metadata.json +4 -0
  71. package/.dist/impact-radius/playbook.etag.json +1 -1
  72. package/.dist/impact-radius/playbook.json +2 -1
  73. package/.dist/kafka/kit.etag.json +1 -1
  74. package/.dist/kafka/metadata.json +4 -0
  75. package/.dist/kafka/playbook.etag.json +1 -1
  76. package/.dist/kafka/playbook.json +3 -2
  77. package/.dist/microsoft-ads/kit.etag.json +1 -1
  78. package/.dist/perion/kit.etag.json +1 -1
  79. package/.dist/perion/metadata.json +4 -0
  80. package/.dist/perion/playbook.etag.json +1 -1
  81. package/.dist/perion/playbook.json +4 -1
  82. package/.dist/pinterest/kit.etag.json +1 -1
  83. package/.dist/pinterest/metadata.json +4 -0
  84. package/.dist/pinterest/playbook.etag.json +1 -1
  85. package/.dist/pinterest/playbook.json +6 -1
  86. package/.dist/podscribe/kit.etag.json +1 -1
  87. package/.dist/podscribe/metadata.json +4 -0
  88. package/.dist/podscribe/playbook.etag.json +1 -1
  89. package/.dist/podscribe/playbook.json +4 -3
  90. package/.dist/reddit-ads/connection.etag.json +1 -1
  91. package/.dist/reddit-ads/connection.json +10 -38
  92. package/.dist/reddit-ads/kit.etag.json +1 -1
  93. package/.dist/reddit-ads/metadata.json +5 -1
  94. package/.dist/reddit-ads/playbook.etag.json +1 -1
  95. package/.dist/reddit-ads/playbook.json +57 -41
  96. package/.dist/roomvo/kit.etag.json +1 -1
  97. package/.dist/roomvo/metadata.json +4 -0
  98. package/.dist/roomvo/playbook.etag.json +1 -1
  99. package/.dist/roomvo/playbook.json +2 -1
  100. package/.dist/s3/kit.etag.json +1 -1
  101. package/.dist/s3/metadata.json +4 -0
  102. package/.dist/s3/playbook.etag.json +1 -1
  103. package/.dist/s3/playbook.json +3 -2
  104. package/.dist/snapchat/kit.etag.json +1 -1
  105. package/.dist/snapchat/metadata.json +4 -0
  106. package/.dist/snapchat/playbook.etag.json +1 -1
  107. package/.dist/snapchat/playbook.json +2 -1
  108. package/.dist/snowflake/kit.etag.json +1 -1
  109. package/.dist/snowflake/metadata.json +4 -0
  110. package/.dist/snowflake/playbook.etag.json +1 -1
  111. package/.dist/snowflake/playbook.json +3 -2
  112. package/.dist/ttd-conversions/kit.etag.json +1 -1
  113. package/.dist/ttd-conversions/metadata.json +4 -0
  114. package/.dist/ttd-conversions/playbook.etag.json +1 -1
  115. package/.dist/ttd-conversions/playbook.json +3 -2
  116. package/README.md +55 -28
  117. package/package.json +1 -1
@@ -1 +1 @@
1
- "7a79fabf2818a78e15fad2506b8d95bc -"
1
+ "40857deb723db9f0b945ab0219339abd -"
@@ -56,6 +56,10 @@
56
56
  {
57
57
  "date": "2025-07-30T00:00:00.000Z",
58
58
  "note": "Version: 1.3.0\nUpdated Lua timestamp fallback logic to use input.timestamp"
59
+ },
60
+ {
61
+ "date": "2025-10-15T00:00:00.000Z",
62
+ "note": "Version: 1.3.1\nAdded friendly names to expressions"
59
63
  }
60
64
  ]
61
65
  }
@@ -1 +1 @@
1
- "935847964978ff5189d543a6d4e9fbf4 -"
1
+ "51aa8ea68595dfde3fd641476c1418f4 -"
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.3.0",
2
+ "version": "1.3.1",
3
3
  "global": {
4
4
  "mappings": [
5
5
  {
@@ -156,6 +156,7 @@
156
156
  "expressions": [
157
157
  {
158
158
  "lang": "lua",
159
+ "name": "Generalized Event Mappings",
159
160
  "body": "if input.event then\n local eventName = REPLACE(LOWER(input.event), \" \", \"_\")\n local results = {}\n local flatten = FLATTEN(input.properties, \"\", \"_\", 2, { array_start_index = 1 })\n results[eventName] = flatten\n return { properties = results }\nend"
160
161
  }
161
162
  ]
@@ -1 +1 @@
1
- "7e418f53509124fdf33fc5ae945f8517 -"
1
+ "90fcba6101786ab400809a974dac4cfa -"
@@ -16,6 +16,10 @@
16
16
  {
17
17
  "date": "2025-09-10T21:00:00.000Z",
18
18
  "note": "Version: 0.1.0\nBeta Version\nAdjust initial release"
19
+ },
20
+ {
21
+ "date": "2025-10-15T00:00:00.000Z",
22
+ "note": "Version: 0.1.1\nAdded friendly names to expressions"
19
23
  }
20
24
  ]
21
25
  }
@@ -1 +1 @@
1
- "bd0b0a2b7e1419512aad1a07a00098e6 -"
1
+ "ccb100bef4bf87054ef17c9a239aefc2 -"
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.1.0",
2
+ "version": "0.1.1",
3
3
  "params": [
4
4
  {
5
5
  "name": "APP_TOKEN",
@@ -42,6 +42,7 @@
42
42
  "expressions": [
43
43
  {
44
44
  "lang": "lua",
45
+ "name": "Mobile Advertising and Device IDs",
45
46
  "body": "local result = {}\n\n-- Device ID / advertisingId respectively\nif input.context.device.type == 'ios' then\n result.idfv = UPPER(input.context.device.id)\n result.idfa = input.context.device.advertisingId\nelseif input.context.device.type == 'android' then\n result.android_id = LOWER(REPLACE(input.context.device.id, \"-\", \"\"))\n result.gps_adid = input.context.device.advertisingId\nend\n\nreturn result"
46
47
  }
47
48
  ]
@@ -1 +1 @@
1
- "22896dc8b72413a36f1f738e3980576e -"
1
+ "0ef6096cf1b5d876beb6e4eb43d22785 -"
@@ -20,6 +20,10 @@
20
20
  {
21
21
  "date": "2025-04-02T00:00:00.000Z",
22
22
  "note": "Version: 1.0.0\nStable release"
23
+ },
24
+ {
25
+ "date": "2025-10-15T00:00:00.000Z",
26
+ "note": "Version: 1.0.1\nAdded friendly names to expressions"
23
27
  }
24
28
  ]
25
29
  }
@@ -1 +1 @@
1
- "87aa95cef564d0391fac99f42cd4ad55 -"
1
+ "17e07cbd48d74443a47c41766180389f -"
@@ -1,10 +1,11 @@
1
1
  {
2
- "version": "1.0.0",
2
+ "version": "1.0.1",
3
3
  "global": {
4
4
  "expressions": [
5
5
  {
6
6
  "body": "return input",
7
- "lang": "lua"
7
+ "lang": "lua",
8
+ "name": "Full Payload"
8
9
  }
9
10
  ]
10
11
  }
@@ -1 +1 @@
1
- "3ff908c24800808a76c405c3c8ef14c7 -"
1
+ "7f405880b38b7932914e5bd6e751e194 -"
@@ -16,6 +16,10 @@
16
16
  {
17
17
  "date": "2025-05-21T00:00:00.000Z",
18
18
  "note": "Version: 0.1.0\nBeta Version\nAmazon Kinesis initial release."
19
+ },
20
+ {
21
+ "date": "2025-10-15T00:00:00.000Z",
22
+ "note": "Version: 0.1.1\nAdded friendly names to expressions"
19
23
  }
20
24
  ]
21
25
  }
@@ -1 +1 @@
1
- "b369e2c36983957aec3cfe2f3c3bee4b -"
1
+ "1024a4471ea092ba1df34ac8d2af53f6 -"
@@ -1,10 +1,11 @@
1
1
  {
2
- "version": "0.1.0",
2
+ "version": "0.1.1",
3
3
  "global": {
4
4
  "expressions": [
5
5
  {
6
6
  "body": "return input",
7
- "lang": "lua"
7
+ "lang": "lua",
8
+ "name": "Full Payload"
8
9
  }
9
10
  ]
10
11
  }
@@ -1 +1 @@
1
- "f9a8b07adaac264968a5013d964471f1 -"
1
+ "a2e36e2dd5ffa23be4b91aceba5aa55d -"
@@ -56,6 +56,10 @@
56
56
  {
57
57
  "date": "2025-03-12T00:00:00.000Z",
58
58
  "note": "Version: 1.2.0\nAdded API_URL param to accommodate Amplitude's EU residency server"
59
+ },
60
+ {
61
+ "date": "2025-10-15T00:00:00.000Z",
62
+ "note": "Version: 1.2.1\nAdded friendly names to expressions"
59
63
  }
60
64
  ]
61
65
  }
@@ -1 +1 @@
1
- "c124144473be88c006d8529790bebac6 -"
1
+ "f9ca245a3aae4b37aa8b23bad0ee8cd5 -"
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.2.0",
2
+ "version": "1.2.1",
3
3
  "params": [
4
4
  {
5
5
  "name": "API_KEY",
@@ -134,6 +134,7 @@
134
134
  "expressions": [
135
135
  {
136
136
  "lang": "lua",
137
+ "name": "Click IDs and Platform",
137
138
  "body": "function getPlatform (type)\n local t = LOWER(type) or ''\n if t == 'ios' then\n return 'iOS'\n elseif t == 'android' then\n return 'Android'\n else\n return 'Web'\n end\nend\n\nreturn {\n user_properties = {\n referring_domain = SPLIT(SPLIT(input.context.page.referrer, \"//\", 2)[2], \"/\", 2)[1] or \"\",\n gclid = DECODE_URL_QUERY(input.context.page.url).gclid,\n dclid = DECODE_URL_QUERY(input.context.page.url).dclid,\n fbclid = DECODE_URL_QUERY(input.context.page.url).fbclid,\n },\n platform = getPlatform(input.context.device.type),\n}"
138
139
  }
139
140
  ]
@@ -231,6 +232,7 @@
231
232
  "expressions": [
232
233
  {
233
234
  "lang": "lua",
235
+ "name": "Click IDs and Platform",
234
236
  "body": "function getPlatform (type)\n local t = LOWER(type) or ''\n if t == 'ios' then\n return 'iOS'\n elseif t == 'android' then\n return 'Android'\n else\n return 'Web'\n end\nend\n\nreturn {\n user_properties = {\n referring_domain = SPLIT(SPLIT(input.context.page.referrer, \"//\", 2)[2], \"/\", 2)[1] or \"\",\n gclid = DECODE_URL_QUERY(input.context.page.url).gclid,\n dclid = DECODE_URL_QUERY(input.context.page.url).dclid,\n fbclid = DECODE_URL_QUERY(input.context.page.url).fbclid,\n },\n platform = getPlatform(input.context.device.type),\n}"
235
237
  }
236
238
  ]
@@ -332,6 +334,7 @@
332
334
  "expressions": [
333
335
  {
334
336
  "lang": "lua",
337
+ "name": "Click IDs and Platform",
335
338
  "body": "function getPlatform (type)\n local t = LOWER(type) or ''\n if t == 'ios' then\n return 'iOS'\n elseif t == 'android' then\n return 'Android'\n else\n return 'Web'\n end\nend\n\nreturn {\n user_properties = {\n referring_domain = SPLIT(SPLIT(input.context.page.referrer, \"//\", 2)[2], \"/\", 2)[1] or \"\",\n gclid = DECODE_URL_QUERY(input.context.page.url).gclid,\n dclid = DECODE_URL_QUERY(input.context.page.url).dclid,\n fbclid = DECODE_URL_QUERY(input.context.page.url).fbclid,\n },\n platform = getPlatform(input.context.device.type),\n}"
336
339
  }
337
340
  ]
@@ -445,6 +448,7 @@
445
448
  "expressions": [
446
449
  {
447
450
  "lang": "lua",
451
+ "name": "Click IDs and Platform",
448
452
  "body": "function getPlatform (type)\n local t = LOWER(type) or ''\n if t == 'ios' then\n return 'iOS'\n elseif t == 'android' then\n return 'Android'\n else\n return 'Web'\n end\nend\n\nreturn {\n user_properties = {\n referring_domain = SPLIT(SPLIT(input.context.page.referrer, \"//\", 2)[2], \"/\", 2)[1] or \"\",\n gclid = DECODE_URL_QUERY(input.context.page.url).gclid,\n dclid = DECODE_URL_QUERY(input.context.page.url).dclid,\n fbclid = DECODE_URL_QUERY(input.context.page.url).fbclid,\n },\n platform = getPlatform(input.context.device.type),\n}"
449
453
  }
450
454
  ]
@@ -562,6 +566,7 @@
562
566
  "expressions": [
563
567
  {
564
568
  "lang": "lua",
569
+ "name": "Click IDs and Platform",
565
570
  "body": "function getPlatform (type)\n local t = LOWER(type) or ''\n if t == 'ios' then\n return 'iOS'\n elseif t == 'android' then\n return 'Android'\n else\n return 'Web'\n end\nend\n\nreturn {\n user_properties = {\n referring_domain = SPLIT(SPLIT(input.context.page.referrer, \"//\", 2)[2], \"/\", 2)[1] or \"\",\n gclid = DECODE_URL_QUERY(input.context.page.url).gclid,\n dclid = DECODE_URL_QUERY(input.context.page.url).dclid,\n fbclid = DECODE_URL_QUERY(input.context.page.url).fbclid,\n },\n platform = getPlatform(input.context.device.type),\n}"
566
571
  }
567
572
  ]
@@ -659,6 +664,7 @@
659
664
  "expressions": [
660
665
  {
661
666
  "lang": "lua",
667
+ "name": "Cart Values, Click IDs and Platform",
662
668
  "body": "function getPlatform (type)\n local t = LOWER(type) or ''\n if t == 'ios' then\n return 'iOS'\n elseif t == 'android' then\n return 'Android'\n else\n return 'Web'\n end\nend\n\nreturn {\n event_properties = {\n total_cart_size = #input.properties.products,\n total_cart_value = SUM(MAP(input.properties.products, function (p) return p.price * (p.quantity or 1) end)),\n },\n user_properties = {\n referring_domain = SPLIT(SPLIT(input.context.page.referrer, \"//\", 2)[2], \"/\", 2)[1] or \"\",\n gclid = DECODE_URL_QUERY(input.context.page.url).gclid,\n dclid = DECODE_URL_QUERY(input.context.page.url).dclid,\n fbclid = DECODE_URL_QUERY(input.context.page.url).fbclid,\n },\n platform = getPlatform(input.context.device.type),\n}"
663
669
  }
664
670
  ]
@@ -752,6 +758,7 @@
752
758
  "expressions": [
753
759
  {
754
760
  "lang": "lua",
761
+ "name": "Order Values, Click IDs and Platform",
755
762
  "body": "function getPlatform (type)\n local t = LOWER(type) or ''\n if t == 'ios' then\n return 'iOS'\n elseif t == 'android' then\n return 'Android'\n else\n return 'Web'\n end\nend\n\nlocal props = {\n cart_id = input.properties.cart_id,\n total_cart_size = #input.properties.products,\n total_cart_value = SUM(MAP(input.properties.products, function (p) return p.price * (p.quantity or 1) end)),\n promo_code_applied = input.properties.coupon,\n order_total = input.properties.total,\n total_discounts = input.properties.discount,\n order_id = input.properties.order_id,\n total_shipping = input.properties.shipping,\n total_tax = input.properties.tax,\n}\n\nprops['$revenue'] = TO_FLOAT(input.properties.revenue)\n\nreturn {\n event_properties = props,\n user_properties = {\n referring_domain = SPLIT(SPLIT(input.context.page.referrer, \"//\", 2)[2], \"/\", 2)[1] or \"\",\n gclid = DECODE_URL_QUERY(input.context.page.url).gclid,\n dclid = DECODE_URL_QUERY(input.context.page.url).dclid,\n fbclid = DECODE_URL_QUERY(input.context.page.url).fbclid,\n },\n platform = getPlatform(input.context.device.type),\n}"
756
763
  }
757
764
  ]
@@ -844,6 +851,7 @@
844
851
  "expressions": [
845
852
  {
846
853
  "lang": "lua",
854
+ "name": "Click IDs and Platform",
847
855
  "body": "function getPlatform (type)\n local t = LOWER(type) or ''\n if t == 'ios' then\n return 'iOS'\n elseif t == 'android' then\n return 'Android'\n else\n return 'Web'\n end\nend\n\nlocal props = input.properties or {}\n\nreturn {\n event_properties = props,\n user_properties = {\n referring_domain = SPLIT(SPLIT(input.context.page.referrer, \"//\", 2)[2], \"/\", 2)[1] or \"\",\n gclid = DECODE_URL_QUERY(input.context.page.url).gclid,\n dclid = DECODE_URL_QUERY(input.context.page.url).dclid,\n fbclid = DECODE_URL_QUERY(input.context.page.url).fbclid,\n },\n platform = getPlatform(input.context.device.type),\n}"
848
856
  }
849
857
  ]
@@ -1 +1 @@
1
- "1168eda4e420207364e3671c4059083e -"
1
+ "fb41dd1bfdbb23bca00baa5777379fd1 -"
@@ -44,6 +44,10 @@
44
44
  {
45
45
  "date": "2025-10-08T00:00:00.000Z",
46
46
  "note": "Version: 1.2.0\nAdded Managed Identity authentication."
47
+ },
48
+ {
49
+ "date": "2025-10-15T00:00:00.000Z",
50
+ "note": "Version: 1.2.1\nAdded friendly names to expressions"
47
51
  }
48
52
  ]
49
53
  }
@@ -1 +1 @@
1
- "2ccdce30c247dfe8fbbca0e1f129aae5 -"
1
+ "a87f00ebcfe07b76ea247c05f60618ba -"
@@ -1,10 +1,11 @@
1
1
  {
2
- "version": "1.2.0",
2
+ "version": "1.2.1",
3
3
  "global": {
4
4
  "expressions": [
5
5
  {
6
6
  "body": "return input",
7
- "lang": "lua"
7
+ "lang": "lua",
8
+ "name": "Full Payload"
8
9
  }
9
10
  ]
10
11
  }
@@ -1 +1 @@
1
- "783d7dc5db2e18fc46e2532dd86042af -"
1
+ "60af6d421ed89984520e68508c4f8a6d -"
@@ -60,6 +60,10 @@
60
60
  {
61
61
  "date": "2025-07-30T00:00:00.000Z",
62
62
  "note": "Version: 1.1.0\nReplaced context.traits with traits."
63
+ },
64
+ {
65
+ "date": "2025-10-15T00:00:00.000Z",
66
+ "note": "Version: 1.1.1\nAdded friendly names to expressions"
63
67
  }
64
68
  ]
65
69
  }
@@ -1 +1 @@
1
- "975d6d47961a3c031d65d57fc5726e7e -"
1
+ "63754161071ceae4120de9fcfae0e63e -"
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.1.0",
2
+ "version": "1.1.1",
3
3
  "global": {
4
4
  "enrichments": [
5
5
  {
@@ -72,6 +72,7 @@
72
72
  "expressions": [
73
73
  {
74
74
  "lang": "lua",
75
+ "name": "Event Properties",
75
76
  "body": "return input.properties"
76
77
  }
77
78
  ]
@@ -459,6 +460,7 @@
459
460
  "expressions": [
460
461
  {
461
462
  "lang": "lua",
463
+ "name": "Event Properties",
462
464
  "body": "return input.properties"
463
465
  }
464
466
  ]
@@ -1 +1 @@
1
- "c65c0077694c72663b1cb91f99f1d4f8 -"
1
+ "584349760b9e93c73110248076b63596 -"
@@ -32,6 +32,10 @@
32
32
  {
33
33
  "date": "2023-12-13T00:00:00.000Z",
34
34
  "note": "Marked as stable version: 1.0.0"
35
+ },
36
+ {
37
+ "date": "2025-10-15T00:00:00.000Z",
38
+ "note": "Version: 1.0.1\nAdded friendly names to expressions"
35
39
  }
36
40
  ]
37
41
  }
@@ -1 +1 @@
1
- "8f0ef47905c0347b83f339f898733d31 -"
1
+ "877c3fc7f934e18a43de828222435adb -"
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.0.0",
2
+ "version": "1.0.1",
3
3
  "global": {},
4
4
  "eventSpecific": {
5
5
  "identify": {
@@ -257,6 +257,7 @@
257
257
  "expressions": [
258
258
  {
259
259
  "lang": "lua",
260
+ "name": "Complete Order Summary",
260
261
  "body": "local currency = UPPER(input.properties.currency)\nlocal products = MAP(\n input.properties.products,\n function (p)\n return {\n external_id=input.userId,\n product_id=p.product_id,\n currency=currency,\n price=TO_FLOAT(p.price),\n quantity=TO_FLOAT(p.quantity) or 1,\n time = TO_DATE_TIME(input.timestamp, {outputFormat = \"2006-01-02T15:04:05Z\"}),\n properties = {\n name = p.name,\n category = p.category,\n sku = p.sku,\n image_url = p.image_url,\n url = p.url,\n }\n }\n end\n )\n\nreturn {\n attributes = {{\n external_id = input.userId,\n }},\n events = {{\n external_id = input.userId,\n name = 'order_completed',\n time = TO_DATE_TIME(input.timestamp, {outputFormat = \"2006-01-02T15:04:05Z\"}),\n properties = {\n checkout_id = input.properties.checkout_id,\n revenue = input.properties.revenue,\n total = input.properties.total,\n coupon = input.properties.coupon,\n shipping = input.properties.shipping,\n affiliation = input.properties.affiliation,\n discount = input.properties.discount,\n currency = currency,\n tax = input.properties.tax,\n order_id = input.properties.order_id,\n }\n }},\n purchases = products,\n}"
261
262
  }
262
263
  ]
@@ -1 +1 @@
1
- "8697cf95b801eb1aec212760633e7f1e -"
1
+ "347f3dc898ea89bdf57aae2071d2345e -"
@@ -20,6 +20,10 @@
20
20
  {
21
21
  "date": "2024-08-07T00:00:00.000Z",
22
22
  "note": "Version: 1.0.0\nStable release"
23
+ },
24
+ {
25
+ "date": "2025-10-15T00:00:00.000Z",
26
+ "note": "Version: 1.0.1\nAdded friendly names to expressions"
23
27
  }
24
28
  ]
25
29
  }
@@ -1 +1 @@
1
- "87aa95cef564d0391fac99f42cd4ad55 -"
1
+ "17e07cbd48d74443a47c41766180389f -"
@@ -1,10 +1,11 @@
1
1
  {
2
- "version": "1.0.0",
2
+ "version": "1.0.1",
3
3
  "global": {
4
4
  "expressions": [
5
5
  {
6
6
  "body": "return input",
7
- "lang": "lua"
7
+ "lang": "lua",
8
+ "name": "Full Payload"
8
9
  }
9
10
  ]
10
11
  }
@@ -1 +1 @@
1
- "f5423f309838006437c96d9d5cd87981 -"
1
+ "48bab887cfe7645e26abf0aa0d0b0e23 -"
@@ -36,6 +36,10 @@
36
36
  {
37
37
  "date": "2025-07-30T00:00:00.000Z",
38
38
  "note": "Version: 1.3.0\nReplaced context.traits with traits."
39
+ },
40
+ {
41
+ "date": "2025-10-15T00:00:00.000Z",
42
+ "note": "Version: 1.3.1\nAdded friendly names to expressions"
39
43
  }
40
44
  ]
41
45
  }
@@ -1 +1 @@
1
- "761839ff7e5b9147e6e4653c6ad98149 -"
1
+ "bc899e0f816673823236a533451397a3 -"
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.3.0",
2
+ "version": "1.3.1",
3
3
  "params": [
4
4
  {
5
5
  "name": "CLIENT_ID",
@@ -89,7 +89,8 @@
89
89
  "expressions": [
90
90
  {
91
91
  "body": "return input.context.providers.clinch or {}",
92
- "lang": "lua"
92
+ "lang": "lua",
93
+ "name": "Clinch Click and Cookie ID"
93
94
  }
94
95
  ]
95
96
  },
@@ -1 +1 @@
1
- "e6b9d2b120a688e41d2fe6f130128894 -"
1
+ "aba9533defe19a6feea2a6f14d9b15ab -"
@@ -28,6 +28,10 @@
28
28
  {
29
29
  "date": "2024-02-13T00:00:00.000Z",
30
30
  "note": "Removed Identity"
31
+ },
32
+ {
33
+ "date": "2025-10-15T00:00:00.000Z",
34
+ "note": "Version: 0.2.1\nAdded friendly names to expressions"
31
35
  }
32
36
  ]
33
37
  }
@@ -1 +1 @@
1
- "2f96353725e4cd845fe0ae3025f691ae -"
1
+ "687cc206e8f52d2bfc94657d957db708 -"
@@ -1,10 +1,11 @@
1
1
  {
2
- "version": "0.2.0",
2
+ "version": "0.2.1",
3
3
  "global": {
4
4
  "expressions": [
5
5
  {
6
6
  "body": "return input",
7
- "lang": "lua"
7
+ "lang": "lua",
8
+ "name": "Full Payload"
8
9
  }
9
10
  ]
10
11
  }
@@ -1 +1 @@
1
- "e9999a25738864bdc52897c992623d65 -"
1
+ "c625bbb5aaa6e15791c55a7ef4affa95 -"
@@ -44,6 +44,10 @@
44
44
  {
45
45
  "date": "2024-10-23T00:00:00.000Z",
46
46
  "note": "Version: 1.3.0\nAdded header `Accept-Encoding: application/json`"
47
+ },
48
+ {
49
+ "date": "2025-10-15T00:00:00.000Z",
50
+ "note": "Version: 1.3.1\nAdded friendly names to expressions"
47
51
  }
48
52
  ]
49
53
  }
@@ -1 +1 @@
1
- "9002c5ef875604a1a9af605d5aa0f81c -"
1
+ "b002eb5bfd4ab0a8e0807c1c840f6538 -"
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.3.0",
2
+ "version": "1.3.1",
3
3
  "params": [
4
4
  {
5
5
  "name": "CUSTOMER_ID",
@@ -22,6 +22,7 @@
22
22
  "expressions": [
23
23
  {
24
24
  "lang": "lua",
25
+ "name": "Click IDs",
25
26
  "body": "local click_ids = {}\nif input.context.providers.googleGtag.data.wbraid then\n click_ids.wbraid = SPLIT(input.context.providers.googleGtag.data.wbraid,\".\",3)[3]\nelseif input.context.providers.googleGtag.data.gbraid then\n click_ids.gbraid = SPLIT(input.context.providers.googleGtag.data.gbraid,\".\",3)[3]\nend\nreturn click_ids"
26
27
  }
27
28
  ],
@@ -1 +1 @@
1
- "0c72af25ddbb6118dd62b99db2a83ad9 -"
1
+ "af605cb5321b0179c8ba786736a6b4bd -"
@@ -20,6 +20,10 @@
20
20
  {
21
21
  "date": "2024-06-26T00:00:00.000Z",
22
22
  "note": "Renaming to Google AJSID Segments"
23
+ },
24
+ {
25
+ "date": "2025-10-15T00:00:00.000Z",
26
+ "note": "Version: 0.1.1\nAdded friendly names to expressions"
23
27
  }
24
28
  ]
25
29
  }
@@ -1 +1 @@
1
- "b50a7f40db43c66953cc042623bbead0 -"
1
+ "2f9857bf90f6a9032f5d3367a5a1860d -"
@@ -1,9 +1,10 @@
1
1
  {
2
- "version": "0.1.0",
2
+ "version": "0.1.1",
3
3
  "global": {
4
4
  "expressions": [
5
5
  {
6
6
  "lang": "lua",
7
+ "name": "User Identifiers and Consent",
7
8
  "body": "local data = {\n userIdentifiers = {\n {\n thirdPartyUserId = input.anonymousId\n }\n },\n consent = {\n adUserData = \"GRANTED\",\n adPersonalization = \"GRANTED\"\n }\n}\nreturn data"
8
9
  }
9
10
  ]
@@ -13,6 +14,7 @@
13
14
  "expressions": [
14
15
  {
15
16
  "lang": "lua",
17
+ "name": "Complete Order Summary",
16
18
  "body": "local DEFAULT_COUNTRY_CODE = \"US\"\nlocal DEFAULT_CURRENCY_CODE = \"USD\"\nlocal DEFAULT_LANGUAGE_CODE = \"en\"\nif input.properties.products == nil then\n return\nend\nif input.properties.products[1] == nil then\n return\nend\nlocal currencyCode = DEFAULT_CURRENCY_CODE\nif input.properties.currency ~= nil then\n currencyCode = input.properties.currency\nend\n-- Code formats https://developers.google.com/google-ads/api/data/codes-formats#country-codes\nfunction splitLocale(inputText)\n if inputText == nil then\n return DEFAULT_LANGUAGE_CODE, DEFAULT_COUNTRY_CODE\n end\n local parts = {}\n for part in string.gmatch(inputText, \"([^%-]+)\") do\n table.insert(parts, part)\n end\n -- Assign language and country with defaults\n local language = parts[1] or DEFAULT_LANGUAGE_CODE\n local country = parts[2] or DEFAULT_COUNTRY_CODE\n return language, country\nend\nlocal languageCode, countryCode = splitLocale(input.context.locale)\nlocal data = {\n transactionAttribute = {\n transactionDateTime = TO_DATE_TIME(input.timestamp, {outputFormat = \"2006-01-02 15:04:05\"}),\n transactionAmountMicros = input.properties.total * 1000000,\n currencyCode = currencyCode,\n orderId = tostring(input.properties.order_id),\n itemAttribute = {\n itemId = input.properties.products[1].product_id,\n countryCode = countryCode,\n languageCode = languageCode,\n quantity = input.properties.products[1].quantity\n }\n }\n}\nreturn data"
17
19
  }
18
20
  ]
@@ -1 +1 @@
1
- "690010f1a6eb663c398e5fe8ecef4503 -"
1
+ "ff9ae2e6ea75b1881443d7b9e4c056bf -"
@@ -32,6 +32,10 @@
32
32
  {
33
33
  "date": "2024-10-09T00:00:00.000Z",
34
34
  "note": "Deprecating kit"
35
+ },
36
+ {
37
+ "date": "2025-10-15T00:00:00.000Z",
38
+ "note": "Version: 1.0.1\nAdded friendly names to expressions"
35
39
  }
36
40
  ]
37
41
  }
@@ -1 +1 @@
1
- "e427e689a1d76efc0839059f60808c7c -"
1
+ "e6e7ca005bfb8a571e39bb9748fd3d33 -"
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.0.0",
2
+ "version": "1.0.1",
3
3
  "params": [
4
4
  {
5
5
  "name": "TRACKING_ID",
@@ -66,6 +66,7 @@
66
66
  "expressions": [
67
67
  {
68
68
  "lang": "lua",
69
+ "name": "Event Category, Action and Host",
69
70
  "body": "local host = input.context.page.url:match('^%w+://([^/]+)')\nlocal event_category = null\nlocal event_action = null\n\nif input.type == \"track\" then\n event_category = \"track\"\n event_action = input.event\nend\n\nreturn {\n ec = event_category,\n ea = event_action,\n dh = host,\n z = math.random(100000000, 999999999)\n}"
70
71
  }
71
72
  ]
@@ -103,6 +104,7 @@
103
104
  "expressions": [
104
105
  {
105
106
  "lang": "lua",
107
+ "name": "Product Properties",
106
108
  "body": "local keyMappings = {\n product_id = 'id',\n name = 'nm',\n category = 'ca',\n brand = 'br',\n price = 'pr',\n quantity = 'qt'\n}\nlocal results = {}\nfor inputIndex, product in pairs(input.properties.products) do\n for inputKey, productVal in pairs(product) do\n local outputKey = keyMappings[inputKey]\n if outputKey then\n local outputIndex = inputIndex\n local resultKey = 'pr' .. outputIndex .. outputKey\n if inputKey == \"price\" then\n results[resultKey] = TO_FLOAT(productVal)\n elseif inputKey == \"quantity\" then\n results[resultKey] = TO_TRUNCATED_INT(productVal)\n else\n results[resultKey] = productVal\n end\n end\n end\nend\nreturn results"
107
109
  }
108
110
  ]
@@ -215,6 +217,7 @@
215
217
  "expressions": [
216
218
  {
217
219
  "lang": "lua",
220
+ "name": "Product Properties",
218
221
  "body": "local keyMappings = {\n product_id = 'id',\n name = 'nm',\n category = 'ca',\n brand = 'br',\n price = 'pr',\n quantity = 'qt'\n}\nlocal results = {}\nfor inputIndex, product in pairs(input.properties.products) do\n for inputKey, productVal in pairs(product) do\n local outputKey = keyMappings[inputKey]\n if outputKey then\n local outputIndex = inputIndex\n local resultKey = 'pr' .. outputIndex .. outputKey\n if inputKey == \"price\" then\n results[resultKey] = TO_FLOAT(productVal)\n elseif inputKey == \"quantity\" then\n results[resultKey] = TO_TRUNCATED_INT(productVal)\n else\n results[resultKey] = productVal\n end\n end\n end\nend\nreturn results"
219
222
  }
220
223
  ]
@@ -280,6 +283,7 @@
280
283
  "expressions": [
281
284
  {
282
285
  "lang": "lua",
286
+ "name": "Product Properties",
283
287
  "body": "local keyMappings = {\n product_id = 'id',\n name = 'nm',\n category = 'ca',\n brand = 'br',\n price = 'pr',\n quantity = 'qt'\n}\nlocal results = {}\nfor inputIndex, product in pairs(input.properties.products) do\n for inputKey, productVal in pairs(product) do\n local outputKey = keyMappings[inputKey]\n if outputKey then\n local outputIndex = inputIndex\n local resultKey = 'pr' .. outputIndex .. outputKey\n if inputKey == \"price\" then\n results[resultKey] = TO_FLOAT(productVal)\n elseif inputKey == \"quantity\" then\n results[resultKey] = TO_TRUNCATED_INT(productVal)\n else\n results[resultKey] = productVal\n end\n end\n end\nend\nreturn results"
284
288
  }
285
289
  ]
@@ -1 +1 @@
1
- "aa90783b39a41fa9ef6fe3dcf1bd321d -"
1
+ "0a9370414fd96ea1c46f24f11caf3a25 -"
@@ -32,6 +32,10 @@
32
32
  {
33
33
  "date": "2025-08-20T00:00:00.000Z",
34
34
  "note": "Version: 1.0.0\nStable Release"
35
+ },
36
+ {
37
+ "date": "2025-10-15T00:00:00.000Z",
38
+ "note": "Version: 1.0.1\nAdded friendly names to expressions"
35
39
  }
36
40
  ]
37
41
  }
@@ -1 +1 @@
1
- "458d3b63fe9d8a1892df9decafb0e539 -"
1
+ "4ef315aa0477c7adb62b0a427fee6656 -"