@segment/action-destinations 3.110.1-alpha.3 → 3.110.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.
- package/dist/destinations/actions-pardot/prospects/index.js.map +1 -1
- package/dist/destinations/adobe-target/adobeTarget_operations.d.ts +1 -1
- package/dist/destinations/adobe-target/adobeTarget_operations.js +21 -15
- package/dist/destinations/adobe-target/adobeTarget_operations.js.map +1 -1
- package/dist/destinations/adobe-target/generated-types.d.ts +1 -0
- package/dist/destinations/adobe-target/index.js +15 -0
- package/dist/destinations/adobe-target/index.js.map +1 -1
- package/dist/destinations/amplitude/compact.d.ts +2 -0
- package/dist/destinations/amplitude/compact.js +7 -0
- package/dist/destinations/amplitude/compact.js.map +1 -0
- package/dist/destinations/amplitude/index.js +6 -6
- package/dist/destinations/amplitude/index.js.map +1 -1
- package/dist/destinations/amplitude/logEvent/generated-types.d.ts +0 -21
- package/dist/destinations/amplitude/logEvent/index.js +10 -96
- package/dist/destinations/amplitude/logEvent/index.js.map +1 -1
- package/dist/destinations/amplitude/logEventV2/index.js +16 -15
- package/dist/destinations/amplitude/logEventV2/index.js.map +1 -1
- package/dist/destinations/cordial/addProductToCart/index.js +1 -1
- package/dist/destinations/cordial/addProductToCart/index.js.map +1 -1
- package/dist/destinations/cordial/index.js +1 -1
- package/dist/destinations/cordial/index.js.map +1 -1
- package/dist/destinations/cordial/removeProductFromCart/index.js.map +1 -1
- package/dist/destinations/cordial/upsertOrder/index.js +8 -8
- package/dist/destinations/cordial/upsertOrder/index.js.map +1 -1
- package/dist/destinations/customerio/trackEvent/index.js.map +1 -1
- package/dist/destinations/engage-messaging-sendgrid/generated-types.d.ts +0 -1
- package/dist/destinations/engage-messaging-sendgrid/index.js +0 -5
- package/dist/destinations/engage-messaging-sendgrid/index.js.map +1 -1
- package/dist/destinations/engage-messaging-sendgrid/sendEmail/generated-types.d.ts +1 -0
- package/dist/destinations/engage-messaging-sendgrid/sendEmail/index.js +8 -6
- package/dist/destinations/engage-messaging-sendgrid/sendEmail/index.js.map +1 -1
- package/dist/destinations/engage-messaging-twilio/sendSms/index.js.map +1 -1
- package/dist/destinations/facebook-conversions-api/addToCart/index.js +1 -5
- package/dist/destinations/facebook-conversions-api/addToCart/index.js.map +1 -1
- package/dist/destinations/facebook-conversions-api/custom/index.js +1 -5
- package/dist/destinations/facebook-conversions-api/custom/index.js.map +1 -1
- package/dist/destinations/facebook-conversions-api/fb-capi-properties.d.ts +2 -1
- package/dist/destinations/facebook-conversions-api/fb-capi-properties.js +8 -6
- package/dist/destinations/facebook-conversions-api/fb-capi-properties.js.map +1 -1
- package/dist/destinations/facebook-conversions-api/initiateCheckout/index.js +1 -5
- package/dist/destinations/facebook-conversions-api/initiateCheckout/index.js.map +1 -1
- package/dist/destinations/facebook-conversions-api/pageView/index.js +1 -5
- package/dist/destinations/facebook-conversions-api/pageView/index.js.map +1 -1
- package/dist/destinations/facebook-conversions-api/purchase/index.js +1 -5
- package/dist/destinations/facebook-conversions-api/purchase/index.js.map +1 -1
- package/dist/destinations/facebook-conversions-api/search/index.js +1 -5
- package/dist/destinations/facebook-conversions-api/search/index.js.map +1 -1
- package/dist/destinations/facebook-conversions-api/viewContent/index.js +1 -5
- package/dist/destinations/facebook-conversions-api/viewContent/index.js.map +1 -1
- package/dist/destinations/google-enhanced-conversions/functions.d.ts +5 -2
- package/dist/destinations/google-enhanced-conversions/functions.js +27 -7
- package/dist/destinations/google-enhanced-conversions/functions.js.map +1 -1
- package/dist/destinations/google-enhanced-conversions/index.js +2 -2
- package/dist/destinations/google-enhanced-conversions/index.js.map +1 -1
- package/dist/destinations/google-enhanced-conversions/postConversion/index.js +1 -1
- package/dist/destinations/google-enhanced-conversions/postConversion/index.js.map +1 -1
- package/dist/destinations/google-enhanced-conversions/types.d.ts +8 -0
- package/dist/destinations/google-enhanced-conversions/types.js +2 -0
- package/dist/destinations/google-enhanced-conversions/types.js.map +1 -1
- package/dist/destinations/google-enhanced-conversions/uploadCallConversion/index.js +17 -31
- package/dist/destinations/google-enhanced-conversions/uploadCallConversion/index.js.map +1 -1
- package/dist/destinations/google-enhanced-conversions/uploadClickConversion/generated-types.d.ts +1 -1
- package/dist/destinations/google-enhanced-conversions/uploadClickConversion/index.js +30 -49
- package/dist/destinations/google-enhanced-conversions/uploadClickConversion/index.js.map +1 -1
- package/dist/destinations/google-enhanced-conversions/uploadConversionAdjustment/generated-types.d.ts +1 -1
- package/dist/destinations/google-enhanced-conversions/uploadConversionAdjustment/index.js +61 -44
- package/dist/destinations/google-enhanced-conversions/uploadConversionAdjustment/index.js.map +1 -1
- package/dist/destinations/hubspot/createCustomObjectRecord/generated-types.d.ts +6 -0
- package/dist/destinations/{salesforce-marketing-cloud/contact → hubspot/createCustomObjectRecord}/generated-types.js +0 -0
- package/dist/destinations/hubspot/createCustomObjectRecord/generated-types.js.map +1 -0
- package/dist/destinations/{salesforce-marketing-cloud/contact → hubspot/createCustomObjectRecord}/index.d.ts +0 -0
- package/dist/destinations/hubspot/createCustomObjectRecord/index.js +38 -0
- package/dist/destinations/hubspot/createCustomObjectRecord/index.js.map +1 -0
- package/dist/destinations/{salesforce-marketing-cloud → hubspot}/generated-types.d.ts +0 -0
- package/dist/destinations/{salesforce-marketing-cloud → hubspot}/generated-types.js +0 -0
- package/dist/destinations/hubspot/generated-types.js.map +1 -0
- package/dist/destinations/{salesforce-marketing-cloud → hubspot}/index.d.ts +0 -0
- package/dist/destinations/hubspot/index.js +47 -0
- package/dist/destinations/hubspot/index.js.map +1 -0
- package/dist/destinations/hubspot/properties.d.ts +1 -0
- package/dist/destinations/hubspot/properties.js +5 -0
- package/dist/destinations/hubspot/properties.js.map +1 -0
- package/dist/destinations/hubspot/sendCustomBehavioralEvent/generated-types.d.ts +10 -0
- package/dist/destinations/{google-enhanced-conversions/uploadClickConversion/types.js → hubspot/sendCustomBehavioralEvent/generated-types.js} +1 -1
- package/dist/destinations/hubspot/sendCustomBehavioralEvent/generated-types.js.map +1 -0
- package/dist/destinations/hubspot/sendCustomBehavioralEvent/index.d.ts +5 -0
- package/dist/destinations/hubspot/sendCustomBehavioralEvent/index.js +69 -0
- package/dist/destinations/hubspot/sendCustomBehavioralEvent/index.js.map +1 -0
- package/dist/destinations/hubspot/testHelper.d.ts +7 -0
- package/dist/destinations/hubspot/testHelper.js +24 -0
- package/dist/destinations/hubspot/testHelper.js.map +1 -0
- package/dist/destinations/hubspot/upsertContact/generated-types.d.ts +17 -0
- package/dist/destinations/hubspot/upsertContact/generated-types.js +3 -0
- package/dist/destinations/hubspot/upsertContact/generated-types.js.map +1 -0
- package/dist/destinations/hubspot/upsertContact/index.d.ts +5 -0
- package/dist/destinations/hubspot/upsertContact/index.js +183 -0
- package/dist/destinations/hubspot/upsertContact/index.js.map +1 -0
- package/dist/destinations/index.js +2 -1
- package/dist/destinations/index.js.map +1 -1
- package/dist/destinations/linkedin-audiences/index.js +9 -7
- package/dist/destinations/linkedin-audiences/index.js.map +1 -1
- package/dist/destinations/linkedin-audiences/updateAudience/index.js +19 -10
- package/dist/destinations/linkedin-audiences/updateAudience/index.js.map +1 -1
- package/dist/destinations/{salesforce-marketing-cloud/contact → loops/createContact}/generated-types.d.ts +1 -0
- package/dist/destinations/loops/createContact/generated-types.js +3 -0
- package/dist/destinations/loops/createContact/generated-types.js.map +1 -0
- package/dist/destinations/loops/createContact/index.d.ts +5 -0
- package/dist/destinations/loops/createContact/index.js +33 -0
- package/dist/destinations/loops/createContact/index.js.map +1 -0
- package/dist/destinations/loops/generated-types.d.ts +3 -0
- package/dist/destinations/loops/generated-types.js +3 -0
- package/dist/destinations/loops/generated-types.js.map +1 -0
- package/dist/destinations/loops/index.d.ts +4 -0
- package/dist/destinations/loops/index.js +35 -0
- package/dist/destinations/loops/index.js.map +1 -0
- package/dist/destinations/mixpanel/index.js +1 -1
- package/dist/destinations/mixpanel/trackEvent/index.js.map +1 -1
- package/dist/destinations/salesforce/customObject/index.js +8 -1
- package/dist/destinations/salesforce/customObject/index.js.map +1 -1
- package/dist/destinations/salesforce/lead/index.js +1 -2
- package/dist/destinations/salesforce/lead/index.js.map +1 -1
- package/dist/destinations/salesforce/sf-operations.d.ts +2 -0
- package/dist/destinations/salesforce/sf-operations.js +28 -0
- package/dist/destinations/salesforce/sf-operations.js.map +1 -1
- package/dist/destinations/sendgrid/index.js +8 -0
- package/dist/destinations/sendgrid/index.js.map +1 -1
- package/dist/destinations/sendgrid/sendgrid-properties.d.ts +8 -5
- package/dist/destinations/sendgrid/sendgrid-properties.js +34 -3
- package/dist/destinations/sendgrid/sendgrid-properties.js.map +1 -1
- package/dist/destinations/sendgrid/updateUserProfile/index.js +6 -10
- package/dist/destinations/sendgrid/updateUserProfile/index.js.map +1 -1
- package/dist/destinations/tiktok-conversions/reportWebEvent/generated-types.d.ts +1 -0
- package/dist/destinations/tiktok-conversions/reportWebEvent/index.js +15 -2
- package/dist/destinations/tiktok-conversions/reportWebEvent/index.js.map +1 -1
- package/package.json +4 -4
- package/dist/destinations/amplitude/emptyObject.d.ts +0 -2
- package/dist/destinations/amplitude/emptyObject.js +0 -7
- package/dist/destinations/amplitude/emptyObject.js.map +0 -1
- package/dist/destinations/google-enhanced-conversions/constants.d.ts +0 -1
- package/dist/destinations/google-enhanced-conversions/constants.js +0 -185
- package/dist/destinations/google-enhanced-conversions/constants.js.map +0 -1
- package/dist/destinations/google-enhanced-conversions/uploadClickConversion/types.d.ts +0 -5
- package/dist/destinations/google-enhanced-conversions/uploadClickConversion/types.js.map +0 -1
- package/dist/destinations/salesforce-marketing-cloud/contact/generated-types.js.map +0 -1
- package/dist/destinations/salesforce-marketing-cloud/contact/index.js +0 -11
- package/dist/destinations/salesforce-marketing-cloud/contact/index.js.map +0 -1
- package/dist/destinations/salesforce-marketing-cloud/generated-types.js.map +0 -1
- package/dist/destinations/salesforce-marketing-cloud/index.js +0 -27
- package/dist/destinations/salesforce-marketing-cloud/index.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
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,
|
|
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"}
|
|
@@ -180,7 +180,7 @@ const action = {
|
|
|
180
180
|
},
|
|
181
181
|
perform: async (request, { payload, settings }) => {
|
|
182
182
|
if (!settings.conversionTrackingId) {
|
|
183
|
-
throw new actions_core_1.IntegrationError('Conversion
|
|
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
184
|
}
|
|
185
185
|
const conversionData = formatter_1.cleanData({
|
|
186
186
|
oid: payload.transaction_id,
|
|
@@ -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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"}
|
|
@@ -13,3 +13,11 @@ export interface ConversionCustomVariable {
|
|
|
13
13
|
export interface QueryResponse {
|
|
14
14
|
results: Array<ConversionCustomVariable>;
|
|
15
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";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/destinations/google-enhanced-conversions/types.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/destinations/google-enhanced-conversions/types.ts"],"names":[],"mappings":";;;AA0Ba,QAAA,YAAY,GAAG,gDAAgD,CAAA"}
|
|
@@ -2,23 +2,22 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const actions_core_1 = require("@segment/actions-core");
|
|
4
4
|
const functions_1 = require("../functions");
|
|
5
|
+
const types_1 = require("../types");
|
|
5
6
|
const action = {
|
|
6
7
|
title: 'Upload Call Conversion',
|
|
7
8
|
description: 'Upload an offline call conversion to the Google Ads API.',
|
|
8
9
|
fields: {
|
|
9
10
|
conversion_action: {
|
|
10
11
|
label: 'Conversion Action ID',
|
|
11
|
-
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
|
|
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`.',
|
|
12
13
|
type: 'string',
|
|
13
|
-
required: true
|
|
14
|
-
default: ''
|
|
14
|
+
required: true
|
|
15
15
|
},
|
|
16
16
|
caller_id: {
|
|
17
17
|
label: 'Caller ID',
|
|
18
|
-
description: 'The caller
|
|
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
19
|
type: 'string',
|
|
20
|
-
required: true
|
|
21
|
-
default: ''
|
|
20
|
+
required: true
|
|
22
21
|
},
|
|
23
22
|
call_timestamp: {
|
|
24
23
|
label: 'Call Timestamp',
|
|
@@ -52,37 +51,30 @@ const action = {
|
|
|
52
51
|
},
|
|
53
52
|
custom_variables: {
|
|
54
53
|
label: 'Custom Variables',
|
|
55
|
-
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
|
|
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).',
|
|
56
55
|
type: 'object',
|
|
57
56
|
additionalProperties: true,
|
|
58
|
-
defaultObjectUI: 'keyvalue'
|
|
57
|
+
defaultObjectUI: 'keyvalue:only'
|
|
59
58
|
}
|
|
60
59
|
},
|
|
61
60
|
perform: async (request, { auth, settings, payload }) => {
|
|
62
61
|
if (!settings.customerId) {
|
|
63
|
-
throw new actions_core_1.IntegrationError('Customer
|
|
62
|
+
throw new actions_core_1.IntegrationError('Customer ID is required for this action. Please set it in destination settings.', 'Missing required fields.', 400);
|
|
64
63
|
}
|
|
65
|
-
settings.customerId = settings.customerId.replace(
|
|
66
|
-
const customVariableIds = await request(`https://googleads.googleapis.com/v11/customers/${settings.customerId}/googleAds:searchStream`, {
|
|
67
|
-
method: 'post',
|
|
68
|
-
headers: {
|
|
69
|
-
authorization: `Bearer ${auth?.accessToken}`,
|
|
70
|
-
'developer-token': `${process.env.ADWORDS_DEVELOPER_TOKEN}`
|
|
71
|
-
},
|
|
72
|
-
json: {
|
|
73
|
-
query: `SELECT conversion_custom_variable.id, conversion_custom_variable.name FROM conversion_custom_variable`
|
|
74
|
-
}
|
|
75
|
-
});
|
|
64
|
+
settings.customerId = settings.customerId.replace(/-/g, '');
|
|
76
65
|
const request_object = {
|
|
77
66
|
conversionAction: `customers/${settings.customerId}/conversionActions/${payload.conversion_action}`,
|
|
78
67
|
callerId: payload.caller_id,
|
|
79
|
-
callStartDateTime: payload.call_timestamp,
|
|
68
|
+
callStartDateTime: payload.call_timestamp?.replace(/T/, ' ').replace(/\..+/, '+00:00'),
|
|
80
69
|
conversionDateTime: payload.conversion_timestamp.replace(/T/, ' ').replace(/\..+/, '+00:00'),
|
|
81
70
|
conversionValue: payload.value,
|
|
82
|
-
currencyCode: payload.currency
|
|
83
|
-
customVariables: functions_1.formatCustomVariables(payload.custom_variables, customVariableIds.data[0].results)
|
|
71
|
+
currencyCode: payload.currency
|
|
84
72
|
};
|
|
85
|
-
|
|
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`, {
|
|
86
78
|
method: 'post',
|
|
87
79
|
headers: {
|
|
88
80
|
'developer-token': `${process.env.ADWORDS_DEVELOPER_TOKEN}`
|
|
@@ -92,13 +84,7 @@ const action = {
|
|
|
92
84
|
partialFailure: true
|
|
93
85
|
}
|
|
94
86
|
});
|
|
95
|
-
|
|
96
|
-
Object.entries(response.data).forEach(([key, value]) => {
|
|
97
|
-
if (key === 'partialFailureError' && value.code !== 0) {
|
|
98
|
-
throw new actions_core_1.IntegrationError(value.message, 'INVALID_ARGUMENT', 400);
|
|
99
|
-
}
|
|
100
|
-
});
|
|
101
|
-
}
|
|
87
|
+
functions_1.handleGoogleErrors(response);
|
|
102
88
|
return response;
|
|
103
89
|
}
|
|
104
90
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/google-enhanced-conversions/uploadCallConversion/index.ts"],"names":[],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/google-enhanced-conversions/uploadCallConversion/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const actions_core_1 = require("@segment/actions-core");
|
|
4
|
+
const types_1 = require("../types");
|
|
4
5
|
const functions_1 = require("../functions");
|
|
5
6
|
const action = {
|
|
6
7
|
title: 'Upload Click Conversion',
|
|
@@ -8,28 +9,24 @@ const action = {
|
|
|
8
9
|
fields: {
|
|
9
10
|
conversion_action: {
|
|
10
11
|
label: 'Conversion Action ID',
|
|
11
|
-
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
|
|
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`.',
|
|
12
13
|
type: 'string',
|
|
13
|
-
required: true
|
|
14
|
-
default: ''
|
|
14
|
+
required: true
|
|
15
15
|
},
|
|
16
16
|
gclid: {
|
|
17
17
|
label: 'GCLID',
|
|
18
18
|
description: 'The Google click ID (gclid) associated with this conversion.',
|
|
19
|
-
type: 'string'
|
|
20
|
-
default: ''
|
|
19
|
+
type: 'string'
|
|
21
20
|
},
|
|
22
21
|
gbraid: {
|
|
23
22
|
label: 'GBRAID',
|
|
24
23
|
description: 'The click identifier for clicks associated with app conversions and originating from iOS devices starting with iOS14.',
|
|
25
|
-
type: 'string'
|
|
26
|
-
default: ''
|
|
24
|
+
type: 'string'
|
|
27
25
|
},
|
|
28
26
|
wbraid: {
|
|
29
27
|
label: 'WBRAID',
|
|
30
28
|
description: 'The click identifier for clicks associated with web conversions and originating from iOS devices starting with iOS14.',
|
|
31
|
-
type: 'string'
|
|
32
|
-
default: ''
|
|
29
|
+
type: 'string'
|
|
33
30
|
},
|
|
34
31
|
conversion_timestamp: {
|
|
35
32
|
label: 'Conversion Timestamp',
|
|
@@ -49,7 +46,7 @@ const action = {
|
|
|
49
46
|
'@if': {
|
|
50
47
|
exists: { '@path': '$.properties.email' },
|
|
51
48
|
then: { '@path': '$.properties.email' },
|
|
52
|
-
else: { '@path': '
|
|
49
|
+
else: { '@path': '$.context.traits.email' }
|
|
53
50
|
}
|
|
54
51
|
}
|
|
55
52
|
},
|
|
@@ -61,16 +58,20 @@ const action = {
|
|
|
61
58
|
'@if': {
|
|
62
59
|
exists: { '@path': '$.properties.phone' },
|
|
63
60
|
then: { '@path': '$.properties.phone' },
|
|
64
|
-
else: { '@path': '
|
|
61
|
+
else: { '@path': '$.context.traits.phone' }
|
|
65
62
|
}
|
|
66
63
|
}
|
|
67
64
|
},
|
|
68
65
|
order_id: {
|
|
69
66
|
label: 'Order ID',
|
|
70
|
-
description: 'The order ID associated with the conversion. An order
|
|
67
|
+
description: 'The order ID associated with the conversion. An order ID can only be used for one conversion per conversion action.',
|
|
71
68
|
type: 'string',
|
|
72
69
|
default: {
|
|
73
|
-
'@
|
|
70
|
+
'@if': {
|
|
71
|
+
exists: { '@path': '$.properties.orderId' },
|
|
72
|
+
then: { '@path': '$.properties.orderId' },
|
|
73
|
+
else: { '@path': '$.properties.order_id' }
|
|
74
|
+
}
|
|
74
75
|
}
|
|
75
76
|
},
|
|
76
77
|
value: {
|
|
@@ -91,37 +92,33 @@ const action = {
|
|
|
91
92
|
},
|
|
92
93
|
conversion_environment: {
|
|
93
94
|
label: 'Conversion Environment',
|
|
94
|
-
description: 'The environment this conversion was recorded on
|
|
95
|
+
description: 'The environment this conversion was recorded on, e.g. APP or WEB.',
|
|
95
96
|
type: 'string',
|
|
96
97
|
choices: [
|
|
97
98
|
{ label: 'APP', value: 'APP' },
|
|
98
99
|
{ label: 'WEB', value: 'WEB' },
|
|
99
|
-
{ label:
|
|
100
|
+
{ label: 'UNSPECIFIED', value: 'UNSPECIFIED' }
|
|
100
101
|
]
|
|
101
102
|
},
|
|
102
103
|
merchant_id: {
|
|
103
104
|
label: 'Merchant Center ID',
|
|
104
105
|
description: 'The ID of the Merchant Center account where the items are uploaded.',
|
|
105
|
-
type: 'string'
|
|
106
|
-
default: ''
|
|
106
|
+
type: 'string'
|
|
107
107
|
},
|
|
108
108
|
merchant_country_code: {
|
|
109
109
|
label: 'Merchant Center Feed Country Code',
|
|
110
110
|
description: 'The ISO 3166 two-character region code of the Merchant Center feed where the items are uploaded.',
|
|
111
|
-
type: 'string'
|
|
112
|
-
default: ''
|
|
111
|
+
type: 'string'
|
|
113
112
|
},
|
|
114
113
|
merchant_language_code: {
|
|
115
114
|
label: 'Merchant Center Feed Language Code',
|
|
116
115
|
description: 'The ISO 639-1 language code of the Merchant Center feed where the items are uploaded.',
|
|
117
|
-
type: 'string'
|
|
118
|
-
default: ''
|
|
116
|
+
type: 'string'
|
|
119
117
|
},
|
|
120
118
|
local_cost: {
|
|
121
119
|
label: 'Local Transaction Cost',
|
|
122
120
|
description: 'Sum of all transaction-level discounts, such as free shipping and coupon discounts for the whole cart.',
|
|
123
|
-
type: 'number'
|
|
124
|
-
default: ''
|
|
121
|
+
type: 'number'
|
|
125
122
|
},
|
|
126
123
|
items: {
|
|
127
124
|
label: 'Items',
|
|
@@ -167,14 +164,14 @@ const action = {
|
|
|
167
164
|
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) ',
|
|
168
165
|
type: 'object',
|
|
169
166
|
additionalProperties: true,
|
|
170
|
-
defaultObjectUI: 'keyvalue'
|
|
167
|
+
defaultObjectUI: 'keyvalue:only'
|
|
171
168
|
}
|
|
172
169
|
},
|
|
173
170
|
perform: async (request, { auth, settings, payload }) => {
|
|
174
171
|
if (!settings.customerId) {
|
|
175
|
-
throw new actions_core_1.IntegrationError('Customer
|
|
172
|
+
throw new actions_core_1.IntegrationError('Customer ID is required for this action. Please set it in destination settings.', 'Missing required fields.', 400);
|
|
176
173
|
}
|
|
177
|
-
settings.customerId = settings.customerId.replace(
|
|
174
|
+
settings.customerId = settings.customerId.replace(/-/g, '');
|
|
178
175
|
let cartItems = [];
|
|
179
176
|
if (payload.items) {
|
|
180
177
|
cartItems = payload.items.map((product) => {
|
|
@@ -185,16 +182,6 @@ const action = {
|
|
|
185
182
|
};
|
|
186
183
|
});
|
|
187
184
|
}
|
|
188
|
-
const customVariableIds = await request(`https://googleads.googleapis.com/v11/customers/${settings.customerId}/googleAds:searchStream`, {
|
|
189
|
-
method: 'post',
|
|
190
|
-
headers: {
|
|
191
|
-
authorization: `Bearer ${auth?.accessToken}`,
|
|
192
|
-
'developer-token': `${process.env.ADWORDS_DEVELOPER_TOKEN}`
|
|
193
|
-
},
|
|
194
|
-
json: {
|
|
195
|
-
query: `SELECT conversion_custom_variable.id, conversion_custom_variable.name FROM conversion_custom_variable`
|
|
196
|
-
}
|
|
197
|
-
});
|
|
198
185
|
const request_object = {
|
|
199
186
|
conversionAction: `customers/${settings.customerId}/conversionActions/${payload.conversion_action}`,
|
|
200
187
|
conversionDateTime: payload.conversion_timestamp.replace(/T/, ' ').replace(/\..+/, '+00:00'),
|
|
@@ -212,16 +199,19 @@ const action = {
|
|
|
212
199
|
localTransactionCost: payload.local_cost,
|
|
213
200
|
items: cartItems
|
|
214
201
|
},
|
|
215
|
-
userIdentifiers: []
|
|
216
|
-
customVariables: functions_1.formatCustomVariables(payload.custom_variables, customVariableIds.data[0].results)
|
|
202
|
+
userIdentifiers: []
|
|
217
203
|
};
|
|
204
|
+
if (payload.custom_variables) {
|
|
205
|
+
const customVariableIds = await functions_1.getCustomVariables(settings.customerId, auth, request);
|
|
206
|
+
request_object.customVariables = functions_1.formatCustomVariables(payload.custom_variables, customVariableIds.data[0].results);
|
|
207
|
+
}
|
|
218
208
|
if (payload.email_address) {
|
|
219
209
|
request_object.userIdentifiers.push({ hashedEmail: functions_1.hash(payload.email_address) });
|
|
220
210
|
}
|
|
221
211
|
if (payload.phone_number) {
|
|
222
212
|
request_object.userIdentifiers.push({ hashedPhoneNumber: functions_1.hash(payload.phone_number) });
|
|
223
213
|
}
|
|
224
|
-
const response = await request(
|
|
214
|
+
const response = await request(`${types_1.GoogleAdsAPI}/${settings.customerId}:uploadClickConversions`, {
|
|
225
215
|
method: 'post',
|
|
226
216
|
headers: {
|
|
227
217
|
'developer-token': `${process.env.ADWORDS_DEVELOPER_TOKEN}`
|
|
@@ -231,16 +221,7 @@ const action = {
|
|
|
231
221
|
partialFailure: true
|
|
232
222
|
}
|
|
233
223
|
});
|
|
234
|
-
|
|
235
|
-
Object.entries(response.data).forEach(([key]) => {
|
|
236
|
-
if (key === 'partialFailureError') {
|
|
237
|
-
throw new actions_core_1.IntegrationError('Partial Failure Error', 'INVALID_ARGUMENT', 400);
|
|
238
|
-
}
|
|
239
|
-
});
|
|
240
|
-
}
|
|
241
|
-
else {
|
|
242
|
-
throw new actions_core_1.IntegrationError('Not really an error', 'INVALID_ARGUMENT', 400);
|
|
243
|
-
}
|
|
224
|
+
functions_1.handleGoogleErrors(response);
|
|
244
225
|
return response;
|
|
245
226
|
}
|
|
246
227
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/google-enhanced-conversions/uploadClickConversion/index.ts"],"names":[],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/google-enhanced-conversions/uploadClickConversion/index.ts"],"names":[],"mappings":"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"}
|