@segment/action-destinations 3.109.0 → 3.110.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 (52) hide show
  1. package/dist/destinations/adobe-target/adobeTarget_operations.js +3 -1
  2. package/dist/destinations/adobe-target/adobeTarget_operations.js.map +1 -1
  3. package/dist/destinations/adobe-target/generated-types.d.ts +1 -0
  4. package/dist/destinations/adobe-target/index.js +15 -0
  5. package/dist/destinations/adobe-target/index.js.map +1 -1
  6. package/dist/destinations/google-enhanced-conversions/functions.d.ts +6 -0
  7. package/dist/destinations/google-enhanced-conversions/functions.js +54 -0
  8. package/dist/destinations/google-enhanced-conversions/functions.js.map +1 -0
  9. package/dist/destinations/google-enhanced-conversions/generated-types.d.ts +2 -1
  10. package/dist/destinations/google-enhanced-conversions/index.js +14 -7
  11. package/dist/destinations/google-enhanced-conversions/index.js.map +1 -1
  12. package/dist/destinations/google-enhanced-conversions/postConversion/index.js +7 -1
  13. package/dist/destinations/google-enhanced-conversions/postConversion/index.js.map +1 -1
  14. package/dist/destinations/google-enhanced-conversions/types.d.ts +23 -0
  15. package/dist/destinations/google-enhanced-conversions/types.js +5 -0
  16. package/dist/destinations/google-enhanced-conversions/types.js.map +1 -0
  17. package/dist/destinations/google-enhanced-conversions/uploadCallConversion/generated-types.d.ts +11 -0
  18. package/dist/destinations/google-enhanced-conversions/uploadCallConversion/generated-types.js +3 -0
  19. package/dist/destinations/google-enhanced-conversions/uploadCallConversion/generated-types.js.map +1 -0
  20. package/dist/destinations/google-enhanced-conversions/uploadCallConversion/index.d.ts +5 -0
  21. package/dist/destinations/google-enhanced-conversions/uploadCallConversion/index.js +92 -0
  22. package/dist/destinations/google-enhanced-conversions/uploadCallConversion/index.js.map +1 -0
  23. package/dist/destinations/google-enhanced-conversions/uploadClickConversion/generated-types.d.ts +25 -0
  24. package/dist/destinations/google-enhanced-conversions/uploadClickConversion/generated-types.js +3 -0
  25. package/dist/destinations/google-enhanced-conversions/uploadClickConversion/generated-types.js.map +1 -0
  26. package/dist/destinations/google-enhanced-conversions/uploadClickConversion/index.d.ts +5 -0
  27. package/dist/destinations/google-enhanced-conversions/uploadClickConversion/index.js +229 -0
  28. package/dist/destinations/google-enhanced-conversions/uploadClickConversion/index.js.map +1 -0
  29. package/dist/destinations/google-enhanced-conversions/uploadConversionAdjustment/generated-types.d.ts +20 -0
  30. package/dist/destinations/google-enhanced-conversions/uploadConversionAdjustment/generated-types.js +3 -0
  31. package/dist/destinations/google-enhanced-conversions/uploadConversionAdjustment/generated-types.js.map +1 -0
  32. package/dist/destinations/google-enhanced-conversions/uploadConversionAdjustment/index.d.ts +5 -0
  33. package/dist/destinations/google-enhanced-conversions/uploadConversionAdjustment/index.js +286 -0
  34. package/dist/destinations/google-enhanced-conversions/uploadConversionAdjustment/index.js.map +1 -0
  35. package/dist/destinations/hubspot/createCustomObjectRecord/generated-types.d.ts +6 -0
  36. package/dist/destinations/hubspot/createCustomObjectRecord/generated-types.js +3 -0
  37. package/dist/destinations/hubspot/createCustomObjectRecord/generated-types.js.map +1 -0
  38. package/dist/destinations/hubspot/createCustomObjectRecord/index.d.ts +5 -0
  39. package/dist/destinations/hubspot/createCustomObjectRecord/index.js +38 -0
  40. package/dist/destinations/hubspot/createCustomObjectRecord/index.js.map +1 -0
  41. package/dist/destinations/hubspot/generated-types.d.ts +2 -0
  42. package/dist/destinations/hubspot/generated-types.js +3 -0
  43. package/dist/destinations/hubspot/generated-types.js.map +1 -0
  44. package/dist/destinations/hubspot/index.d.ts +4 -0
  45. package/dist/destinations/hubspot/index.js +42 -0
  46. package/dist/destinations/hubspot/index.js.map +1 -0
  47. package/dist/destinations/hubspot/testHelper.d.ts +7 -0
  48. package/dist/destinations/hubspot/testHelper.js +24 -0
  49. package/dist/destinations/hubspot/testHelper.js.map +1 -0
  50. package/dist/destinations/index.js +1 -0
  51. package/dist/destinations/index.js.map +1 -1
  52. package/package.json +4 -4
