@segment/action-destinations 3.77.1-alpha.0 → 3.77.1-alpha.4

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 (94) hide show
  1. package/dist/destinations/amplitude/index.js +10 -2
  2. package/dist/destinations/amplitude/index.js.map +1 -1
  3. package/dist/destinations/amplitude/logEvent/generated-types.d.ts +0 -1
  4. package/dist/destinations/amplitude/logEvent/index.d.ts +1 -1
  5. package/dist/destinations/amplitude/logEvent/index.js +1 -30
  6. package/dist/destinations/amplitude/logEvent/index.js.map +1 -1
  7. package/dist/destinations/amplitude/logPurchase/generated-types.d.ts +64 -0
  8. package/dist/destinations/amplitude/logPurchase/generated-types.js +3 -0
  9. package/dist/destinations/amplitude/logPurchase/generated-types.js.map +1 -0
  10. package/dist/destinations/amplitude/logPurchase/index.d.ts +13 -0
  11. package/dist/destinations/amplitude/logPurchase/index.js +197 -0
  12. package/dist/destinations/amplitude/logPurchase/index.js.map +1 -0
  13. package/dist/destinations/google-analytics-4/addPaymentInfo/generated-types.d.ts +1 -0
  14. package/dist/destinations/google-analytics-4/addPaymentInfo/index.js +5 -20
  15. package/dist/destinations/google-analytics-4/addPaymentInfo/index.js.map +1 -1
  16. package/dist/destinations/google-analytics-4/addToCart/generated-types.d.ts +1 -0
  17. package/dist/destinations/google-analytics-4/addToCart/index.js +4 -15
  18. package/dist/destinations/google-analytics-4/addToCart/index.js.map +1 -1
  19. package/dist/destinations/google-analytics-4/addToWishlist/generated-types.d.ts +1 -0
  20. package/dist/destinations/google-analytics-4/addToWishlist/index.js +5 -21
  21. package/dist/destinations/google-analytics-4/addToWishlist/index.js.map +1 -1
  22. package/dist/destinations/google-analytics-4/beginCheckout/generated-types.d.ts +1 -0
  23. package/dist/destinations/google-analytics-4/beginCheckout/index.js +4 -15
  24. package/dist/destinations/google-analytics-4/beginCheckout/index.js.map +1 -1
  25. package/dist/destinations/google-analytics-4/customEvent/generated-types.d.ts +1 -0
  26. package/dist/destinations/google-analytics-4/customEvent/index.js +4 -1
  27. package/dist/destinations/google-analytics-4/customEvent/index.js.map +1 -1
  28. package/dist/destinations/google-analytics-4/ga4-functions.d.ts +6 -0
  29. package/dist/destinations/google-analytics-4/ga4-functions.js +68 -1
  30. package/dist/destinations/google-analytics-4/ga4-functions.js.map +1 -1
  31. package/dist/destinations/google-analytics-4/ga4-properties.d.ts +1 -0
  32. package/dist/destinations/google-analytics-4/ga4-properties.js +13 -1
  33. package/dist/destinations/google-analytics-4/ga4-properties.js.map +1 -1
  34. package/dist/destinations/google-analytics-4/generateLead/generated-types.d.ts +1 -0
  35. package/dist/destinations/google-analytics-4/generateLead/index.js +3 -1
  36. package/dist/destinations/google-analytics-4/generateLead/index.js.map +1 -1
  37. package/dist/destinations/google-analytics-4/login/generated-types.d.ts +1 -0
  38. package/dist/destinations/google-analytics-4/login/index.js +4 -1
  39. package/dist/destinations/google-analytics-4/login/index.js.map +1 -1
  40. package/dist/destinations/google-analytics-4/pageView/generated-types.d.ts +1 -0
  41. package/dist/destinations/google-analytics-4/pageView/index.js +4 -1
  42. package/dist/destinations/google-analytics-4/pageView/index.js.map +1 -1
  43. package/dist/destinations/google-analytics-4/purchase/generated-types.d.ts +1 -0
  44. package/dist/destinations/google-analytics-4/purchase/index.js +4 -15
  45. package/dist/destinations/google-analytics-4/purchase/index.js.map +1 -1
  46. package/dist/destinations/google-analytics-4/refund/generated-types.d.ts +1 -0
  47. package/dist/destinations/google-analytics-4/refund/index.js +5 -21
  48. package/dist/destinations/google-analytics-4/refund/index.js.map +1 -1
  49. package/dist/destinations/google-analytics-4/removeFromCart/generated-types.d.ts +1 -0
  50. package/dist/destinations/google-analytics-4/removeFromCart/index.js +5 -21
  51. package/dist/destinations/google-analytics-4/removeFromCart/index.js.map +1 -1
  52. package/dist/destinations/google-analytics-4/search/generated-types.d.ts +1 -0
  53. package/dist/destinations/google-analytics-4/search/index.js +4 -1
  54. package/dist/destinations/google-analytics-4/search/index.js.map +1 -1
  55. package/dist/destinations/google-analytics-4/selectItem/generated-types.d.ts +1 -0
  56. package/dist/destinations/google-analytics-4/selectItem/index.js +4 -15
  57. package/dist/destinations/google-analytics-4/selectItem/index.js.map +1 -1
  58. package/dist/destinations/google-analytics-4/selectPromotion/generated-types.d.ts +1 -0
  59. package/dist/destinations/google-analytics-4/selectPromotion/index.js +4 -18
  60. package/dist/destinations/google-analytics-4/selectPromotion/index.js.map +1 -1
  61. package/dist/destinations/google-analytics-4/signUp/generated-types.d.ts +1 -0
  62. package/dist/destinations/google-analytics-4/signUp/index.js +4 -1
  63. package/dist/destinations/google-analytics-4/signUp/index.js.map +1 -1
  64. package/dist/destinations/google-analytics-4/viewCart/generated-types.d.ts +1 -0
  65. package/dist/destinations/google-analytics-4/viewCart/index.js +5 -21
  66. package/dist/destinations/google-analytics-4/viewCart/index.js.map +1 -1
  67. package/dist/destinations/google-analytics-4/viewItem/generated-types.d.ts +1 -0
  68. package/dist/destinations/google-analytics-4/viewItem/index.js +4 -27
  69. package/dist/destinations/google-analytics-4/viewItem/index.js.map +1 -1
  70. package/dist/destinations/google-analytics-4/viewItemList/generated-types.d.ts +1 -0
  71. package/dist/destinations/google-analytics-4/viewItemList/index.js +4 -15
  72. package/dist/destinations/google-analytics-4/viewItemList/index.js.map +1 -1
  73. package/dist/destinations/google-analytics-4/viewPromotion/generated-types.d.ts +1 -0
  74. package/dist/destinations/google-analytics-4/viewPromotion/index.js +4 -15
  75. package/dist/destinations/google-analytics-4/viewPromotion/index.js.map +1 -1
  76. package/dist/destinations/google-sheets/postSheet/index.js +4 -4
  77. package/dist/destinations/google-sheets/postSheet/index.js.map +1 -1
  78. package/dist/destinations/google-sheets/postSheet/operations.js +3 -3
  79. package/dist/destinations/google-sheets/postSheet/operations.js.map +1 -1
  80. package/dist/destinations/personas-messaging-twilio/generated-types.d.ts +1 -0
  81. package/dist/destinations/personas-messaging-twilio/index.js +10 -2
  82. package/dist/destinations/personas-messaging-twilio/index.js.map +1 -1
  83. package/dist/destinations/personas-messaging-twilio/sendSms/index.js +3 -1
  84. package/dist/destinations/personas-messaging-twilio/sendSms/index.js.map +1 -1
  85. package/dist/destinations/salesforce/lead/index.js +7 -0
  86. package/dist/destinations/salesforce/lead/index.js.map +1 -1
  87. package/dist/destinations/salesforce/sf-operations.d.ts +1 -1
  88. package/dist/destinations/salesforce/sf-operations.js +0 -3
  89. package/dist/destinations/salesforce/sf-operations.js.map +1 -1
  90. package/dist/destinations/salesforce/sf-utils.js +4 -6
  91. package/dist/destinations/salesforce/sf-utils.js.map +1 -1
  92. package/dist/destinations/snap-conversions-api/snap-capi-properties.js +1 -1
  93. package/dist/destinations/snap-conversions-api/snap-capi-properties.js.map +1 -1
  94. package/package.json +4 -4
