@segment/action-destinations 3.31.1-alpha.0 → 3.32.0

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 (79) hide show
  1. package/dist/destinations/amplitude/generated-types.d.ts +1 -0
  2. package/dist/destinations/amplitude/groupIdentifyUser/index.js +3 -2
  3. package/dist/destinations/amplitude/groupIdentifyUser/index.js.map +1 -1
  4. package/dist/destinations/amplitude/identifyUser/index.js +2 -1
  5. package/dist/destinations/amplitude/identifyUser/index.js.map +1 -1
  6. package/dist/destinations/amplitude/index.js +21 -2
  7. package/dist/destinations/amplitude/index.js.map +1 -1
  8. package/dist/destinations/amplitude/logEvent/index.js +2 -3
  9. package/dist/destinations/amplitude/logEvent/index.js.map +1 -1
  10. package/dist/destinations/amplitude/mapUser/index.js +2 -1
  11. package/dist/destinations/amplitude/mapUser/index.js.map +1 -1
  12. package/dist/destinations/amplitude/regional-endpoints.d.ts +32 -0
  13. package/dist/destinations/amplitude/regional-endpoints.js +39 -0
  14. package/dist/destinations/amplitude/regional-endpoints.js.map +1 -0
  15. package/dist/destinations/customerio/createUpdatePerson/index.js +11 -8
  16. package/dist/destinations/customerio/createUpdatePerson/index.js.map +1 -1
  17. package/dist/destinations/google-analytics-4/addPaymentInfo/index.js +135 -45
  18. package/dist/destinations/google-analytics-4/addPaymentInfo/index.js.map +1 -1
  19. package/dist/destinations/google-analytics-4/addToCart/generated-types.d.ts +1 -1
  20. package/dist/destinations/google-analytics-4/addToCart/index.js +125 -38
  21. package/dist/destinations/google-analytics-4/addToCart/index.js.map +1 -1
  22. package/dist/destinations/google-analytics-4/addToWishlist/generated-types.d.ts +1 -1
  23. package/dist/destinations/google-analytics-4/addToWishlist/index.js +123 -38
  24. package/dist/destinations/google-analytics-4/addToWishlist/index.js.map +1 -1
  25. package/dist/destinations/google-analytics-4/beginCheckout/generated-types.d.ts +1 -1
  26. package/dist/destinations/google-analytics-4/beginCheckout/index.js +136 -42
  27. package/dist/destinations/google-analytics-4/beginCheckout/index.js.map +1 -1
  28. package/dist/destinations/google-analytics-4/customEvent/index.js +13 -2
  29. package/dist/destinations/google-analytics-4/customEvent/index.js.map +1 -1
  30. package/dist/destinations/google-analytics-4/generateLead/index.js +23 -4
  31. package/dist/destinations/google-analytics-4/generateLead/index.js.map +1 -1
  32. package/dist/destinations/google-analytics-4/login/index.js +13 -2
  33. package/dist/destinations/google-analytics-4/login/index.js.map +1 -1
  34. package/dist/destinations/google-analytics-4/pageView/index.js +13 -2
  35. package/dist/destinations/google-analytics-4/pageView/index.js.map +1 -1
  36. package/dist/destinations/google-analytics-4/purchase/generated-types.d.ts +1 -1
  37. package/dist/destinations/google-analytics-4/purchase/index.js +169 -45
  38. package/dist/destinations/google-analytics-4/purchase/index.js.map +1 -1
  39. package/dist/destinations/google-analytics-4/refund/index.js +147 -45
  40. package/dist/destinations/google-analytics-4/refund/index.js.map +1 -1
  41. package/dist/destinations/google-analytics-4/removeFromCart/index.js +123 -38
  42. package/dist/destinations/google-analytics-4/removeFromCart/index.js.map +1 -1
  43. package/dist/destinations/google-analytics-4/search/index.js +13 -2
  44. package/dist/destinations/google-analytics-4/search/index.js.map +1 -1
  45. package/dist/destinations/google-analytics-4/selectItem/generated-types.d.ts +1 -1
  46. package/dist/destinations/google-analytics-4/selectItem/index.js +113 -37
  47. package/dist/destinations/google-analytics-4/selectItem/index.js.map +1 -1
  48. package/dist/destinations/google-analytics-4/selectPromotion/generated-types.d.ts +4 -4
  49. package/dist/destinations/google-analytics-4/selectPromotion/index.js +145 -47
  50. package/dist/destinations/google-analytics-4/selectPromotion/index.js.map +1 -1
  51. package/dist/destinations/google-analytics-4/signUp/index.js +13 -2
  52. package/dist/destinations/google-analytics-4/signUp/index.js.map +1 -1
  53. package/dist/destinations/google-analytics-4/viewCart/index.js +123 -41
  54. package/dist/destinations/google-analytics-4/viewCart/index.js.map +1 -1
  55. package/dist/destinations/google-analytics-4/viewItem/generated-types.d.ts +1 -1
  56. package/dist/destinations/google-analytics-4/viewItem/index.js +128 -38
  57. package/dist/destinations/google-analytics-4/viewItem/index.js.map +1 -1
  58. package/dist/destinations/google-analytics-4/viewItemList/index.js +113 -39
  59. package/dist/destinations/google-analytics-4/viewItemList/index.js.map +1 -1
  60. package/dist/destinations/google-analytics-4/viewPromotion/generated-types.d.ts +4 -4
  61. package/dist/destinations/google-analytics-4/viewPromotion/index.js +154 -47
  62. package/dist/destinations/google-analytics-4/viewPromotion/index.js.map +1 -1
  63. package/dist/destinations/mixpanel/alias/generated-types.d.ts +1 -1
  64. package/dist/destinations/mixpanel/alias/index.js +6 -6
  65. package/dist/destinations/mixpanel/alias/index.js.map +1 -1
  66. package/dist/destinations/mixpanel/groupIdentifyUser/generated-types.d.ts +1 -0
  67. package/dist/destinations/mixpanel/groupIdentifyUser/index.js +14 -9
  68. package/dist/destinations/mixpanel/groupIdentifyUser/index.js.map +1 -1
  69. package/dist/destinations/mixpanel/identifyUser/generated-types.d.ts +1 -0
  70. package/dist/destinations/mixpanel/identifyUser/index.js +43 -10
  71. package/dist/destinations/mixpanel/identifyUser/index.js.map +1 -1
  72. package/dist/destinations/mixpanel/trackEvent/generated-types.d.ts +1 -0
  73. package/dist/destinations/mixpanel/trackEvent/index.js +9 -0
  74. package/dist/destinations/mixpanel/trackEvent/index.js.map +1 -1
  75. package/dist/destinations/mixpanel/trackEvent/types.d.ts +1 -0
  76. package/package.json +3 -3
  77. package/dist/destinations/google-analytics-4/ga4-properties.d.ts +0 -15
  78. package/dist/destinations/google-analytics-4/ga4-properties.js +0 -194
  79. package/dist/destinations/google-analytics-4/ga4-properties.js.map +0 -1