@@ -40,7 +40,9 @@ class AdobeTarget {
40
40
  await this.request(`https://${clientCode}.tt.omtrdc.net/rest/v1/profiles/thirdPartyId/${userId}?client=${clientCode}`, { method: 'get' });
41
41
  }
42
42
  catch (error) {
43
- return new actions_core_1.IntegrationError('No profile found in Adobe Target with this mbox3rdPartyId', 'Profile not found', 404);
43
+ if (error instanceof Error) {
44
+ return new actions_core_1.IntegrationError(error.message, error.stack, error.message == 'Forbidden' ? 403 : 400);
45
+ }
44
46
  }
45
47
  return undefined;
46
48
  };
@@ -1 +1 @@
1
- {"version":3,"file":"adobeTarget_operations.js","sourceRoot":"","sources":["../../../src/destinations/adobe-target/adobeTarget_operations.ts"],"names":[],"mappings":";;AAAA,wDAAuE;AAEvE,SAAS,gBAAgB,CAAC,GAAyB,EAAE,UAAU,GAAG,EAAE,EAAE,aAAsC,EAAE;IAE5G,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,SAAS,EAAE;QACnC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC/B,MAAM,cAAc,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA;YAEhE,IAAI,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE;gBAChC,UAAU,CAAC,cAAc,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAA;aACjD;iBAAM;gBACL,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,cAAc,EAAE,UAAU,CAAC,CAAA;aACvD;QACH,CAAC,CAAC,CAAA;QACF,OAAO,UAAU,CAAA;KAClB;AACH,CAAC;AACD,MAAM,mBAAmB,GAAG,CAAC,MAAmD,EAAE,EAAE,CAClF,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;KAChB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC;KACxD,IAAI,CAAC,GAAG,CAAC,CAAA;AAEd,MAAqB,WAAW;IAM9B,YAAY,MAAc,EAAE,UAAkB,EAAE,MAAc,EAAE,OAAsB;QAOtF,kBAAa,GAAG,KAAK,IAAI,EAAE;YACzB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;YAClE,IAAI,GAAG,EAAE;gBACP,MAAM,GAAG,CAAA;aACV;iBAAM;gBACL,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBAC5C,IAAI,MAAM,EAAE;oBACV,MAAM,UAAU,GAAG,WAAW,IAAI,CAAC,UAAU,qBAC3C,IAAI,CAAC,UACP,kCAAkC,IAAI,CAAC,MAAM,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAA;oBAE9E,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;wBAC9B,MAAM,EAAE,MAAM;qBACf,CAAC,CAAA;iBACH;aACF;QACH,CAAC,CAAA;QAEO,kBAAa,GAAG,KAAK,EAAE,MAAc,EAAE,UAAkB,EAAyC,EAAE;YAC1G,IAAI;gBACF,MAAM,IAAI,CAAC,OAAO,CAChB,WAAW,UAAU,gDAAgD,MAAM,WAAW,UAAU,EAAE,EAClG,EAAE,MAAM,EAAE,KAAK,EAAE,CAClB,CAAA;aACF;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,IAAI,+BAAgB,CAAC,2DAA2D,EAAE,mBAAmB,EAAE,GAAG,CAAC,CAAA;aACnH;YAED,OAAO,SAAS,CAAA;QAClB,CAAC,CAAA;QAnCC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;CAgCF;AA3CD,8BA2CC"}
1
+ {"version":3,"file":"adobeTarget_operations.js","sourceRoot":"","sources":["../../../src/destinations/adobe-target/adobeTarget_operations.ts"],"names":[],"mappings":";;AAAA,wDAAuE;AAEvE,SAAS,gBAAgB,CAAC,GAAyB,EAAE,UAAU,GAAG,EAAE,EAAE,aAAsC,EAAE;IAE5G,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,SAAS,EAAE;QACnC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC/B,MAAM,cAAc,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA;YAEhE,IAAI,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE;gBAChC,UAAU,CAAC,cAAc,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAA;aACjD;iBAAM;gBACL,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,cAAc,EAAE,UAAU,CAAC,CAAA;aACvD;QACH,CAAC,CAAC,CAAA;QACF,OAAO,UAAU,CAAA;KAClB;AACH,CAAC;AACD,MAAM,mBAAmB,GAAG,CAAC,MAAmD,EAAE,EAAE,CAClF,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;KAChB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC;KACxD,IAAI,CAAC,GAAG,CAAC,CAAA;AAEd,MAAqB,WAAW;IAM9B,YAAY,MAAc,EAAE,UAAkB,EAAE,MAAc,EAAE,OAAsB;QAOtF,kBAAa,GAAG,KAAK,IAAI,EAAE;YACzB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;YAClE,IAAI,GAAG,EAAE;gBACP,MAAM,GAAG,CAAA;aACV;iBAAM;gBACL,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBAC5C,IAAI,MAAM,EAAE;oBACV,MAAM,UAAU,GAAG,WAAW,IAAI,CAAC,UAAU,qBAC3C,IAAI,CAAC,UACP,kCAAkC,IAAI,CAAC,MAAM,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAA;oBAE9E,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;wBAC9B,MAAM,EAAE,MAAM;qBACf,CAAC,CAAA;iBACH;aACF;QACH,CAAC,CAAA;QAEO,kBAAa,GAAG,KAAK,EAAE,MAAc,EAAE,UAAkB,EAAyC,EAAE;YAC1G,IAAI;gBACF,MAAM,IAAI,CAAC,OAAO,CAChB,WAAW,UAAU,gDAAgD,MAAM,WAAW,UAAU,EAAE,EAClG,EAAE,MAAM,EAAE,KAAK,EAAE,CAClB,CAAA;aACF;YAAC,OAAO,KAAK,EAAE;gBACd,IAAI,KAAK,YAAY,KAAK,EAAE;oBAC1B,OAAO,IAAI,+BAAgB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;iBAClG;aACF;YAED,OAAO,SAAS,CAAA;QAClB,CAAC,CAAA;QArCC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;CAkCF;AA7CD,8BA6CC"}
@@ -1,3 +1,4 @@
1
1
  export interface Settings {
2
2
  client_code: string;
3
+ bearer_token?: string;
3
4
  }