@@ -8,14 +8,21 @@ const identifyUser_1 = __importDefault(require("./identifyUser"));
8
8
  const logEvent_1 = __importDefault(require("./logEvent"));
9
9
  const mapUser_1 = __importDefault(require("./mapUser"));
10
10
  const groupIdentifyUser_1 = __importDefault(require("./groupIdentifyUser"));
11
+ const logPurchase_1 = __importDefault(require("./logPurchase"));
11
12
  const regional_endpoints_1 = require("./regional-endpoints");
12
13
  const presets = [
13
14
  {
14
15
  name: 'Track Calls',
15
- subscribe: 'type = "track"',
16
+ subscribe: 'type = "track" and event != "Order Completed"',
16
17
  partnerAction: 'logEvent',
17
18
  mapping: actions_core_1.defaultValues(logEvent_1.default.fields)
18
19
  },
20
+ {
21
+ name: 'Track Calls',
22
+ subscribe: 'type = "track" and event = "Order Completed"',
23
+ partnerAction: 'logPurchase',
24
+ mapping: actions_core_1.defaultValues(logPurchase_1.default.fields)
25
+ },
19
26
  {
20
27
  name: 'Page Calls',
21
28
  subscribe: 'type = "page"',
@@ -111,7 +118,8 @@ const destination = {
111
118
  logEvent: logEvent_1.default,
112
119
  identifyUser: identifyUser_1.default,
113
120
  mapUser: mapUser_1.default,
114
- groupIdentifyUser: groupIdentifyUser_1.default
121
+ groupIdentifyUser: groupIdentifyUser_1.default,
122
+ logPurchase: logPurchase_1.default
115
123
  }
116
124
  };
117
125
  exports.default = destination;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/amplitude/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/amplitude/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  export interface Payload {
2
- trackRevenuePerProduct?: boolean;
3
2
  user_id?: string | null;
4
3
  device_id?: string;
5
4
  event_type: string;
@@ -1,7 +1,7 @@
1
1
  import type { ActionDefinition } from '@segment/actions-core';
2
2
  import type { Settings } from '../generated-types';
3
3
  import type { Payload } from './generated-types';
4
- export interface AmplitudeEvent extends Omit<Payload, 'products' | 'trackRevenuePerProduct' | 'time' | 'session_id'> {
4
+ export interface AmplitudeEvent extends Omit<Payload, 'products' | 'time' | 'session_id'> {
5
5
  library?: string;
6
6
  time?: number;
7
7
  session_id?: number;
@@ -12,29 +12,11 @@ const merge_user_properties_1 = require("../merge-user-properties");
12
12
  const user_agent_1 = require("../user-agent");
13
13
  const regional_endpoints_1 = require("../regional-endpoints");
14
14
  const revenueKeys = ['revenue', 'price', 'productId', 'quantity', 'revenueType'];
15
- function getRevenueProperties(payload) {
16
- if (typeof payload.revenue !== 'number') {
17
- return {};
18
- }
19
- return {
20
- revenue: payload.revenue,
21
- revenueType: payload.revenueType ?? 'Purchase',
22
- quantity: typeof payload.quantity === 'number' ? Math.round(payload.quantity) : undefined,
23
- price: payload.price,
24
- productId: payload.productId
25
- };
26
- }
27
15
  const action = {
28
16
  title: 'Log Event',
29
17
  description: 'Send an event to Amplitude.',
30
18
  defaultSubscription: 'type = "track"',
31
19
  fields: {
32
- trackRevenuePerProduct: {
33
- label: 'Track Revenue Per Product',
34
- description: 'When enabled, track revenue with each product within the event. When disabled, track total revenue once for the event.',
35
- type: 'boolean',
36
- default: false
37
- },
38
20
  ...event_schema_1.eventSchema,
39
21
  products: {
40
22
  label: 'Products',
@@ -142,7 +124,7 @@ const action = {
142
124
  }
143
125
  },
144
126
  perform: (request, { payload, settings }) => {
145
- const { products = [], trackRevenuePerProduct, time, session_id, userAgent, userAgentParsing, utm_properties, referrer, min_id_length, library, ...rest } = actions_core_1.omit(payload, revenueKeys);
127
+ const { time, session_id, userAgent, userAgentParsing, utm_properties, referrer, min_id_length, library, ...rest } = actions_core_1.omit(payload, revenueKeys);
146
128
  const properties = rest;
147
129
  let options;
148
130
  if (properties.platform) {
@@ -168,20 +150,9 @@ const action = {
168
150
  {
169
151
  ...(userAgentParsing && user_agent_1.parseUserAgentProperties(userAgent)),
170
152
  ...actions_core_1.removeUndefined(properties),
171
- ...(products.length && trackRevenuePerProduct ? {} : getRevenueProperties(payload)),
172
153
  library: 'segment'
173
154
  }
174
155
  ];
175
- for (const product of products) {
176
- events.push({
177
- ...properties,
178
- ...(trackRevenuePerProduct ? getRevenueProperties(product) : {}),
179
- event_properties: product,
180
- event_type: 'Product Purchased',
181
- insert_id: properties.insert_id ? `${properties.insert_id}-${events.length + 1}` : undefined,
182
- library: 'segment'
183
- });
184
- }
185
156
  const endpoint = regional_endpoints_1.getEndpointByRegion(payload.use_batch_endpoint ? 'batch' : 'httpapi', settings.endpoint);
186
157
  return request(endpoint, {
187
158
  method: 'post',
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/amplitude/logEvent/index.ts"],"names":[],"mappings":";;;;;AAAA,wDAA6D;AAC7D,+DAAsC;AACtC,kDAA6C;AAI7C,gCAA6C;AAC7C,0CAAqD;AACrD,oEAA8D;AAC9D,8CAAwD;AACxD,8DAA2D;AAW3D,MAAM,WAAW,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,CAAC,CAAA;AAUhF,SAAS,oBAAoB,CAAC,OAAqB;IACjD,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE;QACvC,OAAO,EAAE,CAAA;KACV;IAED,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,UAAU;QAC9C,QAAQ,EAAE,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;QACzF,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAA;AACH,CAAC;AAED,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,WAAW;IAClB,WAAW,EAAE,6BAA6B;IAC1C,mBAAmB,EAAE,gBAAgB;IACrC,MAAM,EAAE;QACN,sBAAsB,EAAE;YACtB,KAAK,EAAE,2BAA2B;YAClC,WAAW,EACT,wHAAwH;YAC1H,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK;SACf;QACD,GAAG,0BAAW;QACd,QAAQ,EAAE;YACR,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,iCAAiC;YAC9C,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE;gBACV,KAAK,EAAE;oBACL,KAAK,EAAE,OAAO;oBACd,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,+IAA+I;iBAClJ;gBACD,QAAQ,EAAE;oBACR,KAAK,EAAE,UAAU;oBACjB,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,qEAAqE;iBACnF;gBACD,OAAO,EAAE;oBACP,KAAK,EAAE,SAAS;oBAChB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,mMAAmM;iBACtM;gBACD,SAAS,EAAE;oBACT,KAAK,EAAE,YAAY;oBACnB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,sGAAsG;iBACzG;gBACD,WAAW,EAAE;oBACX,KAAK,EAAE,cAAc;oBACrB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,4GAA4G;iBAC/G;aACF;YACD,OAAO,EAAE;gBACP,OAAO,EAAE,uBAAuB;aACjC;SACF;QACD,kBAAkB,EAAE;YAClB,KAAK,EAAE,oBAAoB;YAC3B,WAAW,EACT,mVAAmV;YACrV,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK;SACf;QACD,SAAS,EAAE;YACT,KAAK,EAAE,YAAY;YACnB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,iDAAiD;YAC9D,OAAO,EAAE;gBACP,OAAO,EAAE,qBAAqB;aAC/B;SACF;QACD,gBAAgB,EAAE;YAChB,KAAK,EAAE,oBAAoB;YAC3B,IAAI,EAAE,SAAS;YACf,WAAW,EACT,4JAA4J;YAC9J,OAAO,EAAE,IAAI;SACd;QACD,cAAc,EAAE;YACd,KAAK,EAAE,gBAAgB;YACvB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,yBAAyB;YACtC,UAAU,EAAE;gBACV,UAAU,EAAE;oBACV,KAAK,EAAE,YAAY;oBACnB,IAAI,EAAE,QAAQ;iBACf;gBACD,UAAU,EAAE;oBACV,KAAK,EAAE,YAAY;oBACnB,IAAI,EAAE,QAAQ;iBACf;gBACD,YAAY,EAAE;oBACZ,KAAK,EAAE,cAAc;oBACrB,IAAI,EAAE,QAAQ;iBACf;gBACD,QAAQ,EAAE;oBACR,KAAK,EAAE,UAAU;oBACjB,IAAI,EAAE,QAAQ;iBACf;gBACD,WAAW,EAAE;oBACX,KAAK,EAAE,aAAa;oBACpB,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,OAAO,EAAE;gBACP,UAAU,EAAE,EAAE,OAAO,EAAE,2BAA2B,EAAE;gBACpD,UAAU,EAAE,EAAE,OAAO,EAAE,2BAA2B,EAAE;gBACpD,YAAY,EAAE,EAAE,OAAO,EAAE,yBAAyB,EAAE;gBACpD,QAAQ,EAAE,EAAE,OAAO,EAAE,yBAAyB,EAAE;gBAChD,WAAW,EAAE,EAAE,OAAO,EAAE,4BAA4B,EAAE;aACvD;SACF;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,qHAAqH;YACvH,OAAO,EAAE;gBACP,OAAO,EAAE,yBAAyB;aACnC;SACF;QACD,aAAa,EAAE;YACb,KAAK,EAAE,mBAAmB;YAC1B,WAAW,EACT,yKAAyK;YAC3K,SAAS,EAAE,IAAI;YACf,IAAI,EAAE,SAAS;SAChB;KACF;IACD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;QAE1C,MAAM,EACJ,QAAQ,GAAG,EAAE,EACb,sBAAsB,EACtB,IAAI,EACJ,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,QAAQ,EACR,aAAa,EACb,OAAO,EACP,GAAG,IAAI,EACR,GAAG,mBAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;QAC9B,MAAM,UAAU,GAAG,IAAsB,CAAA;QACzC,IAAI,OAAO,CAAA;QAEX,IAAI,UAAU,CAAC,QAAQ,EAAE;YACvB,UAAU,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;SAChG;QAED,IAAI,OAAO,EAAE;YACX,IAAI,OAAO,KAAK,cAAc;gBAAE,UAAU,CAAC,QAAQ,GAAG,KAAK,CAAA;SAC5D;QAED,IAAI,IAAI,IAAI,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YACrC,UAAU,CAAC,IAAI,GAAG,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAA;SAC5C;QAED,IAAI,UAAU,IAAI,eAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,EAAE;YACjD,UAAU,CAAC,UAAU,GAAG,eAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAA;SACxD;QAED,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,MAAM,IAAI,OAAO,CAAC,QAAQ,EAAE;YACxE,UAAU,CAAC,eAAe,GAAG,2CAAmB,CAC9C,0BAAoB,CAAC,EAAE,cAAc,EAAE,CAAC,EACxC,kCAAuB,CAAC,EAAE,QAAQ,EAAE,CAAC,EACrC,mBAAI,CAAC,UAAU,CAAC,eAAe,IAAI,EAAE,EAAE,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC,CACvE,CAAA;SACF;QAED,IAAI,aAAa,IAAI,aAAa,GAAG,CAAC,EAAE;YACtC,OAAO,GAAG,EAAE,aAAa,EAAE,CAAA;SAC5B;QAED,MAAM,MAAM,GAAqB;YAC/B;gBAEE,GAAG,CAAC,gBAAgB,IAAI,qCAAwB,CAAC,SAAS,CAAC,CAAC;gBAE5D,GAAG,8BAAe,CAAC,UAAU,CAAC;gBAE9B,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;gBACnF,OAAO,EAAE,SAAS;aACnB;SACF,CAAA;QAED,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC9B,MAAM,CAAC,IAAI,CAAC;gBACV,GAAG,UAAU;gBAEb,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC,oBAAoB,CAAC,OAAuB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChF,gBAAgB,EAAE,OAAO;gBACzB,UAAU,EAAE,mBAAmB;gBAC/B,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,SAAS,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;gBAC5F,OAAO,EAAE,SAAS;aACnB,CAAC,CAAA;SACH;QAED,MAAM,QAAQ,GAAG,wCAAmB,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;QAEzG,OAAO,OAAO,CAAC,QAAQ,EAAE;YACvB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,OAAO,EAAE,QAAQ,CAAC,MAAM;gBACxB,MAAM;gBACN,OAAO;aACR;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/amplitude/logEvent/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ export interface Payload {
2
+ trackRevenuePerProduct?: boolean;
3
+ user_id?: string | null;
4
+ device_id?: string;
5
+ event_type: string;
6
+ session_id?: string | number;
7
+ time?: string | number;
8
+ event_properties?: {
9
+ [k: string]: unknown;
10
+ };
11
+ user_properties?: {
12
+ [k: string]: unknown;
13
+ };
14
+ groups?: {
15
+ [k: string]: unknown;
16
+ };
17
+ app_version?: string;
18
+ platform?: string;
19
+ os_name?: string;
20
+ os_version?: string;
21
+ device_brand?: string;
22
+ device_manufacturer?: string;
23
+ device_model?: string;
24
+ carrier?: string;
25
+ country?: string;
26
+ region?: string;
27
+ city?: string;
28
+ dma?: string;
29
+ language?: string;
30
+ price?: number;
31
+ quantity?: number;
32
+ revenue?: number;
33
+ productId?: string;
34
+ revenueType?: string;
35
+ location_lat?: number;
36
+ location_lng?: number;
37
+ ip?: string;
38
+ idfa?: string;
39
+ idfv?: string;
40
+ adid?: string;
41
+ android_id?: string;
42
+ event_id?: number;
43
+ insert_id?: string;
44
+ library?: string;
45
+ products?: {
46
+ price?: number;
47
+ quantity?: number;
48
+ revenue?: number;
49
+ productId?: string;
50
+ revenueType?: string;
51
+ }[];
52
+ use_batch_endpoint?: boolean;
53
+ userAgent?: string;
54
+ userAgentParsing?: boolean;
55
+ utm_properties?: {
56
+ utm_source?: string;
57
+ utm_medium?: string;
58
+ utm_campaign?: string;
59
+ utm_term?: string;
60
+ utm_content?: string;
61
+ };
62
+ referrer?: string;
63
+ min_id_length?: number | null;
64
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=generated-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generated-types.js","sourceRoot":"","sources":["../../../../src/destinations/amplitude/logPurchase/generated-types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ import type { ActionDefinition } from '@segment/actions-core';
2
+ import type { Settings } from '../generated-types';
3
+ import type { Payload } from './generated-types';
4
+ export interface AmplitudeEvent extends Omit<Payload, 'products' | 'trackRevenuePerProduct' | 'time' | 'session_id'> {
5
+ library?: string;
6
+ time?: number;
7
+ session_id?: number;
8
+ options?: {
9
+ min_id_length: number;
10
+ };
11
+ }
12
+ declare const action: ActionDefinition<Settings, Payload>;
13
+ export default action;
@@ -0,0 +1,197 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const actions_core_1 = require("@segment/actions-core");
7
+ const dayjs_1 = __importDefault(require("../../../lib/dayjs"));
8
+ const event_schema_1 = require("../event-schema");
9
+ const utm_1 = require("../utm");
10
+ const referrer_1 = require("../referrer");
11
+ const merge_user_properties_1 = require("../merge-user-properties");
12
+ const user_agent_1 = require("../user-agent");
13
+ const regional_endpoints_1 = require("../regional-endpoints");
14
+ const revenueKeys = ['revenue', 'price', 'productId', 'quantity', 'revenueType'];
15
+ function getRevenueProperties(payload) {
16
+ if (typeof payload.revenue !== 'number') {
17
+ return {};
18
+ }
19
+ return {
20
+ revenue: payload.revenue,
21
+ revenueType: payload.revenueType ?? 'Purchase',
22
+ quantity: typeof payload.quantity === 'number' ? Math.round(payload.quantity) : undefined,
23
+ price: payload.price,
24
+ productId: payload.productId
25
+ };
26
+ }
27
+ const action = {
28
+ title: 'Log Event',
29
+ description: 'Send an event to Amplitude.',
30
+ defaultSubscription: 'type = "track"',
31
+ fields: {
32
+ trackRevenuePerProduct: {
33
+ label: 'Track Revenue Per Product',
34
+ description: 'When enabled, track revenue with each product within the event. When disabled, track total revenue once for the event.',
35
+ type: 'boolean',
36
+ default: false
37
+ },
38
+ ...event_schema_1.eventSchema,
39
+ products: {
40
+ label: 'Products',
41
+ description: 'The list of products purchased.',
42
+ type: 'object',
43
+ multiple: true,
44
+ properties: {
45
+ price: {
46
+ label: 'Price',
47
+ type: 'number',
48
+ description: 'The price of the item purchased. Required for revenue data if the revenue field is not sent. You can use negative values to indicate refunds.'
49
+ },
50
+ quantity: {
51
+ label: 'Quantity',
52
+ type: 'integer',
53
+ description: 'The quantity of the item purchased. Defaults to 1 if not specified.'
54
+ },
55
+ revenue: {
56
+ label: 'Revenue',
57
+ type: 'number',
58
+ description: 'Revenue = price * quantity. If you send all 3 fields of price, quantity, and revenue, then (price * quantity) will be used as the revenue value. You can use negative values to indicate refunds.'
59
+ },
60
+ productId: {
61
+ label: 'Product ID',
62
+ type: 'string',
63
+ description: 'An identifier for the item purchased. You must send a price and quantity or revenue with this field.'
64
+ },
65
+ revenueType: {
66
+ label: 'Revenue Type',
67
+ type: 'string',
68
+ description: 'The type of revenue for the item purchased. You must send a price and quantity or revenue with this field.'
69
+ }
70
+ },
71
+ default: {
72
+ '@path': '$.properties.products'
73
+ }
74
+ },
75
+ use_batch_endpoint: {
76
+ label: 'Use Batch Endpoint',
77
+ description: "If true, events are sent to Amplitude's `batch` endpoint rather than their `httpapi` events endpoint. Enabling this setting may help reduce 429s – or throttling errors – from Amplitude. More information about Amplitude's throttling is available in [their docs](https://developers.amplitude.com/docs/batch-event-upload-api#429s-in-depth).",
78
+ type: 'boolean',
79
+ default: false
80
+ },
81
+ userAgent: {
82
+ label: 'User Agent',
83
+ type: 'string',
84
+ description: 'The user agent of the device sending the event.',
85
+ default: {
86
+ '@path': '$.context.userAgent'
87
+ }
88
+ },
89
+ userAgentParsing: {
90
+ label: 'User Agent Parsing',
91
+ type: 'boolean',
92
+ description: 'Enabling this setting will set the Device manufacturer, Device Model and OS Name properties based on the user agent string provided in the userAgent field',
93
+ default: true
94
+ },
95
+ utm_properties: {
96
+ label: 'UTM Properties',
97
+ type: 'object',
98
+ description: 'UTM Tracking Properties',
99
+ properties: {
100
+ utm_source: {
101
+ label: 'UTM Source',
102
+ type: 'string'
103
+ },
104
+ utm_medium: {
105
+ label: 'UTM Medium',
106
+ type: 'string'
107
+ },
108
+ utm_campaign: {
109
+ label: 'UTM Campaign',
110
+ type: 'string'
111
+ },
112
+ utm_term: {
113
+ label: 'UTM Term',
114
+ type: 'string'
115
+ },
116
+ utm_content: {
117
+ label: 'UTM Content',
118
+ type: 'string'
119
+ }
120
+ },
121
+ default: {
122
+ utm_source: { '@path': '$.context.campaign.source' },
123
+ utm_medium: { '@path': '$.context.campaign.medium' },
124
+ utm_campaign: { '@path': '$.context.campaign.name' },
125
+ utm_term: { '@path': '$.context.campaign.term' },
126
+ utm_content: { '@path': '$.context.campaign.content' }
127
+ }
128
+ },
129
+ referrer: {
130
+ label: 'Referrer',
131
+ type: 'string',
132
+ description: 'The referrer of the web request. Sent to Amplitude as both last touch “referrer” and first touch “initial_referrer”',
133
+ default: {
134
+ '@path': '$.context.page.referrer'
135
+ }
136
+ },
137
+ min_id_length: {
138
+ label: 'Minimum ID Length',
139
+ description: 'Amplitude has a default minimum id lenght of 5 characters for user_id and device_id fields. This field allows the minimum to be overridden to allow shorter id lengths.',
140
+ allowNull: true,
141
+ type: 'integer'
142
+ }
143
+ },
144
+ perform: (request, { payload, settings }) => {
145
+ const { products = [], trackRevenuePerProduct, time, session_id, userAgent, userAgentParsing, utm_properties, referrer, min_id_length, library, ...rest } = actions_core_1.omit(payload, revenueKeys);
146
+ const properties = rest;
147
+ let options;
148
+ if (properties.platform) {
149
+ properties.platform = properties.platform.replace(/ios/i, 'iOS').replace(/android/i, 'Android');
150
+ }
151
+ if (library) {
152
+ if (library === 'analytics.js')
153
+ properties.platform = 'Web';
154
+ }
155
+ if (time && dayjs_1.default.utc(time).isValid()) {
156
+ properties.time = dayjs_1.default.utc(time).valueOf();
157
+ }
158
+ if (session_id && dayjs_1.default.utc(session_id).isValid()) {
159
+ properties.session_id = dayjs_1.default.utc(session_id).valueOf();
160
+ }
161
+ if (Object.keys(payload.utm_properties ?? {}).length || payload.referrer) {
162
+ properties.user_properties = merge_user_properties_1.mergeUserProperties(utm_1.convertUTMProperties({ utm_properties }), referrer_1.convertReferrerProperty({ referrer }), actions_core_1.omit(properties.user_properties ?? {}, ['utm_properties', 'referrer']));
163
+ }
164
+ if (min_id_length && min_id_length > 0) {
165
+ options = { min_id_length };
166
+ }
167
+ const events = [
168
+ {
169
+ ...(userAgentParsing && user_agent_1.parseUserAgentProperties(userAgent)),
170
+ ...actions_core_1.removeUndefined(properties),
171
+ ...(products.length && trackRevenuePerProduct ? {} : getRevenueProperties(payload)),
172
+ library: 'segment'
173
+ }
174
+ ];
175
+ for (const product of products) {
176
+ events.push({
177
+ ...properties,
178
+ ...(trackRevenuePerProduct ? getRevenueProperties(product) : {}),
179
+ event_properties: product,
180
+ event_type: 'Product Purchased',
181
+ insert_id: properties.insert_id ? `${properties.insert_id}-${events.length + 1}` : undefined,
182
+ library: 'segment'
183
+ });
184
+ }
185
+ const endpoint = regional_endpoints_1.getEndpointByRegion(payload.use_batch_endpoint ? 'batch' : 'httpapi', settings.endpoint);
186
+ return request(endpoint, {
187
+ method: 'post',
188
+ json: {
189
+ api_key: settings.apiKey,
190
+ events,
191
+ options
192
+ }
193
+ });
194
+ }
195
+ };
196
+ exports.default = action;
197
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/amplitude/logPurchase/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  export interface Payload {
2
2
  client_id: string;
3
3
  user_id?: string;
4
+ timestamp_micros?: string;
4
5
  currency?: string;
5
6
  value?: number;
6
7
  coupon?: string;
@@ -10,6 +10,7 @@ const action = {
10
10
  fields: {
11
11
  client_id: { ...ga4_properties_1.client_id },
12
12
  user_id: { ...ga4_properties_1.user_id },
13
+ timestamp_micros: { ...ga4_properties_1.timestamp_micros },
13
14
  currency: { ...ga4_properties_1.currency },
14
15
  value: { ...ga4_properties_1.value },
15
16
  coupon: { ...ga4_properties_1.coupon },
@@ -29,29 +30,13 @@ const action = {
29
30
  if (payload.currency) {
30
31
  ga4_functions_1.verifyCurrency(payload.currency);
31
32
  }
32
- if (payload.value && payload.currency === undefined) {
33
- throw new actions_core_1.IntegrationError('Currency is required if value is set.', 'Misconfigured required field', 400);
34
- }
35
- if (payload.currency === undefined && payload.items[0].currency === undefined) {
36
- throw new actions_core_1.IntegrationError('One of item-level currency or top-level currency is required.', 'Misconfigured required field', 400);
37
- }
38
- let googleItems = [];
39
- if (payload.items) {
40
- googleItems = payload.items.map((product) => {
41
- if (product.item_name === undefined && product.item_id === undefined) {
42
- throw new actions_core_1.IntegrationError('One of product name or product id is required for product or impression data.', 'Misconfigured required field', 400);
43
- }
44
- if (product.currency) {
45
- ga4_functions_1.verifyCurrency(product.currency);
46
- }
47
- return product;
48
- });
49
- }
33
+ ga4_functions_1.checkCurrencyDefinition(payload.value, payload.currency, payload.items);
50
34
  return request('https://www.google-analytics.com/mp/collect', {
51
35
  method: 'POST',
52
36
  json: {
53
37
  client_id: payload.client_id,
54
38
  user_id: payload.user_id,
39
+ timestamp_micros: ga4_functions_1.convertTimestamp(payload.timestamp_micros),
55
40
  events: [
56
41
  {
57
42
  name: 'add_payment_info',
@@ -60,9 +45,9 @@ const action = {
60
45
  value: payload.value,
61
46
  coupon: payload.coupon,
62
47
  payment_type: payload.payment_type,
63
- items: googleItems,
48
+ items: ga4_functions_1.formatItems(payload.items),
64
49
  engagement_time_msec: payload.engagement_time_msec,
65
- ...payload.params
50
+ ...ga4_functions_1.verifyParams(payload.params)
66
51
  }
67
52
  }
68
53
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/google-analytics-4/addPaymentInfo/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/google-analytics-4/addPaymentInfo/index.ts"],"names":[],"mappings":";;AAAA,wDAA0E;AAG1E,oDAAuH;AACvH,sDAa0B;AAE1B,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,kBAAkB;IACzB,WAAW,EAAE,0DAA0D;IACvE,mBAAmB,EAAE,mDAAmD;IACxE,MAAM,EAAE;QACN,SAAS,EAAE,EAAE,GAAG,0BAAS,EAAE;QAC3B,OAAO,EAAE,EAAE,GAAG,wBAAO,EAAE;QACvB,gBAAgB,EAAE,EAAE,GAAG,iCAAgB,EAAE;QACzC,QAAQ,EAAE,EAAE,GAAG,yBAAQ,EAAE;QACzB,KAAK,EAAE,EAAE,GAAG,sBAAK,EAAE;QACnB,MAAM,EAAE,EAAE,GAAG,uBAAM,EAAE;QACrB,YAAY,EAAE,EAAE,GAAG,6BAAY,EAAE;QACjC,KAAK,EAAE;YACL,GAAG,qCAAoB;YACvB,QAAQ,EAAE,IAAI;SACf;QACD,eAAe,EAAE,gCAAe;QAChC,oBAAoB,EAAE,qCAAoB;QAC1C,MAAM,EAAE,uBAAM;KACf;IACD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QAGhC,IAAI,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE;YAC1C,MAAM,IAAI,+BAAgB,CACxB,kEAAkE,EAClE,8BAA8B,EAC9B,GAAG,CACJ,CAAA;SACF;QAED,IAAI,OAAO,CAAC,QAAQ,EAAE;YACpB,8BAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;SACjC;QAED,uCAAuB,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;QAEvE,OAAO,OAAO,CAAC,6CAA6C,EAAE;YAC5D,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,gBAAgB,EAAE,gCAAgB,CAAC,OAAO,CAAC,gBAAgB,CAAC;gBAC5D,MAAM,EAAE;oBACN;wBACE,IAAI,EAAE,kBAAkB;wBACxB,MAAM,EAAE;4BACN,QAAQ,EAAE,OAAO,CAAC,QAAQ;4BAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;4BACpB,MAAM,EAAE,OAAO,CAAC,MAAM;4BACtB,YAAY,EAAE,OAAO,CAAC,YAAY;4BAClC,KAAK,EAAE,2BAAW,CAAC,OAAO,CAAC,KAAK,CAAC;4BACjC,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;4BAClD,GAAG,4BAAY,CAAC,OAAO,CAAC,MAAM,CAAC;yBAChC;qBACF;iBACF;gBACD,GAAG,qCAAoB,CAAC,OAAO,CAAC,eAAe,CAAC;aACjD;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
@@ -1,6 +1,7 @@
1
1
  export interface Payload {
2
2
  client_id: string;
3
3
  user_id?: string;
4
+ timestamp_micros?: string;
4
5
  currency?: string;
5
6
  items: {
6
7
  item_id?: string;
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const actions_core_1 = require("@segment/actions-core");
4
3
  const ga4_functions_1 = require("../ga4-functions");
5
4
  const ga4_properties_1 = require("../ga4-properties");
6
5
  const action = {
@@ -10,6 +9,7 @@ const action = {
10
9
  fields: {
11
10
  client_id: { ...ga4_properties_1.client_id },
12
11
  user_id: { ...ga4_properties_1.user_id },
12
+ timestamp_micros: { ...ga4_properties_1.timestamp_micros },
13
13
  currency: { ...ga4_properties_1.currency },
14
14
  items: {
15
15
  ...ga4_properties_1.items_single_products,
@@ -21,35 +21,24 @@ const action = {
21
21
  params: ga4_properties_1.params
22
22
  },
23
23
  perform: (request, { payload }) => {
24
- let googleItems = [];
25
24
  if (payload.currency) {
26
25
  ga4_functions_1.verifyCurrency(payload.currency);
27
26
  }
28
- if (payload.items) {
29
- googleItems = payload.items.map((product) => {
30
- if (product.item_name === undefined && product.item_id === undefined) {
31
- throw new actions_core_1.IntegrationError('One of product name or product id is required for product or impression data.', 'Misconfigured required field', 400);
32
- }
33
- if (product.currency) {
34
- ga4_functions_1.verifyCurrency(product.currency);
35
- }
36
- return product;
37
- });
38
- }
39
27
  return request('https://www.google-analytics.com/mp/collect', {
40
28
  method: 'POST',
41
29
  json: {
42
30
  client_id: payload.client_id,
43
31
  user_id: payload.user_id,
32
+ timestamp_micros: ga4_functions_1.convertTimestamp(payload.timestamp_micros),
44
33
  events: [
45
34
  {
46
35
  name: 'add_to_cart',
47
36
  params: {
48
37
  currency: payload.currency,
49
- items: googleItems,
38
+ items: ga4_functions_1.formatItems(payload.items),
50
39
  value: payload.value,
51
40
  engagement_time_msec: payload.engagement_time_msec,
52
- ...payload.params
41
+ ...ga4_functions_1.verifyParams(payload.params)
53
42
  }
54
43
  }
55
44
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/google-analytics-4/addToCart/index.ts"],"names":[],"mappings":";;AAAA,wDAA0E;AAI1E,oDAAiD;AACjD,sDAU0B;AAE1B,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,aAAa;IACpB,WAAW,EAAE,6CAA6C;IAC1D,mBAAmB,EAAE,4CAA4C;IACjE,MAAM,EAAE;QACN,SAAS,EAAE,EAAE,GAAG,0BAAS,EAAE;QAC3B,OAAO,EAAE,EAAE,GAAG,wBAAO,EAAE;QACvB,QAAQ,EAAE,EAAE,GAAG,yBAAQ,EAAE;QACzB,KAAK,EAAE;YACL,GAAG,sCAAqB;YACxB,QAAQ,EAAE,IAAI;SACf;QACD,KAAK,EAAE,EAAE,GAAG,sBAAK,EAAE;QACnB,eAAe,EAAE,gCAAe;QAChC,oBAAoB,EAAE,qCAAoB;QAC1C,MAAM,EAAE,uBAAM;KACf;IACD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QAChC,IAAI,WAAW,GAAkB,EAAE,CAAA;QAEnC,IAAI,OAAO,CAAC,QAAQ,EAAE;YACpB,8BAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;SACjC;QAED,IAAI,OAAO,CAAC,KAAK,EAAE;YACjB,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC1C,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE;oBACpE,MAAM,IAAI,+BAAgB,CACxB,+EAA+E,EAC/E,8BAA8B,EAC9B,GAAG,CACJ,CAAA;iBACF;gBAED,IAAI,OAAO,CAAC,QAAQ,EAAE;oBACpB,8BAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;iBACjC;gBAED,OAAO,OAAsB,CAAA;YAC/B,CAAC,CAAC,CAAA;SACH;QAED,OAAO,OAAO,CAAC,6CAA6C,EAAE;YAC5D,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,MAAM,EAAE;oBACN;wBACE,IAAI,EAAE,aAAa;wBACnB,MAAM,EAAE;4BACN,QAAQ,EAAE,OAAO,CAAC,QAAQ;4BAC1B,KAAK,EAAE,WAAW;4BAClB,KAAK,EAAE,OAAO,CAAC,KAAK;4BACpB,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;4BAClD,GAAG,OAAO,CAAC,MAAM;yBAClB;qBACF;iBACF;gBACD,GAAG,qCAAoB,CAAC,OAAO,CAAC,eAAe,CAAC;aACjD;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/google-analytics-4/addToCart/index.ts"],"names":[],"mappings":";;AAGA,oDAA8F;AAC9F,sDAW0B;AAE1B,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,aAAa;IACpB,WAAW,EAAE,6CAA6C;IAC1D,mBAAmB,EAAE,4CAA4C;IACjE,MAAM,EAAE;QACN,SAAS,EAAE,EAAE,GAAG,0BAAS,EAAE;QAC3B,OAAO,EAAE,EAAE,GAAG,wBAAO,EAAE;QACvB,gBAAgB,EAAE,EAAE,GAAG,iCAAgB,EAAE;QACzC,QAAQ,EAAE,EAAE,GAAG,yBAAQ,EAAE;QACzB,KAAK,EAAE;YACL,GAAG,sCAAqB;YACxB,QAAQ,EAAE,IAAI;SACf;QACD,KAAK,EAAE,EAAE,GAAG,sBAAK,EAAE;QACnB,eAAe,EAAE,gCAAe;QAChC,oBAAoB,EAAE,qCAAoB;QAC1C,MAAM,EAAE,uBAAM;KACf;IACD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QAChC,IAAI,OAAO,CAAC,QAAQ,EAAE;YACpB,8BAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;SACjC;QAED,OAAO,OAAO,CAAC,6CAA6C,EAAE;YAC5D,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,gBAAgB,EAAE,gCAAgB,CAAC,OAAO,CAAC,gBAAgB,CAAC;gBAC5D,MAAM,EAAE;oBACN;wBACE,IAAI,EAAE,aAAa;wBACnB,MAAM,EAAE;4BACN,QAAQ,EAAE,OAAO,CAAC,QAAQ;4BAC1B,KAAK,EAAE,2BAAW,CAAC,OAAO,CAAC,KAAK,CAAC;4BACjC,KAAK,EAAE,OAAO,CAAC,KAAK;4BACpB,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;4BAClD,GAAG,4BAAY,CAAC,OAAO,CAAC,MAAM,CAAC;yBAChC;qBACF;iBACF;gBACD,GAAG,qCAAoB,CAAC,OAAO,CAAC,eAAe,CAAC;aACjD;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
@@ -1,6 +1,7 @@
1
1
  export interface Payload {
2
2
  client_id: string;
3
3
  user_id?: string;
4
+ timestamp_micros?: string;
4
5
  currency?: string;
5
6
  value?: number;
6
7
  items: {