@@ -1,12 +1,23 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const ga4_properties_1 = require("../ga4-properties");
4
3
  const action = {
5
4
  title: 'Custom Event',
6
5
  description: 'Send any custom event',
7
6
  defaultSubscription: 'type = "track"',
8
7
  fields: {
9
- clientId: { ...ga4_properties_1.client_id, required: true },
8
+ clientId: {
9
+ label: 'Client ID',
10
+ description: 'Uniquely identifies a user instance of a web client.',
11
+ type: 'string',
12
+ required: true,
13
+ default: {
14
+ '@if': {
15
+ exists: { '@path': '$.userId' },
16
+ then: { '@path': '$.userId' },
17
+ else: { '@path': '$.anonymousId' }
18
+ }
19
+ }
20
+ },
10
21
  name: {
11
22
  label: 'Event Name',
12
23
  description: 'The unique name of the custom event created in GA4.',
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/google-analytics-4/customEvent/index.ts"],"names":[],"mappings":";;AAGA,sDAA6C;AAE7C,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,cAAc;IACrB,WAAW,EAAE,uBAAuB;IACpC,mBAAmB,EAAE,gBAAgB;IACrC,MAAM,EAAE;QACN,QAAQ,EAAE,EAAE,GAAG,0BAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC1C,IAAI,EAAE;YACJ,KAAK,EAAE,YAAY;YACnB,WAAW,EAAE,qDAAqD;YAClE,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;SACf;QACD,MAAM,EAAE;YACN,KAAK,EAAE,kBAAkB;YACzB,WAAW,EAAE,wCAAwC;YACrD,IAAI,EAAE,QAAQ;YACd,oBAAoB,EAAE,IAAI;YAC1B,OAAO,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE;SACrC;KACF;IACD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QAChC,OAAO,OAAO,CAAC,6CAA6C,EAAE;YAC5D,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,SAAS,EAAE,OAAO,CAAC,QAAQ;gBAC3B,MAAM,EAAE;oBACN;wBACE,IAAI,EAAE,OAAO,CAAC,IAAI;wBAClB,MAAM,EAAE,OAAO,CAAC,MAAM;qBACvB;iBACF;aACF;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/google-analytics-4/customEvent/index.ts"],"names":[],"mappings":";;AAIA,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,cAAc;IACrB,WAAW,EAAE,uBAAuB;IACpC,mBAAmB,EAAE,gBAAgB;IACrC,MAAM,EAAE;QACN,QAAQ,EAAE;YACR,KAAK,EAAE,WAAW;YAClB,WAAW,EAAE,sDAAsD;YACnE,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE;gBACP,KAAK,EAAE;oBACL,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;oBAC/B,IAAI,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;oBAC7B,IAAI,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE;iBACnC;aACF;SACF;QACD,IAAI,EAAE;YACJ,KAAK,EAAE,YAAY;YACnB,WAAW,EAAE,qDAAqD;YAClE,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;SACf;QACD,MAAM,EAAE;YACN,KAAK,EAAE,kBAAkB;YACzB,WAAW,EAAE,wCAAwC;YACrD,IAAI,EAAE,QAAQ;YACd,oBAAoB,EAAE,IAAI;YAC1B,OAAO,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE;SACrC;KACF;IACD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QAChC,OAAO,OAAO,CAAC,6CAA6C,EAAE;YAC5D,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,SAAS,EAAE,OAAO,CAAC,QAAQ;gBAC3B,MAAM,EAAE;oBACN;wBACE,IAAI,EAAE,OAAO,CAAC,IAAI;wBAClB,MAAM,EAAE,OAAO,CAAC,MAAM;qBACvB;iBACF;aACF;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
@@ -2,15 +2,34 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const actions_core_1 = require("@segment/actions-core");
4
4
  const constants_1 = require("../constants");
5
- const ga4_properties_1 = require("../ga4-properties");
6
5
  const action = {
7
6
  title: 'Generate Lead',
8
7
  description: 'Send event when a user submits a form or request for information',
9
8
  defaultSubscription: 'type = "track"',
10
9
  fields: {
11
- client_id: { ...ga4_properties_1.client_id, required: true },
12
- currency: { ...ga4_properties_1.currency },
13
- value: { ...ga4_properties_1.value }
10
+ client_id: {
11
+ label: 'Client ID',
12
+ description: 'Uniquely identifies a user instance of a web client.',
13
+ type: 'string',
14
+ required: true,
15
+ default: {
16
+ '@if': {
17
+ exists: { '@path': '$.userId' },
18
+ then: { '@path': '$.userId' },
19
+ else: { '@path': '$.anonymousId' }
20
+ }
21
+ }
22
+ },
23
+ currency: {
24
+ label: 'Currency',
25
+ type: 'string',
26
+ description: 'Currency of the items associated with the event, in 3-letter ISO 4217 format.'
27
+ },
28
+ value: {
29
+ label: 'Value',
30
+ type: 'number',
31
+ description: 'The monetary value of the event.'
32
+ }
14
33
  },
15
34
  perform: (request, { payload }) => {
16
35
  if (payload.currency && !constants_1.CURRENCY_ISO_CODES.includes(payload.currency)) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/google-analytics-4/generateLead/index.ts"],"names":[],"mappings":";;AAAA,wDAA0E;AAC1E,4CAAiD;AAGjD,sDAA8D;AAE9D,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,eAAe;IACtB,WAAW,EAAE,kEAAkE;IAC/E,mBAAmB,EAAE,gBAAgB;IACrC,MAAM,EAAE;QACN,SAAS,EAAE,EAAE,GAAG,0BAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC3C,QAAQ,EAAE,EAAE,GAAG,yBAAQ,EAAE;QACzB,KAAK,EAAE,EAAE,GAAG,sBAAK,EAAE;KACpB;IACD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QAChC,IAAI,OAAO,CAAC,QAAQ,IAAI,CAAC,8BAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YACtE,MAAM,IAAI,+BAAgB,CAAC,GAAG,OAAO,CAAC,QAAQ,gCAAgC,EAAE,wBAAwB,EAAE,GAAG,CAAC,CAAA;SAC/G;QAGD,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE;YACnD,MAAM,IAAI,+BAAgB,CAAC,uCAAuC,EAAE,8BAA8B,EAAE,GAAG,CAAC,CAAA;SACzG;QAED,OAAO,OAAO,CAAC,6CAA6C,EAAE;YAC5D,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,MAAM,EAAE;oBACN;wBACE,IAAI,EAAE,eAAe;wBACrB,MAAM,EAAE;4BACN,QAAQ,EAAE,OAAO,CAAC,QAAQ;4BAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;yBACrB;qBACF;iBACF;aACF;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/google-analytics-4/generateLead/index.ts"],"names":[],"mappings":";;AAAA,wDAA0E;AAC1E,4CAAiD;AAIjD,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,eAAe;IACtB,WAAW,EAAE,kEAAkE;IAC/E,mBAAmB,EAAE,gBAAgB;IACrC,MAAM,EAAE;QACN,SAAS,EAAE;YACT,KAAK,EAAE,WAAW;YAClB,WAAW,EAAE,sDAAsD;YACnE,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE;gBACP,KAAK,EAAE;oBACL,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;oBAC/B,IAAI,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;oBAC7B,IAAI,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE;iBACnC;aACF;SACF;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,+EAA+E;SAC7F;QACD,KAAK,EAAE;YACL,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,kCAAkC;SAChD;KACF;IACD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QAChC,IAAI,OAAO,CAAC,QAAQ,IAAI,CAAC,8BAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YACtE,MAAM,IAAI,+BAAgB,CAAC,GAAG,OAAO,CAAC,QAAQ,gCAAgC,EAAE,wBAAwB,EAAE,GAAG,CAAC,CAAA;SAC/G;QAGD,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE;YACnD,MAAM,IAAI,+BAAgB,CAAC,uCAAuC,EAAE,8BAA8B,EAAE,GAAG,CAAC,CAAA;SACzG;QAED,OAAO,OAAO,CAAC,6CAA6C,EAAE;YAC5D,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,MAAM,EAAE;oBACN;wBACE,IAAI,EAAE,eAAe;wBACrB,MAAM,EAAE;4BACN,QAAQ,EAAE,OAAO,CAAC,QAAQ;4BAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;yBACrB;qBACF;iBACF;aACF;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
@@ -1,12 +1,23 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const ga4_properties_1 = require("../ga4-properties");
4
3
  const action = {
5
4
  title: 'Login',
6
5
  description: 'Send event when a user logs in',
7
6
  defaultSubscription: 'type = "track" and event = "Signed In"',
8
7
  fields: {
9
- client_id: { ...ga4_properties_1.client_id, required: true },
8
+ client_id: {
9
+ label: 'Client ID',
10
+ description: 'Uniquely identifies a user instance of a web client.',
11
+ type: 'string',
12
+ required: true,
13
+ default: {
14
+ '@if': {
15
+ exists: { '@path': '$.userId' },
16
+ then: { '@path': '$.userId' },
17
+ else: { '@path': '$.anonymousId' }
18
+ }
19
+ }
20
+ },
10
21
  method: {
11
22
  label: 'Method',
12
23
  type: 'string',
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/google-analytics-4/login/index.ts"],"names":[],"mappings":";;AAGA,sDAA6C;AAE7C,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,gCAAgC;IAC7C,mBAAmB,EAAE,wCAAwC;IAC7D,MAAM,EAAE;QACN,SAAS,EAAE,EAAE,GAAG,0BAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC3C,MAAM,EAAE;YACN,KAAK,EAAE,QAAQ;YACf,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,2BAA2B;SACzC;KACF;IAED,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QAChC,OAAO,OAAO,CAAC,6CAA6C,EAAE;YAC5D,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,MAAM,EAAE;oBACN;wBACE,IAAI,EAAE,OAAO;wBACb,MAAM,EAAE;4BACN,MAAM,EAAE,OAAO,CAAC,MAAM;yBACvB;qBACF;iBACF;aACF;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/google-analytics-4/login/index.ts"],"names":[],"mappings":";;AAIA,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,gCAAgC;IAC7C,mBAAmB,EAAE,wCAAwC;IAC7D,MAAM,EAAE;QACN,SAAS,EAAE;YACT,KAAK,EAAE,WAAW;YAClB,WAAW,EAAE,sDAAsD;YACnE,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE;gBACP,KAAK,EAAE;oBACL,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;oBAC/B,IAAI,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;oBAC7B,IAAI,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE;iBACnC;aACF;SACF;QACD,MAAM,EAAE;YACN,KAAK,EAAE,QAAQ;YACf,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,2BAA2B;SACzC;KACF;IAED,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QAChC,OAAO,OAAO,CAAC,6CAA6C,EAAE;YAC5D,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,MAAM,EAAE;oBACN;wBACE,IAAI,EAAE,OAAO;wBACb,MAAM,EAAE;4BACN,MAAM,EAAE,OAAO,CAAC,MAAM;yBACvB;qBACF;iBACF;aACF;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
@@ -1,12 +1,23 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const ga4_properties_1 = require("../ga4-properties");
4
3
  const action = {
5
4
  title: 'Page View',
6
5
  description: 'Send page view when a user views a page',
7
6
  defaultSubscription: 'type = "page"',
8
7
  fields: {
9
- clientId: { ...ga4_properties_1.client_id, required: true },
8
+ clientId: {
9
+ label: 'Client ID',
10
+ description: 'Uniquely identifies a user instance of a web client.',
11
+ type: 'string',
12
+ required: true,
13
+ default: {
14
+ '@if': {
15
+ exists: { '@path': '$.userId' },
16
+ then: { '@path': '$.userId' },
17
+ else: { '@path': '$.anonymousId' }
18
+ }
19
+ }
20
+ },
10
21
  page_location: {
11
22
  label: 'Page Location',
12
23
  type: 'string',
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/google-analytics-4/pageView/index.ts"],"names":[],"mappings":";;AAGA,sDAA6C;AAE7C,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,WAAW;IAClB,WAAW,EAAE,yCAAyC;IACtD,mBAAmB,EAAE,eAAe;IACpC,MAAM,EAAE;QACN,QAAQ,EAAE,EAAE,GAAG,0BAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC1C,aAAa,EAAE;YACb,KAAK,EAAE,eAAe;YACtB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,sBAAsB;YACnC,OAAO,EAAE;gBACP,OAAO,EAAE,oBAAoB;aAC9B;SACF;QACD,aAAa,EAAE;YACb,KAAK,EAAE,eAAe;YACtB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,mBAAmB;YAChC,OAAO,EAAE;gBACP,OAAO,EAAE,yBAAyB;aACnC;SACF;KACF;IACD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QAChC,OAAO,OAAO,CAAC,6CAA6C,EAAE;YAC5D,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,SAAS,EAAE,OAAO,CAAC,QAAQ;gBAC3B,MAAM,EAAE;oBACN;wBACE,IAAI,EAAE,WAAW;wBACjB,MAAM,EAAE;4BACN,aAAa,EAAE,OAAO,CAAC,aAAa;4BACpC,aAAa,EAAE,OAAO,CAAC,aAAa;yBACrC;qBACF;iBACF;aACF;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/google-analytics-4/pageView/index.ts"],"names":[],"mappings":";;AAIA,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,WAAW;IAClB,WAAW,EAAE,yCAAyC;IACtD,mBAAmB,EAAE,eAAe;IACpC,MAAM,EAAE;QACN,QAAQ,EAAE;YACR,KAAK,EAAE,WAAW;YAClB,WAAW,EAAE,sDAAsD;YACnE,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE;gBACP,KAAK,EAAE;oBACL,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;oBAC/B,IAAI,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;oBAC7B,IAAI,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE;iBACnC;aACF;SACF;QACD,aAAa,EAAE;YACb,KAAK,EAAE,eAAe;YACtB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,sBAAsB;YACnC,OAAO,EAAE;gBACP,OAAO,EAAE,oBAAoB;aAC9B;SACF;QACD,aAAa,EAAE;YACb,KAAK,EAAE,eAAe;YACtB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,mBAAmB;YAChC,OAAO,EAAE;gBACP,OAAO,EAAE,yBAAyB;aACnC;SACF;KACF;IACD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QAChC,OAAO,OAAO,CAAC,6CAA6C,EAAE;YAC5D,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,SAAS,EAAE,OAAO,CAAC,QAAQ;gBAC3B,MAAM,EAAE;oBACN;wBACE,IAAI,EAAE,WAAW;wBACjB,MAAM,EAAE;4BACN,aAAa,EAAE,OAAO,CAAC,aAAa;4BACpC,aAAa,EAAE,OAAO,CAAC,aAAa;yBACrC;qBACF;iBACF;aACF;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
@@ -3,7 +3,7 @@ export interface Payload {
3
3
  affiliation?: string;
4
4
  coupon?: string;
5
5
  currency: string;
6
- items: {
6
+ items?: {
7
7
  item_id?: string;
8
8
  item_name?: string;
9
9
  affiliation?: string;
@@ -2,61 +2,185 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const actions_core_1 = require("@segment/actions-core");
4
4
  const constants_1 = require("../constants");
5
- const ga4_properties_1 = require("../ga4-properties");
6
5
  const action = {
7
6
  title: 'Purchase',
8
7
  description: 'Send event when a user completes a purchase',
9
8
  defaultSubscription: 'type = "track" and event = "Order Completed"',
10
9
  fields: {
11
- client_id: { ...ga4_properties_1.client_id, required: true },
12
- affiliation: { ...ga4_properties_1.affiliation },
13
- coupon: { ...ga4_properties_1.coupon, default: { '@path': '$.properties.coupon' } },
14
- currency: { ...ga4_properties_1.currency, required: true, default: { '@path': '$.properties.currency' } },
10
+ client_id: {
11
+ label: 'Client ID',
12
+ description: 'Uniquely identifies a user instance of a web client.',
13
+ type: 'string',
14
+ required: true,
15
+ default: {
16
+ '@if': {
17
+ exists: { '@path': '$.userId' },
18
+ then: { '@path': '$.userId' },
19
+ else: { '@path': '$.anonymousId' }
20
+ }
21
+ }
22
+ },
23
+ affiliation: {
24
+ label: 'Affiliation',
25
+ type: 'string',
26
+ description: 'Store or affiliation from which this transaction occurred (e.g. Google Store).',
27
+ default: {
28
+ '@path': '$.properties.affiliation'
29
+ }
30
+ },
31
+ coupon: {
32
+ label: 'Coupon',
33
+ type: 'string',
34
+ description: 'Coupon code used for a purchase.',
35
+ default: {
36
+ '@path': '$.properties.coupon'
37
+ }
38
+ },
39
+ currency: {
40
+ label: 'Currency',
41
+ type: 'string',
42
+ description: 'Currency of the purchase or items associated with the event, in 3-letter ISO 4217 format.',
43
+ required: true,
44
+ default: {
45
+ '@path': '$.properties.currency'
46
+ }
47
+ },
15
48
  items: {
16
- ...ga4_properties_1.items,
49
+ label: 'Products',
50
+ description: 'The list of products in the event.',
51
+ type: 'object',
52
+ multiple: true,
53
+ properties: {
54
+ item_id: {
55
+ label: 'Product ID',
56
+ type: 'string',
57
+ description: 'Identifier for the product being purchased.'
58
+ },
59
+ item_name: {
60
+ label: 'Name',
61
+ type: 'string',
62
+ description: 'Name of the product being purchased.'
63
+ },
64
+ affiliation: {
65
+ label: 'Affiliation',
66
+ type: 'string',
67
+ description: 'A product affiliation to designate a supplying company or brick and mortar store location.'
68
+ },
69
+ coupon: {
70
+ label: 'Coupon',
71
+ type: 'string',
72
+ description: 'Coupon code used for a purchase.'
73
+ },
74
+ currency: {
75
+ label: 'Currency',
76
+ type: 'string',
77
+ description: 'Currency of the purchase or items associated with the event, in 3-letter ISO 4217 format.'
78
+ },
79
+ discount: {
80
+ label: 'Discount',
81
+ type: 'number',
82
+ description: 'Monetary value of discount associated with a purchase.'
83
+ },
84
+ index: {
85
+ label: 'Index',
86
+ type: 'number',
87
+ description: 'The index of the item in a list.'
88
+ },
89
+ item_brand: {
90
+ label: 'Brand',
91
+ type: 'string',
92
+ description: 'Brand associated with the product.'
93
+ },
94
+ item_category: {
95
+ label: 'Category',
96
+ type: 'string',
97
+ description: 'Category of the product.'
98
+ },
99
+ item_category2: {
100
+ label: 'Category2',
101
+ type: 'string',
102
+ description: 'The second category of the product.'
103
+ },
104
+ item_category3: {
105
+ label: 'Category3',
106
+ type: 'string',
107
+ description: 'The third category of the product.'
108
+ },
109
+ item_category4: {
110
+ label: 'Category4',
111
+ type: 'string',
112
+ description: 'The fourth category of the product.'
113
+ },
114
+ item_category5: {
115
+ label: 'Category5',
116
+ type: 'string',
117
+ description: 'The fifth category of the product.'
118
+ },
119
+ item_list_id: {
120
+ label: 'Item List Name',
121
+ type: 'string',
122
+ description: 'The ID of the list in which the item was presented to the user.'
123
+ },
124
+ item_list_name: {
125
+ label: 'Item List Name',
126
+ type: 'string',
127
+ description: 'The name of the list in which the item was presented to the user.'
128
+ },
129
+ item_variant: {
130
+ label: 'Variant',
131
+ type: 'string',
132
+ description: 'Variant of the product (e.g. Black).'
133
+ },
134
+ location_id: {
135
+ label: 'Location ID',
136
+ type: 'string',
137
+ description: 'The location associated with the item.'
138
+ },
139
+ price: {
140
+ label: 'Price',
141
+ type: 'number',
142
+ description: 'Price of the product being purchased, in units of the specified currency parameter.'
143
+ },
144
+ quantity: {
145
+ label: 'Quantity',
146
+ type: 'integer',
147
+ description: 'Item quantity.'
148
+ }
149
+ }
150
+ },
151
+ transaction_id: {
152
+ label: 'Order Id',
153
+ type: 'string',
154
+ description: 'The unique identifier of a transaction.',
17
155
  required: true,
18
156
  default: {
19
- '@arrayPath': [
20
- '$.properties.products',
21
- {
22
- item_id: {
23
- '@path': '$.product_id'
24
- },
25
- item_name: {
26
- '@path': '$.name'
27
- },
28
- affiliation: {
29
- '@path': '$.affiliation'
30
- },
31
- coupon: {
32
- '@path': '$.coupon'
33
- },
34
- index: {
35
- '@path': '$.position'
36
- },
37
- item_brand: {
38
- '@path': '$.brand'
39
- },
40
- item_category: {
41
- '@path': '$.category'
42
- },
43
- item_variant: {
44
- '@path': '$.variant'
45
- },
46
- price: {
47
- '@path': '$.price'
48
- },
49
- quantity: {
50
- '@path': '$.quantity'
51
- }
52
- }
53
- ]
157
+ '@path': '$.properties.order_id'
54
158
  }
55
159
  },
56
- transaction_id: { ...ga4_properties_1.transaction_id, required: true },
57
- shipping: { ...ga4_properties_1.shipping },
58
- tax: { ...ga4_properties_1.tax },
59
- value: { ...ga4_properties_1.value, default: { '@path': '$.properties.total' } }
160
+ shipping: {
161
+ label: 'Shipping',
162
+ type: 'number',
163
+ description: 'Shipping cost associated with the transaction.',
164
+ default: {
165
+ '@path': '$.properties.shipping'
166
+ }
167
+ },
168
+ tax: {
169
+ label: 'Tax',
170
+ type: 'number',
171
+ description: 'Total tax associated with the transaction.',
172
+ default: {
173
+ '@path': '$.properties.tax'
174
+ }
175
+ },
176
+ value: {
177
+ label: 'Value',
178
+ type: 'number',
179
+ description: 'The monetary value of the event, in units of the specified currency parameter.',
180
+ default: {
181
+ '@path': '$.properties.total'
182
+ }
183
+ }
60
184
  },
61
185
  perform: (request, { payload }) => {
62
186
  if (!constants_1.CURRENCY_ISO_CODES.includes(payload.currency)) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/google-analytics-4/purchase/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/google-analytics-4/purchase/index.ts"],"names":[],"mappings":"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"}
@@ -2,62 +2,164 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const actions_core_1 = require("@segment/actions-core");
4
4
  const constants_1 = require("../constants");
5
- const ga4_properties_1 = require("../ga4-properties");
6
5
  const action = {
7
6
  title: 'Refund',
8
7
  description: 'Send event when a refund is issued',
9
8
  defaultSubscription: 'type = "track" and event = "Order Refunded"',
10
9
  fields: {
11
- client_id: { ...ga4_properties_1.client_id, required: true },
12
- currency: { ...ga4_properties_1.currency },
13
- transaction_id: { ...ga4_properties_1.transaction_id, required: true },
14
- value: { ...ga4_properties_1.value },
15
- affiliation: { ...ga4_properties_1.affiliation },
16
- coupon: { ...ga4_properties_1.coupon },
17
- shipping: { ...ga4_properties_1.shipping },
10
+ client_id: {
11
+ label: 'Client ID',
12
+ description: 'Uniquely identifies a user instance of a web client.',
13
+ type: 'string',
14
+ required: true,
15
+ default: {
16
+ '@if': {
17
+ exists: { '@path': '$.userId' },
18
+ then: { '@path': '$.userId' },
19
+ else: { '@path': '$.anonymousId' }
20
+ }
21
+ }
22
+ },
23
+ currency: {
24
+ label: 'Currency',
25
+ type: 'string',
26
+ description: 'Currency of the purchase or items associated with the event, in 3-letter ISO 4217 format.'
27
+ },
28
+ transaction_id: {
29
+ label: 'Transaction ID',
30
+ type: 'string',
31
+ required: true,
32
+ description: 'The unique identifier of a transaction.',
33
+ default: {
34
+ '@path': '$.properties.order_id'
35
+ }
36
+ },
37
+ value: {
38
+ label: 'Value',
39
+ type: 'number',
40
+ description: 'The monetary value of the event.'
41
+ },
42
+ affiliation: {
43
+ label: 'Affiliation',
44
+ type: 'string',
45
+ description: 'A product affiliation to designate a supplying company or brick and mortar store location.'
46
+ },
47
+ coupon: {
48
+ label: 'Coupon',
49
+ type: 'string',
50
+ description: 'Coupon code used for a purchase.'
51
+ },
52
+ shipping: {
53
+ label: 'Shipping',
54
+ type: 'number',
55
+ description: 'Shipping cost associated with a transaction.'
56
+ },
18
57
  tax: {
19
58
  label: 'Tax',
20
59
  type: 'number',
21
60
  description: 'Tax cost associated with a transaction.'
22
61
  },
23
62
  items: {
24
- ...ga4_properties_1.items,
25
- default: {
26
- '@arrayPath': [
27
- '$.properties.products',
28
- {
29
- item_id: {
30
- '@path': '$.product_id'
31
- },
32
- item_name: {
33
- '@path': '$.name'
34
- },
35
- affiliation: {
36
- '@path': '$.affiliation'
37
- },
38
- coupon: {
39
- '@path': '$.coupon'
40
- },
41
- index: {
42
- '@path': '$.position'
43
- },
44
- item_brand: {
45
- '@path': '$.brand'
46
- },
47
- item_category: {
48
- '@path': '$.category'
49
- },
50
- item_variant: {
51
- '@path': '$.variant'
52
- },
53
- price: {
54
- '@path': '$.price'
55
- },
56
- quantity: {
57
- '@path': '$.quantity'
58
- }
59
- }
60
- ]
63
+ label: 'Products',
64
+ description: 'The list of products purchased.',
65
+ type: 'object',
66
+ multiple: true,
67
+ properties: {
68
+ item_id: {
69
+ label: 'Product ID',
70
+ type: 'string',
71
+ description: 'Identifier for the product being purchased.'
72
+ },
73
+ item_name: {
74
+ label: 'Name',
75
+ type: 'string',
76
+ description: 'Name of the product being purchased.'
77
+ },
78
+ affiliation: {
79
+ label: 'Affiliation',
80
+ type: 'string',
81
+ description: 'A product affiliation to designate a supplying company or brick and mortar store location.'
82
+ },
83
+ coupon: {
84
+ label: 'Coupon',
85
+ type: 'string',
86
+ description: 'Coupon code used for a purchase.'
87
+ },
88
+ currency: {
89
+ label: 'Currency',
90
+ type: 'string',
91
+ description: 'Currency of the purchase or items associated with the event, in 3-letter ISO 4217 format.'
92
+ },
93
+ discount: {
94
+ label: 'Discount',
95
+ type: 'number',
96
+ description: 'Monetary value of discount associated with a purchase.'
97
+ },
98
+ index: {
99
+ label: 'Index',
100
+ type: 'number',
101
+ description: 'The index/position of the item in a list.'
102
+ },
103
+ item_brand: {
104
+ label: 'Brand',
105
+ type: 'string',
106
+ description: 'Brand associated with the product.'
107
+ },
108
+ item_category: {
109
+ label: 'Category',
110
+ type: 'string',
111
+ description: 'Product category.'
112
+ },
113
+ item_category2: {
114
+ label: 'Category 2',
115
+ type: 'string',
116
+ description: 'Product category 2.'
117
+ },
118
+ item_category3: {
119
+ label: 'Category 3',
120
+ type: 'string',
121
+ description: 'Product category 3.'
122
+ },
123
+ item_category4: {
124
+ label: 'Category 4',
125
+ type: 'string',
126
+ description: 'Product category 4.'
127
+ },
128
+ item_category5: {
129
+ label: 'Category 5',
130
+ type: 'string',
131
+ description: 'Product category 5.'
132
+ },
133
+ item_list_id: {
134
+ label: 'Item List ID',
135
+ type: 'string',
136
+ description: 'The ID of the list in which the item was presented to the user.'
137
+ },
138
+ item_list_name: {
139
+ label: 'Item List Name',
140
+ type: 'string',
141
+ description: 'The name of the list in which the item was presented to the user.'
142
+ },
143
+ item_variant: {
144
+ label: 'Variant',
145
+ type: 'string',
146
+ description: 'Variant of the product (e.g. Black).'
147
+ },
148
+ location_id: {
149
+ label: 'Location ID',
150
+ type: 'string',
151
+ description: 'The location associated with the item.'
152
+ },
153
+ price: {
154
+ label: 'Price',
155
+ type: 'number',
156
+ description: 'Price of the product being purchased, in units of the specified currency parameter.'
157
+ },
158
+ quantity: {
159
+ label: 'Quantity',
160
+ type: 'integer',
161
+ description: 'Item quantity.'
162
+ }
61
163
  }
62
164
  }
63
165
  },