@@ -16,9 +16,24 @@ const destination = {
16
16
  description: 'Your Adobe Target client code. To find your client code in Adobe Target, navigate to **Administration > Implementation**. The client code is shown at the top under Account Details.',
17
17
  type: 'string',
18
18
  required: true
19
+ },
20
+ bearer_token: {
21
+ label: 'Authentication Token',
22
+ description: "If you choose to require authentication for Adobe Target's Profile API, you will need to generate an authentication token. Tokens can be generated in your Adobe Target account under the Implementation Settings tab or via the [Adobe.IO Authentication Token API](https://developers.adobetarget.com/api/#authentication-tokens). Input the authentication token here. Note: Authentication tokens expire so a new token will need to be generated and updated here prior to expiration.",
23
+ type: 'string'
19
24
  }
20
25
  }
21
26
  },
27
+ extendRequest({ settings }) {
28
+ if (settings.bearer_token) {
29
+ return {
30
+ headers: {
31
+ Authorization: `Bearer ${settings.bearer_token}`
32
+ }
33
+ };
34
+ }
35
+ return {};
36
+ },
22
37
  actions: {
23
38
  updateProfile: updateProfile_1.default
24
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/adobe-target/index.ts"],"names":[],"mappings":";;;;;AAGA,oEAA2C;AAE3C,MAAM,WAAW,GAAoC;IACnD,IAAI,EAAE,yBAAyB;IAC/B,IAAI,EAAE,4BAA4B;IAClC,IAAI,EAAE,OAAO;IAEb,cAAc,EAAE;QACd,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE;YACN,WAAW,EAAE;gBACX,KAAK,EAAE,aAAa;gBACpB,WAAW,EACT,sLAAsL;gBACxL,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;SACF;KACF;IACD,OAAO,EAAE;QACP,aAAa,EAAb,uBAAa;KACd;CACF,CAAA;AAED,kBAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/adobe-target/index.ts"],"names":[],"mappings":";;;;;AAGA,oEAA2C;AAE3C,MAAM,WAAW,GAAoC;IACnD,IAAI,EAAE,yBAAyB;IAC/B,IAAI,EAAE,4BAA4B;IAClC,IAAI,EAAE,OAAO;IAEb,cAAc,EAAE;QACd,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE;YACN,WAAW,EAAE;gBACX,KAAK,EAAE,aAAa;gBACpB,WAAW,EACT,sLAAsL;gBACxL,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;YACD,YAAY,EAAE;gBACZ,KAAK,EAAE,sBAAsB;gBAC7B,WAAW,EACT,6dAA6d;gBAC/d,IAAI,EAAE,QAAQ;aACf;SACF;KACF;IACD,aAAa,CAAC,EAAE,QAAQ,EAAE;QACxB,IAAI,QAAQ,CAAC,YAAY,EAAE;YACzB,OAAO;gBACL,OAAO,EAAE;oBACP,aAAa,EAAE,UAAU,QAAQ,CAAC,YAAY,EAAE;iBACjD;aACF,CAAA;SACF;QACD,OAAO,EAAE,CAAA;IACX,CAAC;IACD,OAAO,EAAE;QACP,aAAa,EAAb,uBAAa;KACd;CACF,CAAA;AAED,kBAAe,WAAW,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { ConversionCustomVariable, PartialErrorResponse, QueryResponse } from './types';
2
+ import { ModifiedResponse, RequestClient } from '@segment/actions-core';
3
+ export declare function formatCustomVariables(customVariables: object, customVariableIdsResults: Array<ConversionCustomVariable>): object;
4
+ export declare const hash: (value: string | undefined) => string | undefined;
5
+ export declare function getCustomVariables(customerId: string, auth: any, request: RequestClient): Promise<ModifiedResponse<QueryResponse[]>>;
6
+ export declare function handleGoogleErrors(response: ModifiedResponse<PartialErrorResponse>): void;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleGoogleErrors = exports.getCustomVariables = exports.hash = exports.formatCustomVariables = void 0;
4
+ const crypto_1 = require("crypto");
5
+ const actions_core_1 = require("@segment/actions-core");
6
+ const types_1 = require("./types");
7
+ function formatCustomVariables(customVariables, customVariableIdsResults) {
8
+ const resourceNames = {};
9
+ Object.entries(customVariableIdsResults).forEach(([_, customVariablesIds]) => {
10
+ resourceNames[customVariablesIds.conversionCustomVariable.name] =
11
+ customVariablesIds.conversionCustomVariable.resourceName;
12
+ });
13
+ const variables = [];
14
+ Object.entries(customVariables).forEach(([key, value]) => {
15
+ if (resourceNames[key] != undefined) {
16
+ const variable = {
17
+ conversionCustomVariable: resourceNames[key],
18
+ value: value
19
+ };
20
+ variables.push(variable);
21
+ }
22
+ });
23
+ return variables;
24
+ }
25
+ exports.formatCustomVariables = formatCustomVariables;
26
+ const hash = (value) => {
27
+ if (value === undefined) {
28
+ return;
29
+ }
30
+ const hash = crypto_1.createHash('sha256');
31
+ hash.update(value);
32
+ return hash.digest('hex');
33
+ };
34
+ exports.hash = hash;
35
+ async function getCustomVariables(customerId, auth, request) {
36
+ return await request(`${types_1.GoogleAdsAPI}/${customerId}/googleAds:searchStream`, {
37
+ method: 'post',
38
+ headers: {
39
+ authorization: `Bearer ${auth?.accessToken}`,
40
+ 'developer-token': `${process.env.ADWORDS_DEVELOPER_TOKEN}`
41
+ },
42
+ json: {
43
+ query: `SELECT conversion_custom_variable.id, conversion_custom_variable.name FROM conversion_custom_variable`
44
+ }
45
+ });
46
+ }
47
+ exports.getCustomVariables = getCustomVariables;
48
+ function handleGoogleErrors(response) {
49
+ if (response.data.partialFailureError.code !== 0) {
50
+ throw new actions_core_1.IntegrationError(response.data.partialFailureError.message, 'INVALID_ARGUMENT', 400);
51
+ }
52
+ }
53
+ exports.handleGoogleErrors = handleGoogleErrors;
54
+ //# sourceMappingURL=functions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../src/destinations/google-enhanced-conversions/functions.ts"],"names":[],"mappings":";;;AAAA,mCAAmC;AAEnC,wDAAyF;AACzF,mCAAsC;AAEtC,SAAgB,qBAAqB,CACnC,eAAuB,EACvB,wBAAyD;IAGzD,MAAM,aAAa,GAA2B,EAAE,CAAA;IAChD,MAAM,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,kBAAkB,CAAC,EAAE,EAAE;QAC3E,aAAa,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,IAAI,CAAC;YAC7D,kBAAkB,CAAC,wBAAwB,CAAC,YAAY,CAAA;IAC5D,CAAC,CAAC,CAAA;IAEF,MAAM,SAAS,GAA0D,EAAE,CAAA;IAC3E,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QACvD,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,SAAS,EAAE;YACnC,MAAM,QAAQ,GAAG;gBACf,wBAAwB,EAAE,aAAa,CAAC,GAAG,CAAC;gBAC5C,KAAK,EAAE,KAAK;aACb,CAAA;YACD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;SACzB;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,SAAS,CAAA;AAClB,CAAC;AAvBD,sDAuBC;AAEM,MAAM,IAAI,GAAG,CAAC,KAAyB,EAAsB,EAAE;IACpE,IAAI,KAAK,KAAK,SAAS,EAAE;QACvB,OAAM;KACP;IAED,MAAM,IAAI,GAAG,mBAAU,CAAC,QAAQ,CAAC,CAAA;IACjC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAClB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC3B,CAAC,CAAA;AARY,QAAA,IAAI,QAQhB;AAEM,KAAK,UAAU,kBAAkB,CACtC,UAAkB,EAClB,IAAS,EACT,OAAsB;IAEtB,OAAO,MAAM,OAAO,CAAC,GAAG,oBAAY,IAAI,UAAU,yBAAyB,EAAE;QAC3E,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,IAAI,EAAE,WAAW,EAAE;YAC5C,iBAAiB,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE;SAC5D;QACD,IAAI,EAAE;YACJ,KAAK,EAAE,uGAAuG;SAC/G;KACF,CAAC,CAAA;AACJ,CAAC;AAfD,gDAeC;AAKD,SAAgB,kBAAkB,CAAC,QAAgD;IACjF,IAAI,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,KAAK,CAAC,EAAE;QAChD,MAAM,IAAI,+BAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,kBAAkB,EAAE,GAAG,CAAC,CAAA;KAC/F;AACH,CAAC;AAJD,gDAIC"}
@@ -1,3 +1,4 @@
1
1
  export interface Settings {
2
- conversionTrackingId: string;
2
+ conversionTrackingId?: string;
3
+ customerId?: string;
3
4
  }
@@ -4,6 +4,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const postConversion_1 = __importDefault(require("./postConversion"));
7
+ const uploadCallConversion_1 = __importDefault(require("./uploadCallConversion"));
8
+ const uploadClickConversion_1 = __importDefault(require("./uploadClickConversion"));
9
+ const uploadConversionAdjustment_1 = __importDefault(require("./uploadConversionAdjustment"));
7
10
  const destination = {
8
11
  name: 'Google Enhanced Conversions',
9
12
  slug: 'actions-google-enhanced-conversions',
@@ -14,8 +17,12 @@ const destination = {
14
17
  conversionTrackingId: {
15
18
  label: 'Conversion ID',
16
19
  description: 'You will find this information in the event snippet for your conversion action, for example `send_to: AW-CONVERSION_ID/AW-CONVERSION_LABEL`. In the sample snippet, AW-CONVERSION_ID stands for the conversion ID unique to your account. Enter the conversion Id, without the AW- prefix.',
17
- type: 'string',
18
- required: true
20
+ type: 'string'
21
+ },
22
+ customerId: {
23
+ label: 'Customer ID',
24
+ description: 'ID of your Google Ads Account. This should be 10-digits and in XXX-XXX-XXXX format. **Required if you are using a mapping that sends data to the Google Ads API.**',
25
+ type: 'string'
19
26
  }
20
27
  },
21
28
  testAuthentication: async (_request) => {
@@ -34,18 +41,18 @@ const destination = {
34
41
  return { accessToken: res.data.access_token };
35
42
  }
36
43
  },
37
- extendRequest({ settings, auth }) {
44
+ extendRequest({ auth }) {
38
45
  return {
39
46
  headers: {
40
47
  authorization: `Bearer ${auth?.accessToken}`
41
- },
42
- searchParams: {
43
- conversion_tracking_id: settings.conversionTrackingId
44
48
  }
45
49
  };
46
50
  },
47
51
  actions: {
48
- postConversion: postConversion_1.default
52
+ postConversion: postConversion_1.default,
53
+ uploadClickConversion: uploadClickConversion_1.default,
54
+ uploadCallConversion: uploadCallConversion_1.default,
55
+ uploadConversionAdjustment: uploadConversionAdjustment_1.default
49
56
  }
50
57
  };
51
58
  exports.default = destination;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/google-enhanced-conversions/index.ts"],"names":[],"mappings":";;;;;AAEA,sEAA6C;AAe7C,MAAM,WAAW,GAAoC;IAGnD,IAAI,EAAE,6BAA6B;IACnC,IAAI,EAAE,qCAAqC;IAC3C,IAAI,EAAE,OAAO;IACb,cAAc,EAAE;QACd,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE;YACN,oBAAoB,EAAE;gBACpB,KAAK,EAAE,eAAe;gBACtB,WAAW,EACT,4RAA4R;gBAC9R,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;SACF;QACD,kBAAkB,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;YAQrC,OAAO,IAAI,CAAA;QACb,CAAC;QACD,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;YAC9C,MAAM,GAAG,GAAG,MAAM,OAAO,CAAuB,4CAA4C,EAAE;gBAC5F,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,IAAI,eAAe,CAAC;oBACxB,aAAa,EAAE,IAAI,CAAC,YAAY;oBAChC,SAAS,EAAE,IAAI,CAAC,QAAQ;oBACxB,aAAa,EAAE,IAAI,CAAC,YAAY;oBAChC,UAAU,EAAE,eAAe;iBAC5B,CAAC;aACH,CAAC,CAAA;YAEF,OAAO,EAAE,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAA;QAC/C,CAAC;KACF;IACD,aAAa,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC9B,OAAO;YACL,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,IAAI,EAAE,WAAW,EAAE;aAC7C;YACD,YAAY,EAAE;gBACZ,sBAAsB,EAAE,QAAQ,CAAC,oBAAoB;aACtD;SACF,CAAA;IACH,CAAC;IACD,OAAO,EAAE;QACP,cAAc,EAAd,wBAAc;KACf;CACF,CAAA;AAED,kBAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/google-enhanced-conversions/index.ts"],"names":[],"mappings":";;;;;AAEA,sEAA6C;AAC7C,kFAAyD;AACzD,oFAA2D;AAC3D,8FAAqE;AAerE,MAAM,WAAW,GAAoC;IAGnD,IAAI,EAAE,6BAA6B;IACnC,IAAI,EAAE,qCAAqC;IAC3C,IAAI,EAAE,OAAO;IACb,cAAc,EAAE;QACd,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE;YACN,oBAAoB,EAAE;gBACpB,KAAK,EAAE,eAAe;gBACtB,WAAW,EACT,4RAA4R;gBAC9R,IAAI,EAAE,QAAQ;aACf;YACD,UAAU,EAAE;gBACV,KAAK,EAAE,aAAa;gBACpB,WAAW,EACT,oKAAoK;gBACtK,IAAI,EAAE,QAAQ;aACf;SACF;QACD,kBAAkB,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;YAQrC,OAAO,IAAI,CAAA;QACb,CAAC;QACD,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;YAC9C,MAAM,GAAG,GAAG,MAAM,OAAO,CAAuB,4CAA4C,EAAE;gBAC5F,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,IAAI,eAAe,CAAC;oBACxB,aAAa,EAAE,IAAI,CAAC,YAAY;oBAChC,SAAS,EAAE,IAAI,CAAC,QAAQ;oBACxB,aAAa,EAAE,IAAI,CAAC,YAAY;oBAChC,UAAU,EAAE,eAAe;iBAC5B,CAAC;aACH,CAAC,CAAA;YAEF,OAAO,EAAE,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAA;QAC/C,CAAC;KACF;IACD,aAAa,CAAC,EAAE,IAAI,EAAE;QACpB,OAAO;YACL,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,IAAI,EAAE,WAAW,EAAE;aAC7C;SACF,CAAA;IACH,CAAC;IACD,OAAO,EAAE;QACP,cAAc,EAAd,wBAAc;QACd,qBAAqB,EAArB,+BAAqB;QACrB,oBAAoB,EAApB,8BAAoB;QACpB,0BAA0B,EAA1B,oCAA0B;KAC3B;CACF,CAAA;AAED,kBAAe,WAAW,CAAA"}
@@ -178,7 +178,10 @@ const action = {
178
178
  }
179
179
  }
180
180
  },
181
- perform: async (request, { payload }) => {
181
+ perform: async (request, { payload, settings }) => {
182
+ if (!settings.conversionTrackingId) {
183
+ throw new actions_core_1.IntegrationError('Conversion ID is required for this action. Please set it in destination settings.', 'Missing required fields.', 400);
184
+ }
182
185
  const conversionData = formatter_1.cleanData({
183
186
  oid: payload.transaction_id,
184
187
  user_agent: payload.user_agent,
@@ -208,6 +211,9 @@ const action = {
208
211
  try {
209
212
  return await request('https://www.google.com/ads/event/api/v1', {
210
213
  method: 'post',
214
+ searchParams: {
215
+ conversion_tracking_id: settings.conversionTrackingId
216
+ },
211
217
  json: {
212
218
  pii_data: { ...pii_data, address: [address] },
213
219
  ...conversionData
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/google-enhanced-conversions/postConversion/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/google-enhanced-conversions/postConversion/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ export interface CartItem {
2
+ productId?: string;
3
+ quantity?: number;
4
+ unitPrice?: number;
5
+ }
6
+ export interface ConversionCustomVariable {
7
+ conversionCustomVariable: {
8
+ resourceName: string;
9
+ id: string;
10
+ name: string;
11
+ };
12
+ }
13
+ export interface QueryResponse {
14
+ results: Array<ConversionCustomVariable>;
15
+ }
16
+ export interface PartialErrorResponse {
17
+ partialFailureError: {
18
+ code: number;
19
+ message: string;
20
+ };
21
+ results: {}[];
22
+ }
23
+ export declare const GoogleAdsAPI = "https://googleads.googleapis.com/v11/customers";
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GoogleAdsAPI = void 0;
4
+ exports.GoogleAdsAPI = 'https://googleads.googleapis.com/v11/customers';
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/destinations/google-enhanced-conversions/types.ts"],"names":[],"mappings":";;;AA0Ba,QAAA,YAAY,GAAG,gDAAgD,CAAA"}
@@ -0,0 +1,11 @@
1
+ export interface Payload {
2
+ conversion_action: string;
3
+ caller_id: string;
4
+ call_timestamp?: string;
5
+ conversion_timestamp: string;
6
+ value?: number;
7
+ currency?: string;
8
+ custom_variables?: {
9
+ [k: string]: unknown;
10
+ };
11
+ }
@@ -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/google-enhanced-conversions/uploadCallConversion/generated-types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import { ActionDefinition } from '@segment/actions-core';
2
+ import type { Settings } from '../generated-types';
3
+ import type { Payload } from './generated-types';
4
+ declare const action: ActionDefinition<Settings, Payload>;
5
+ export default action;
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const actions_core_1 = require("@segment/actions-core");
4
+ const functions_1 = require("../functions");
5
+ const types_1 = require("../types");
6
+ const action = {
7
+ title: 'Upload Call Conversion',
8
+ description: 'Upload an offline call conversion to the Google Ads API.',
9
+ fields: {
10
+ conversion_action: {
11
+ label: 'Conversion Action ID',
12
+ description: 'The ID of the conversion action associated with this conversion. To find the Conversion Action ID, click on your conversion in Google Ads and get the value for `ctId` in the URL. For example, if the URL is `https://ads.google.com/aw/conversions/detail?ocid=00000000&ctId=570000000`, your Conversion Action ID is `570000000`.',
13
+ type: 'string',
14
+ required: true
15
+ },
16
+ caller_id: {
17
+ label: 'Caller ID',
18
+ description: 'The caller ID from which this call was placed. Caller ID is expected to be in E.164 format with preceding + sign, e.g. "+16502531234".',
19
+ type: 'string',
20
+ required: true
21
+ },
22
+ call_timestamp: {
23
+ label: 'Call Timestamp',
24
+ description: 'The date time at which the call occurred. The timezone must be specified. The format is "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. "2019-01-01 12:32:45-08:00".',
25
+ type: 'string'
26
+ },
27
+ conversion_timestamp: {
28
+ label: 'Conversion Timestamp',
29
+ description: 'The date time at which the conversion occurred. Must be after the click time. The timezone must be specified. The format is "yyyy-mm-dd hh:mm:ss+|-hh:mm", e.g. "2019-01-01 12:32:45-08:00".',
30
+ type: 'string',
31
+ required: true,
32
+ default: {
33
+ '@path': '$.timestamp'
34
+ }
35
+ },
36
+ value: {
37
+ label: 'Value',
38
+ description: 'The value of the conversion for the advertiser.',
39
+ type: 'number',
40
+ default: {
41
+ '@path': '$.properties.total'
42
+ }
43
+ },
44
+ currency: {
45
+ label: 'Currency',
46
+ description: 'Currency associated with the conversion value. This is the ISO 4217 3-character currency code.',
47
+ type: 'string',
48
+ default: {
49
+ '@path': '$.properties.currency'
50
+ }
51
+ },
52
+ custom_variables: {
53
+ label: 'Custom Variables',
54
+ description: 'The custom variables associated with this conversion. On the left-hand side, input the name of the custom variable as it appears in your Google Ads account. On the right-hand side, map the Segment field that contains the corresponding value See [Google’s documentation on how to create custom conversion variables](https://developers.google.com/google-ads/api/docs/conversions/conversion-custom-variables).',
55
+ type: 'object',
56
+ additionalProperties: true,
57
+ defaultObjectUI: 'keyvalue:only'
58
+ }
59
+ },
60
+ perform: async (request, { auth, settings, payload }) => {
61
+ if (!settings.customerId) {
62
+ throw new actions_core_1.IntegrationError('Customer ID is required for this action. Please set it in destination settings.', 'Missing required fields.', 400);
63
+ }
64
+ settings.customerId = settings.customerId.replace(/-/g, '');
65
+ const request_object = {
66
+ conversionAction: `customers/${settings.customerId}/conversionActions/${payload.conversion_action}`,
67
+ callerId: payload.caller_id,
68
+ callStartDateTime: payload.call_timestamp?.replace(/T/, ' ').replace(/\..+/, '+00:00'),
69
+ conversionDateTime: payload.conversion_timestamp.replace(/T/, ' ').replace(/\..+/, '+00:00'),
70
+ conversionValue: payload.value,
71
+ currencyCode: payload.currency
72
+ };
73
+ if (payload.custom_variables) {
74
+ const customVariableIds = await functions_1.getCustomVariables(settings.customerId, auth, request);
75
+ request_object.customVariables = functions_1.formatCustomVariables(payload.custom_variables, customVariableIds.data[0].results);
76
+ }
77
+ const response = await request(`${types_1.GoogleAdsAPI}/${settings.customerId}:uploadCallConversions`, {
78
+ method: 'post',
79
+ headers: {
80
+ 'developer-token': `${process.env.ADWORDS_DEVELOPER_TOKEN}`
81
+ },
82
+ json: {
83
+ conversions: [request_object],
84
+ partialFailure: true
85
+ }
86
+ });
87
+ functions_1.handleGoogleErrors(response);
88
+ return response;
89
+ }
90
+ };
91
+ exports.default = action;
92
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/google-enhanced-conversions/uploadCallConversion/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ export interface Payload {
2
+ conversion_action: string;
3
+ gclid?: string;
4
+ gbraid?: string;
5
+ wbraid?: string;
6
+ conversion_timestamp: string;
7
+ email_address?: string;
8
+ phone_number?: string;
9
+ order_id?: string;
10
+ value?: number;
11
+ currency?: string;
12
+ conversion_environment?: string;
13
+ merchant_id?: string;
14
+ merchant_country_code?: string;
15
+ merchant_language_code?: string;
16
+ local_cost?: number;
17
+ items?: {
18
+ product_id?: string;
19
+ quantity?: number;
20
+ price?: number;
21
+ }[];
22
+ custom_variables?: {
23
+ [k: string]: unknown;
24
+ };
25
+ }
@@ -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/google-enhanced-conversions/uploadClickConversion/generated-types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import { ActionDefinition } from '@segment/actions-core';
2
+ import type { Settings } from '../generated-types';
3
+ import type { Payload } from './generated-types';
4
+ declare const action: ActionDefinition<Settings, Payload>;
5
+ export default action;