@segment/action-destinations 3.290.0-staging-da759ff07 → 3.290.0-staging-373efa1cf

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 (89) hide show
  1. package/dist/destinations/blackbaud-raisers-edge-nxt/utils/index.d.ts +1 -1
  2. package/dist/destinations/customerio/utils.d.ts +1 -1
  3. package/dist/destinations/engage/utils/track.d.ts +10 -10
  4. package/dist/destinations/google-enhanced-conversions/functions.d.ts +23 -3
  5. package/dist/destinations/google-enhanced-conversions/functions.js +280 -3
  6. package/dist/destinations/google-enhanced-conversions/functions.js.map +1 -1
  7. package/dist/destinations/google-enhanced-conversions/generated-types.d.ts +4 -0
  8. package/dist/destinations/google-enhanced-conversions/index.d.ts +2 -2
  9. package/dist/destinations/google-enhanced-conversions/index.js +50 -1
  10. package/dist/destinations/google-enhanced-conversions/index.js.map +1 -1
  11. package/dist/destinations/google-enhanced-conversions/types.d.ts +31 -0
  12. package/dist/destinations/google-enhanced-conversions/userList/index.js +13 -4
  13. package/dist/destinations/google-enhanced-conversions/userList/index.js.map +1 -1
  14. package/package.json +2 -2
  15. package/dist/destinations/amazon-ads/generated-types.d.ts +0 -3
  16. package/dist/destinations/amazon-ads/generated-types.js +0 -3
  17. package/dist/destinations/amazon-ads/generated-types.js.map +0 -1
  18. package/dist/destinations/amazon-ads/index.d.ts +0 -4
  19. package/dist/destinations/amazon-ads/index.js +0 -87
  20. package/dist/destinations/amazon-ads/index.js.map +0 -1
  21. package/dist/destinations/amazon-ads/syncAudiences/generated-types.d.ts +0 -2
  22. package/dist/destinations/amazon-ads/syncAudiences/generated-types.js +0 -3
  23. package/dist/destinations/amazon-ads/syncAudiences/generated-types.js.map +0 -1
  24. package/dist/destinations/amazon-ads/syncAudiences/index.d.ts +0 -5
  25. package/dist/destinations/amazon-ads/syncAudiences/index.js +0 -15
  26. package/dist/destinations/amazon-ads/syncAudiences/index.js.map +0 -1
  27. package/dist/destinations/amazon-ads/types.d.ts +0 -22
  28. package/dist/destinations/amazon-ads/types.js +0 -11
  29. package/dist/destinations/amazon-ads/types.js.map +0 -1
  30. package/dist/destinations/amazon-ads/utils.d.ts +0 -25
  31. package/dist/destinations/amazon-ads/utils.js +0 -8
  32. package/dist/destinations/amazon-ads/utils.js.map +0 -1
  33. package/dist/destinations/contentstack/constants.d.ts +0 -3
  34. package/dist/destinations/contentstack/constants.js +0 -7
  35. package/dist/destinations/contentstack/constants.js.map +0 -1
  36. package/dist/destinations/dynamic-yield-audiences/syncAudience/types.d.ts +0 -22
  37. package/dist/destinations/dynamic-yield-audiences/syncAudience/types.js +0 -3
  38. package/dist/destinations/dynamic-yield-audiences/syncAudience/types.js.map +0 -1
  39. package/dist/destinations/dynamic-yield-audiences/types.d.ts +0 -8
  40. package/dist/destinations/dynamic-yield-audiences/types.js +0 -12
  41. package/dist/destinations/dynamic-yield-audiences/types.js.map +0 -1
  42. package/dist/destinations/engage/sendgrid/Profile.d.ts +0 -6
  43. package/dist/destinations/engage/sendgrid/Profile.js +0 -3
  44. package/dist/destinations/engage/sendgrid/Profile.js.map +0 -1
  45. package/dist/destinations/engage/sendgrid/previewApiLookup/api-lookups.d.ts +0 -21
  46. package/dist/destinations/engage/sendgrid/previewApiLookup/api-lookups.js +0 -174
  47. package/dist/destinations/engage/sendgrid/previewApiLookup/api-lookups.js.map +0 -1
  48. package/dist/destinations/klaviyo/orderCompleted/formatters.d.ts +0 -26
  49. package/dist/destinations/klaviyo/orderCompleted/formatters.js +0 -62
  50. package/dist/destinations/klaviyo/orderCompleted/formatters.js.map +0 -1
  51. package/dist/destinations/klaviyo/orderCompleted/types.d.ts +0 -2
  52. package/dist/destinations/klaviyo/orderCompleted/types.js +0 -3
  53. package/dist/destinations/klaviyo/orderCompleted/types.js.map +0 -1
  54. package/dist/destinations/responsys/asyncMergePetRecords/generated-types.d.ts +0 -14
  55. package/dist/destinations/responsys/asyncMergePetRecords/generated-types.js +0 -3
  56. package/dist/destinations/responsys/asyncMergePetRecords/generated-types.js.map +0 -1
  57. package/dist/destinations/responsys/asyncMergePetRecords/index.d.ts +0 -5
  58. package/dist/destinations/responsys/asyncMergePetRecords/index.js +0 -113
  59. package/dist/destinations/responsys/asyncMergePetRecords/index.js.map +0 -1
  60. package/dist/destinations/responsys/asyncMergeProfileListMembers/generated-types.d.ts +0 -20
  61. package/dist/destinations/responsys/asyncMergeProfileListMembers/generated-types.js +0 -3
  62. package/dist/destinations/responsys/asyncMergeProfileListMembers/generated-types.js.map +0 -1
  63. package/dist/destinations/responsys/asyncMergeProfileListMembers/index.d.ts +0 -5
  64. package/dist/destinations/responsys/asyncMergeProfileListMembers/index.js +0 -174
  65. package/dist/destinations/responsys/asyncMergeProfileListMembers/index.js.map +0 -1
  66. package/dist/destinations/responsys/rsp-operations.d.ts +0 -14
  67. package/dist/destinations/responsys/rsp-operations.js +0 -33
  68. package/dist/destinations/responsys/rsp-operations.js.map +0 -1
  69. package/dist/destinations/responsys/rsp-properties.d.ts +0 -4
  70. package/dist/destinations/responsys/rsp-properties.js +0 -27
  71. package/dist/destinations/responsys/rsp-properties.js.map +0 -1
  72. package/dist/destinations/snap-conversions-api/_tests_/capiV2tests.d.ts +0 -1
  73. package/dist/destinations/snap-conversions-api/_tests_/capiV2tests.js +0 -381
  74. package/dist/destinations/snap-conversions-api/_tests_/capiV2tests.js.map +0 -1
  75. package/dist/destinations/snap-conversions-api/_tests_/capiV3tests.d.ts +0 -1
  76. package/dist/destinations/snap-conversions-api/_tests_/capiV3tests.js +0 -581
  77. package/dist/destinations/snap-conversions-api/_tests_/capiV3tests.js.map +0 -1
  78. package/dist/destinations/snap-conversions-api/reportConversionEvent/snap-capi-v2.d.ts +0 -4
  79. package/dist/destinations/snap-conversions-api/reportConversionEvent/snap-capi-v2.js +0 -97
  80. package/dist/destinations/snap-conversions-api/reportConversionEvent/snap-capi-v2.js.map +0 -1
  81. package/dist/destinations/snap-conversions-api/snap-capi-properties.d.ts +0 -30
  82. package/dist/destinations/snap-conversions-api/snap-capi-properties.js +0 -316
  83. package/dist/destinations/snap-conversions-api/snap-capi-properties.js.map +0 -1
  84. package/dist/destinations/tiktok-conversions/reportWebEvent/formatter.d.ts +0 -3
  85. package/dist/destinations/tiktok-conversions/reportWebEvent/formatter.js +0 -34
  86. package/dist/destinations/tiktok-conversions/reportWebEvent/formatter.js.map +0 -1
  87. package/dist/destinations/tiktok-offline-conversions/reportOfflineEvent/formatter.d.ts +0 -3
  88. package/dist/destinations/tiktok-offline-conversions/reportOfflineEvent/formatter.js +0 -43
  89. package/dist/destinations/tiktok-offline-conversions/reportOfflineEvent/formatter.js.map +0 -1
@@ -9,7 +9,7 @@ export declare const dateStringToFuzzyDate: (dateString: string | number) => fal
9
9
  y: string;
10
10
  };
11
11
  export declare const augmentFieldsWithConstituentFields: (fields: Record<string, InputField>) => Record<string, InputField>;
12
- export declare const splitConstituentPayload: (payload: CreateOrUpdateIndividualConstituentPayload) => (Partial<Phone> | Partial<Constituent> | Partial<Address> | Partial<OnlinePresence>)[];
12
+ export declare const splitConstituentPayload: (payload: CreateOrUpdateIndividualConstituentPayload) => (Partial<Address> | Partial<OnlinePresence> | Partial<Phone> | Partial<Constituent>)[];
13
13
  export declare const buildConstituentPayloadFromPayload: (payload: StringIndexedObject) => Partial<CreateOrUpdateIndividualConstituentPayload>;
14
14
  export declare const buildGiftDataFromPayload: (constituentId: string, payload: CreateGiftPayload) => Partial<Gift>;
15
15
  export declare const buildConstituentActionDataFromPayload: (constituentId: string, payload: CreateConstituentAction) => Partial<ConstituentAction>;
@@ -1,6 +1,6 @@
1
1
  export declare const trackApiEndpoint: ({ accountRegion }: {
2
2
  accountRegion?: string | undefined;
3
- }) => "https://track.customer.io" | "https://track-eu.customer.io";
3
+ }) => "https://track-eu.customer.io" | "https://track.customer.io";
4
4
  export declare enum AccountRegion {
5
5
  US = "US \uD83C\uDDFA\uD83C\uDDF8",
6
6
  EU = "EU \uD83C\uDDEA\uD83C\uDDFA"
@@ -1,12 +1,12 @@
1
1
  import { ContextFromDecorator } from './operationTracking';
2
2
  export declare const track: ((decoratorArgs?: ({
3
+ shouldStats?: ((args: import("./operationTracking").OperationStatsEventArgs) => boolean | void) | undefined;
4
+ } & {
3
5
  onError?: ((ctx: import("./operationTracking").OperationErrorHandlerContext<import("./operationTracking").TryCatchFinallyContext<(this: any, ...args: any[]) => any>>) => void) | undefined;
4
6
  } & {
5
7
  onTry?: ((ctx: import("./operationTracking").TryCatchFinallyContext<(this: any, ...args: any[]) => any>) => void) | undefined;
6
8
  onFinally?: ((ctx: import("./operationTracking").TryCatchFinallyContext<(this: any, ...args: any[]) => any>) => void) | undefined;
7
9
  } & import("./operationTracking").OperationLoggerDecoratorArgs & {
8
- shouldStats?: ((args: import("./operationTracking").OperationStatsEventArgs) => boolean | void) | undefined;
9
- } & {
10
10
  wrapIntegrationError?: ((ctx: import("./operationTracking").TryCatchFinallyContext<(this: any, ...args: any[]) => any>) => import("@segment/actions-core/*").IntegrationError | [message: string, code: string, status: number]) | undefined;
11
11
  }) | undefined) => import("./operationTracking").GenericMethodDecorator<(this: any, ...args: any[]) => any>) & {
12
12
  getCurrentOperation(classInstance: any): (import("./operationTracking").TryCatchFinallyContext<(this: any, ...args: any[]) => any> & {
@@ -15,6 +15,14 @@ export declare const track: ((decoratorArgs?: ({
15
15
  }) | undefined;
16
16
  } & {
17
17
  _contextType: import("./operationTracking").TryCatchFinallyContext<(this: any, ...args: any[]) => any> & {
18
+ tags: string[];
19
+ sharedContext: {
20
+ tags: string[];
21
+ };
22
+ decoratorArgs?: {
23
+ shouldStats?: ((args: import("./operationTracking").OperationStatsEventArgs) => boolean | void) | undefined;
24
+ } | undefined;
25
+ } & {
18
26
  decoratorArgs?: {
19
27
  onError?: ((ctx: import("./operationTracking").OperationErrorHandlerContext<import("./operationTracking").TryCatchFinallyContext<(this: any, ...args: any[]) => any>>) => void) | undefined;
20
28
  } | undefined;
@@ -35,14 +43,6 @@ export declare const track: ((decoratorArgs?: ({
35
43
  logMetadata?: Record<string, unknown> | undefined;
36
44
  decoratorArgs?: import("./operationTracking").OperationLoggerDecoratorArgs | undefined;
37
45
  sharedContext: import("./operationTracking").OperationLoggerSharedContext;
38
- } & {
39
- tags: string[];
40
- sharedContext: {
41
- tags: string[];
42
- };
43
- decoratorArgs?: {
44
- shouldStats?: ((args: import("./operationTracking").OperationStatsEventArgs) => boolean | void) | undefined;
45
- } | undefined;
46
46
  } & {
47
47
  decoratorArgs?: {
48
48
  wrapIntegrationError?: ((ctx: import("./operationTracking").TryCatchFinallyContext<(this: any, ...args: any[]) => any>) => import("@segment/actions-core/*").IntegrationError | [message: string, code: string, status: number]) | undefined;
@@ -1,11 +1,13 @@
1
- import { ConversionCustomVariable, PartialErrorResponse, QueryResponse, CustomVariableInterface } from './types';
1
+ import { ConversionCustomVariable, PartialErrorResponse, QueryResponse, CustomVariableInterface, CreateAudienceInput } from './types';
2
2
  import { ModifiedResponse, RequestClient, DynamicFieldResponse } from '@segment/actions-core';
3
3
  import { StatsContext } from '@segment/actions-core/destination-kit';
4
4
  import { Features } from '@segment/actions-core/mapping-kit';
5
5
  import { HTTPError } from '@segment/actions-core';
6
- export declare const API_VERSION = "v15";
7
- export declare const CANARY_API_VERSION = "v15";
6
+ import type { Payload as UserListPayload } from './userList/generated-types';
7
+ export declare const API_VERSION = "v16";
8
+ export declare const CANARY_API_VERSION = "v16";
8
9
  export declare const FLAGON_NAME = "google-enhanced-canary-version";
10
+ export declare function sha256SmartHashFunction(value: string): string;
9
11
  export declare class GoogleAdsError extends HTTPError {
10
12
  response: Response & {
11
13
  status: string;
@@ -22,3 +24,21 @@ export declare function convertTimestamp(timestamp: string | undefined): string
22
24
  export declare function getApiVersion(features?: Features, statsContext?: StatsContext): string;
23
25
  export declare const isHashedInformation: (information: string) => boolean;
24
26
  export declare const commonHashedEmailValidation: (email: string) => string;
27
+ export declare function getListIds(request: RequestClient, settings: CreateAudienceInput['settings'], auth?: any): Promise<{
28
+ choices: {
29
+ value: string;
30
+ label: string;
31
+ }[];
32
+ nextPage?: undefined;
33
+ error?: undefined;
34
+ } | {
35
+ choices: never[];
36
+ nextPage: string;
37
+ error: {
38
+ message: string;
39
+ code: string;
40
+ };
41
+ }>;
42
+ export declare function createGoogleAudience(request: RequestClient, input: CreateAudienceInput, statsContext?: StatsContext, auth?: any): Promise<string>;
43
+ export declare function getGoogleAudience(request: RequestClient, settings: CreateAudienceInput['settings'], externalId: string, statsContext?: StatsContext, auth?: any): Promise<any>;
44
+ export declare const handleUpdate: (request: RequestClient, settings: CreateAudienceInput['settings'], audienceSettings: CreateAudienceInput['audienceSettings'], payloads: UserListPayload[], hookOutputs: string, syncMode?: string | undefined, statsContext?: StatsContext | undefined) => Promise<unknown>;
@@ -1,13 +1,41 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
2
21
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.commonHashedEmailValidation = exports.isHashedInformation = exports.getApiVersion = exports.convertTimestamp = exports.handleGoogleErrors = exports.getConversionActionDynamicData = exports.getConversionActionId = exports.getCustomVariables = exports.hash = exports.formatCustomVariables = exports.GoogleAdsError = exports.FLAGON_NAME = exports.CANARY_API_VERSION = exports.API_VERSION = void 0;
22
+ exports.handleUpdate = exports.getGoogleAudience = exports.createGoogleAudience = exports.getListIds = exports.commonHashedEmailValidation = exports.isHashedInformation = exports.getApiVersion = exports.convertTimestamp = exports.handleGoogleErrors = exports.getConversionActionDynamicData = exports.getConversionActionId = exports.getCustomVariables = exports.hash = exports.formatCustomVariables = exports.GoogleAdsError = exports.sha256SmartHashFunction = exports.FLAGON_NAME = exports.CANARY_API_VERSION = exports.API_VERSION = void 0;
4
23
  const crypto_1 = require("crypto");
5
24
  const actions_core_1 = require("@segment/actions-core");
6
25
  const formats_1 = require("ajv-formats/dist/formats");
7
26
  const actions_core_2 = require("@segment/actions-core");
8
- exports.API_VERSION = 'v15';
9
- exports.CANARY_API_VERSION = 'v15';
27
+ exports.API_VERSION = 'v16';
28
+ exports.CANARY_API_VERSION = 'v16';
10
29
  exports.FLAGON_NAME = 'google-enhanced-canary-version';
30
+ const crypto = __importStar(require("crypto"));
31
+ const sha256HashedRegex = /^[a-f0-9]{64}$/i;
32
+ function sha256SmartHashFunction(value) {
33
+ if (sha256HashedRegex.test(value)) {
34
+ return value;
35
+ }
36
+ return crypto.createHash('sha256').update(value).digest('hex');
37
+ }
38
+ exports.sha256SmartHashFunction = sha256SmartHashFunction;
11
39
  class GoogleAdsError extends actions_core_2.HTTPError {
12
40
  }
13
41
  exports.GoogleAdsError = GoogleAdsError;
@@ -123,4 +151,253 @@ const commonHashedEmailValidation = (email) => {
123
151
  return String(exports.hash(email));
124
152
  };
125
153
  exports.commonHashedEmailValidation = commonHashedEmailValidation;
154
+ async function getListIds(request, settings, auth) {
155
+ const json = {
156
+ query: `SELECT user_list.id, user_list.name FROM user_list`
157
+ };
158
+ try {
159
+ const response = await request(`https://googleads.googleapis.com/${exports.API_VERSION}/customers/${settings.customerId}/googleAds:search`, {
160
+ method: 'post',
161
+ headers: {
162
+ 'developer-token': `${process.env.ADWORDS_DEVELOPER_TOKEN}`,
163
+ authorization: `Bearer ${auth?.accessToken}`
164
+ },
165
+ json
166
+ });
167
+ const choices = response.data.results.map((input) => {
168
+ return { value: input.userList.id, label: input.userList.name };
169
+ });
170
+ return {
171
+ choices
172
+ };
173
+ }
174
+ catch (err) {
175
+ return {
176
+ choices: [],
177
+ nextPage: '',
178
+ error: {
179
+ message: err.response?.statusText ?? 'Unknown error',
180
+ code: err.response?.status + '' ?? '500'
181
+ }
182
+ };
183
+ }
184
+ }
185
+ exports.getListIds = getListIds;
186
+ async function createGoogleAudience(request, input, statsContext, auth) {
187
+ if (input.audienceSettings.external_id_type === 'MOBILE_ADVERTISING_ID' && !input.audienceSettings.app_id) {
188
+ throw new actions_core_1.PayloadValidationError('App ID is required when external ID type is mobile advertising ID.');
189
+ }
190
+ const statsClient = statsContext?.statsClient;
191
+ const statsTags = statsContext?.tags;
192
+ const json = {
193
+ operations: [
194
+ {
195
+ create: {
196
+ crmBasedUserList: {
197
+ uploadKeyType: input.audienceSettings.external_id_type,
198
+ appId: input.audienceSettings.app_id
199
+ },
200
+ membershipLifeSpan: '10000',
201
+ name: `${input.audienceName}`
202
+ }
203
+ }
204
+ ]
205
+ };
206
+ const response = await request(`https://googleads.googleapis.com/${exports.API_VERSION}/customers/${input.settings.customerId}/userLists:mutate`, {
207
+ method: 'post',
208
+ headers: {
209
+ 'developer-token': `${process.env.ADWORDS_DEVELOPER_TOKEN}`,
210
+ authorization: `Bearer ${auth?.accessToken}`
211
+ },
212
+ json
213
+ });
214
+ const name = response.data.results[0].resourceName;
215
+ if (!name) {
216
+ statsClient?.incr('createAudience.error', 1, statsTags);
217
+ throw new actions_core_1.IntegrationError('Failed to receive a created customer list id.', 'INVALID_RESPONSE', 400);
218
+ }
219
+ statsClient?.incr('createAudience.success', 1, statsTags);
220
+ return name.split('/')[3];
221
+ }
222
+ exports.createGoogleAudience = createGoogleAudience;
223
+ async function getGoogleAudience(request, settings, externalId, statsContext, auth) {
224
+ const statsClient = statsContext?.statsClient;
225
+ const statsTags = statsContext?.tags;
226
+ const json = {
227
+ query: `SELECT user_list.id, user_list.name FROM user_list where user_list.id = '${externalId}'`
228
+ };
229
+ const response = await request(`https://googleads.googleapis.com/${exports.API_VERSION}/customers/${settings.customerId}/googleAds:search`, {
230
+ method: 'post',
231
+ headers: {
232
+ 'developer-token': `${process.env.ADWORDS_DEVELOPER_TOKEN}`,
233
+ authorization: `Bearer ${auth?.accessToken}`
234
+ },
235
+ json
236
+ });
237
+ const id = response.data.results[0].userList.id;
238
+ if (!id) {
239
+ statsClient?.incr('getAudience.error', 1, statsTags);
240
+ throw new actions_core_1.IntegrationError('Failed to receive a customer list.', 'INVALID_RESPONSE', 400);
241
+ }
242
+ statsClient?.incr('getAudience.success', 1, statsTags);
243
+ return id;
244
+ }
245
+ exports.getGoogleAudience = getGoogleAudience;
246
+ const formatEmail = (email, hash_data) => {
247
+ if (!hash_data) {
248
+ return email;
249
+ }
250
+ const googleDomain = new RegExp('^(gmail|googlemail).s*', 'g');
251
+ let normalizedEmail = email.toLowerCase().trim();
252
+ const emailParts = normalizedEmail.split('@');
253
+ if (emailParts.length > 1 && emailParts[1].match(googleDomain)) {
254
+ emailParts[0] = emailParts[0].replace('.', '');
255
+ normalizedEmail = `${emailParts[0]}@${emailParts[1]}`;
256
+ }
257
+ return sha256SmartHashFunction(normalizedEmail);
258
+ };
259
+ function formatToE164(phoneNumber, defaultCountryCode) {
260
+ const numericPhoneNumber = phoneNumber.replace(/\D/g, '');
261
+ let formattedPhoneNumber = numericPhoneNumber;
262
+ if (!numericPhoneNumber.startsWith(defaultCountryCode)) {
263
+ formattedPhoneNumber = defaultCountryCode + numericPhoneNumber;
264
+ }
265
+ if (!formattedPhoneNumber.startsWith('+')) {
266
+ formattedPhoneNumber = '+' + formattedPhoneNumber;
267
+ }
268
+ return formattedPhoneNumber;
269
+ }
270
+ const formatPhone = (phone, hash_data) => {
271
+ if (!hash_data) {
272
+ return phone;
273
+ }
274
+ const formattedPhone = formatToE164(phone, '1');
275
+ return sha256SmartHashFunction(formattedPhone);
276
+ };
277
+ const extractUserIdentifiers = (payloads, audienceSettings, syncMode) => {
278
+ const removeUserIdentifiers = [];
279
+ const addUserIdentifiers = [];
280
+ const identifierFunctions = {
281
+ MOBILE_ADVERTISING_ID: (payload) => ({
282
+ mobileId: payload.mobile_advertising_id?.trim()
283
+ }),
284
+ CRM_ID: (payload) => ({
285
+ thirdPartyUserId: payload.crm_id?.trim()
286
+ }),
287
+ CONTACT_INFO: (payload) => {
288
+ const identifiers = [];
289
+ if (payload.email) {
290
+ identifiers.push({
291
+ hashedEmail: formatEmail(payload.email)
292
+ });
293
+ }
294
+ if (payload.phone) {
295
+ identifiers.push({
296
+ hashedPhoneNumber: formatPhone(payload.phone)
297
+ });
298
+ }
299
+ if (payload.first_name || payload.last_name || payload.country_code || payload.postal_code) {
300
+ identifiers.push({
301
+ addressInfo: {
302
+ hashedFirstName: sha256SmartHashFunction(payload.first_name ?? ''),
303
+ hashedLastName: sha256SmartHashFunction(payload.last_name ?? ''),
304
+ countryCode: payload.country_code ?? '',
305
+ postalCode: payload.postal_code ?? ''
306
+ }
307
+ });
308
+ }
309
+ return identifiers;
310
+ }
311
+ };
312
+ for (const payload of payloads) {
313
+ if (payload.event_name == 'Audience Entered' || syncMode == 'add') {
314
+ addUserIdentifiers.push(identifierFunctions[audienceSettings.external_id_type](payload));
315
+ }
316
+ else if (payload.event_name == 'Audience Exited' || syncMode == 'delete') {
317
+ removeUserIdentifiers.push(identifierFunctions[audienceSettings.external_id_type](payload));
318
+ }
319
+ }
320
+ return [addUserIdentifiers, removeUserIdentifiers];
321
+ };
322
+ const createOfflineUserJob = async (request, payload, settings, hookListId, statsContext) => {
323
+ const url = `https://googleads.googleapis.com/${exports.API_VERSION}/customers/${settings.customerId}/offlineUserDataJobs:create`;
324
+ let external_audience_id = payload.external_audience_id;
325
+ if (hookListId) {
326
+ external_audience_id = hookListId;
327
+ }
328
+ const json = {
329
+ job: {
330
+ type: 'CUSTOMER_MATCH_USER_LIST',
331
+ customerMatchUserListMetadata: {
332
+ userList: `customers/${settings.customerId}/userLists/${external_audience_id}`
333
+ }
334
+ }
335
+ };
336
+ try {
337
+ const response = await request(url, {
338
+ method: 'post',
339
+ headers: {
340
+ 'developer-token': `${process.env.ADWORDS_DEVELOPER_TOKEN}`
341
+ },
342
+ json
343
+ });
344
+ return response.data.resourceName;
345
+ }
346
+ catch (error) {
347
+ statsContext?.statsClient?.incr('error.createJob', 1, statsContext?.tags);
348
+ console.log(error);
349
+ throw new actions_core_1.IntegrationError(error.response?.statusText, 'INVALID_RESPONSE', error.response?.status);
350
+ }
351
+ };
352
+ const addOperations = async (request, userIdentifiers, resourceName, statsContext) => {
353
+ const url = `https://googleads.googleapis.com/${exports.API_VERSION}/${resourceName}:addOperations`;
354
+ const json = {
355
+ operations: userIdentifiers,
356
+ enable_warnings: true
357
+ };
358
+ try {
359
+ const response = await request(url, {
360
+ method: 'post',
361
+ headers: {
362
+ 'developer-token': `${process.env.ADWORDS_DEVELOPER_TOKEN}`
363
+ },
364
+ json
365
+ });
366
+ return response.data;
367
+ }
368
+ catch (error) {
369
+ statsContext?.statsClient?.incr('error.addOperations', 1, statsContext?.tags);
370
+ throw new actions_core_1.IntegrationError(error.response?.statusText, 'INVALID_RESPONSE', error.response?.status);
371
+ }
372
+ };
373
+ const runOfflineUserJob = async (request, resourceName, statsContext) => {
374
+ const url = `https://googleads.googleapis.com/${exports.API_VERSION}/${resourceName}:run`;
375
+ try {
376
+ const response = await request(url, {
377
+ method: 'post',
378
+ headers: {
379
+ 'developer-token': `${process.env.ADWORDS_DEVELOPER_TOKEN}`
380
+ }
381
+ });
382
+ return response.data;
383
+ }
384
+ catch (error) {
385
+ statsContext?.statsClient?.incr('error.runJob', 1, statsContext?.tags);
386
+ throw new actions_core_1.IntegrationError(error.response?.statusText, 'INVALID_RESPONSE', error.response?.status);
387
+ }
388
+ };
389
+ const handleUpdate = async (request, settings, audienceSettings, payloads, hookOutputs, syncMode, statsContext) => {
390
+ const [adduserIdentifiers, removeUserIdentifiers] = extractUserIdentifiers(payloads, audienceSettings, syncMode);
391
+ const resourceName = await createOfflineUserJob(request, payloads[0], settings, hookOutputs, statsContext);
392
+ if (adduserIdentifiers.length > 0) {
393
+ await addOperations(request, [{ create: { userIdentifiers: adduserIdentifiers } }], resourceName, statsContext);
394
+ }
395
+ if (removeUserIdentifiers.length > 0) {
396
+ await addOperations(request, [{ remove: { userIdentifiers: removeUserIdentifiers } }], resourceName, statsContext);
397
+ }
398
+ const executedJob = await runOfflineUserJob(request, resourceName, statsContext);
399
+ statsContext?.statsClient?.incr('success.offlineUpdateAudience', 1, statsContext?.tags);
400
+ return executedJob;
401
+ };
402
+ exports.handleUpdate = handleUpdate;
126
403
  //# sourceMappingURL=functions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../src/destinations/google-enhanced-conversions/functions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../src/destinations/google-enhanced-conversions/functions.ts"],"names":[],"mappings":"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"}
@@ -2,3 +2,7 @@ export interface Settings {
2
2
  conversionTrackingId?: string;
3
3
  customerId?: string;
4
4
  }
5
+ export interface AudienceSettings {
6
+ external_id_type: string;
7
+ app_id?: string;
8
+ }
@@ -1,4 +1,4 @@
1
- import { DestinationDefinition } from '@segment/actions-core';
1
+ import { AudienceDestinationDefinition } from '@segment/actions-core';
2
2
  import type { Settings } from './generated-types';
3
- declare const destination: DestinationDefinition<Settings>;
3
+ declare const destination: AudienceDestinationDefinition<Settings>;
4
4
  export default destination;
@@ -7,6 +7,8 @@ const postConversion_1 = __importDefault(require("./postConversion"));
7
7
  const uploadCallConversion_1 = __importDefault(require("./uploadCallConversion"));
8
8
  const uploadClickConversion_1 = __importDefault(require("./uploadClickConversion"));
9
9
  const uploadConversionAdjustment_1 = __importDefault(require("./uploadConversionAdjustment"));
10
+ const functions_1 = require("./functions");
11
+ const userList_1 = __importDefault(require("./userList"));
10
12
  const destination = {
11
13
  name: 'Google Ads Conversions',
12
14
  slug: 'actions-google-enhanced-conversions',
@@ -48,11 +50,58 @@ const destination = {
48
50
  }
49
51
  };
50
52
  },
53
+ audienceFields: {
54
+ external_id_type: {
55
+ type: 'string',
56
+ label: 'External ID Type',
57
+ description: 'Customer match upload key types.',
58
+ required: true,
59
+ choices: [
60
+ { label: 'CONTACT INFO', value: 'CONTACT_INFO' },
61
+ { label: 'CRM ID', value: 'CRM_ID' },
62
+ { label: 'MOBILE ADVERTISING ID', value: 'MOBILE_ADVERTISING_ID' }
63
+ ]
64
+ },
65
+ app_id: {
66
+ label: 'App ID',
67
+ description: 'A string that uniquely identifies a mobile application from which the data was collected. Required if external ID type is mobile advertising ID',
68
+ type: 'string',
69
+ depends_on: {
70
+ match: 'all',
71
+ conditions: [
72
+ {
73
+ fieldKey: 'external_id_type',
74
+ operator: 'is',
75
+ value: 'MOBILE_ADVERTISING_ID'
76
+ }
77
+ ]
78
+ }
79
+ }
80
+ },
81
+ audienceConfig: {
82
+ mode: {
83
+ type: 'synced',
84
+ full_audience_sync: false
85
+ },
86
+ async createAudience(request, createAudienceInput) {
87
+ const userListId = await functions_1.createGoogleAudience(request, createAudienceInput, createAudienceInput.statsContext);
88
+ return {
89
+ externalId: userListId
90
+ };
91
+ },
92
+ async getAudience(request, getAudienceInput) {
93
+ const userListId = await functions_1.getGoogleAudience(request, getAudienceInput.settings, getAudienceInput.externalId, getAudienceInput.statsContext);
94
+ return {
95
+ externalId: userListId
96
+ };
97
+ }
98
+ },
51
99
  actions: {
52
100
  postConversion: postConversion_1.default,
53
101
  uploadClickConversion: uploadClickConversion_1.default,
54
102
  uploadCallConversion: uploadCallConversion_1.default,
55
- uploadConversionAdjustment: uploadConversionAdjustment_1.default
103
+ uploadConversionAdjustment: uploadConversionAdjustment_1.default,
104
+ userList: userList_1.default
56
105
  }
57
106
  };
58
107
  exports.default = destination;
@@ -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,wBAAwB;IAC9B,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,qbAAqb;gBACvb,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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/google-enhanced-conversions/index.ts"],"names":[],"mappings":"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"}
@@ -104,3 +104,34 @@ export interface PartialErrorResponse {
104
104
  };
105
105
  results: {}[];
106
106
  }
107
+ export interface UserList {
108
+ userList: {
109
+ resourceName: string;
110
+ id: string;
111
+ name: string;
112
+ };
113
+ }
114
+ export interface UserListResponse {
115
+ results: Array<UserList>;
116
+ fieldMask: string;
117
+ }
118
+ export interface CreateAudienceInput {
119
+ audienceName: string;
120
+ settings: {
121
+ customerId?: string;
122
+ conversionTrackingId?: string;
123
+ };
124
+ audienceSettings: {
125
+ external_id_type: string;
126
+ app_id?: string;
127
+ };
128
+ }
129
+ export interface CreateGoogleAudienceResponse {
130
+ resourceName?: string;
131
+ results: Array<{
132
+ resourceName: string;
133
+ }>;
134
+ }
135
+ export interface AudienceSettings {
136
+ external_id_type: string;
137
+ }
@@ -5,6 +5,15 @@ const action = {
5
5
  title: 'Customer Match User List',
6
6
  description: 'Sync a Segment Engage Audience into a Google Customer Match User List.',
7
7
  defaultSubscription: 'event = "Audience Entered" or event = "Audience Exited"',
8
+ syncMode: {
9
+ description: 'Define how the records will be synced from RETL to Google',
10
+ label: 'How to sync records',
11
+ default: 'add',
12
+ choices: [
13
+ { label: 'Adds users to the connected Google Customer Match User List', value: 'add' },
14
+ { label: 'Remove users from the connected Google Customer Match User List', value: 'delete' }
15
+ ]
16
+ },
8
17
  fields: {
9
18
  first_name: {
10
19
  label: 'First Name',
@@ -234,12 +243,12 @@ const action = {
234
243
  }
235
244
  }
236
245
  },
237
- perform: async (request, { settings, audienceSettings, payload, hookOutputs, statsContext }) => {
246
+ perform: async (request, { settings, audienceSettings, payload, hookOutputs, statsContext, syncMode }) => {
238
247
  hookOutputs?.retlOnMappingSave?.outputs.id;
239
- return await functions_1.handleUpdate(request, settings, audienceSettings, [payload], hookOutputs?.retlOnMappingSave?.outputs.id, statsContext);
248
+ return await functions_1.handleUpdate(request, settings, audienceSettings, [payload], hookOutputs?.retlOnMappingSave?.outputs.id, syncMode, statsContext);
240
249
  },
241
- performBatch: async (request, { settings, audienceSettings, payload, hookOutputs, statsContext }) => {
242
- return await functions_1.handleUpdate(request, settings, audienceSettings, payload, hookOutputs?.retlOnMappingSave?.outputs.id, statsContext);
250
+ performBatch: async (request, { settings, audienceSettings, payload, hookOutputs, statsContext, syncMode }) => {
251
+ return await functions_1.handleUpdate(request, settings, audienceSettings, payload, hookOutputs?.retlOnMappingSave?.outputs.id, syncMode, statsContext);
243
252
  }
244
253
  };
245
254
  exports.default = action;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/google-enhanced-conversions/userList/index.ts"],"names":[],"mappings":";;AAGA,4CAAgG;AAGhG,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,0BAA0B;IACjC,WAAW,EAAE,wEAAwE;IACrF,mBAAmB,EAAE,yDAAyD;IAC9E,MAAM,EAAE;QACN,UAAU,EAAE;YACV,KAAK,EAAE,YAAY;YACnB,WAAW,EAAE,wBAAwB;YACrC,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,KAAK,EAAE;oBACL,MAAM,EAAE,EAAE,OAAO,EAAE,4BAA4B,EAAE;oBACjD,IAAI,EAAE,EAAE,OAAO,EAAE,4BAA4B,EAAE;oBAC/C,IAAI,EAAE,EAAE,OAAO,EAAE,wBAAwB,EAAE;iBAC5C;aACF;SACF;QACD,SAAS,EAAE;YACT,KAAK,EAAE,WAAW;YAClB,WAAW,EAAE,uBAAuB;YACpC,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,KAAK,EAAE;oBACL,MAAM,EAAE,EAAE,OAAO,EAAE,2BAA2B,EAAE;oBAChD,IAAI,EAAE,EAAE,OAAO,EAAE,2BAA2B,EAAE;oBAC9C,IAAI,EAAE,EAAE,OAAO,EAAE,uBAAuB,EAAE;iBAC3C;aACF;SACF;QACD,KAAK,EAAE;YACL,KAAK,EAAE,OAAO;YACd,WAAW,EAAE,2BAA2B;YACxC,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,KAAK,EAAE;oBACL,MAAM,EAAE,EAAE,OAAO,EAAE,wBAAwB,EAAE;oBAC7C,IAAI,EAAE,EAAE,OAAO,EAAE,wBAAwB,EAAE;oBAC3C,IAAI,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE;iBACxC;aACF;SACF;QACD,KAAK,EAAE;YACL,KAAK,EAAE,OAAO;YACd,WAAW,EAAE,0BAA0B;YACvC,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,KAAK,EAAE;oBACL,MAAM,EAAE,EAAE,OAAO,EAAE,wBAAwB,EAAE;oBAC7C,IAAI,EAAE,EAAE,OAAO,EAAE,wBAAwB,EAAE;oBAC3C,IAAI,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE;iBACxC;aACF;SACF;QACD,YAAY,EAAE;YACZ,KAAK,EAAE,cAAc;YACrB,WAAW,EAAE,0BAA0B;YACvC,IAAI,EAAE,QAAQ;SACf;QACD,WAAW,EAAE;YACX,KAAK,EAAE,aAAa;YACpB,WAAW,EAAE,yBAAyB;YACtC,IAAI,EAAE,QAAQ;SACf;QACD,MAAM,EAAE;YACN,KAAK,EAAE,QAAQ;YACf,WAAW,EAAE,wDAAwD;YACrE,IAAI,EAAE,QAAQ;SACf;QACD,qBAAqB,EAAE;YACrB,KAAK,EAAE,uBAAuB;YAC9B,WAAW,EAAE,yCAAyC;YACtD,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,gCAAgC;aAC1C;SACF;QACD,0BAA0B,EAAE;YAC1B,KAAK,EAAE,4BAA4B;YACnC,WAAW,EACT,4LAA4L;YAC9L,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;gBACtC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;gBACpC,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE;aAC/C;YACD,QAAQ,EAAE,IAAI;SACf;QACD,gCAAgC,EAAE;YAChC,KAAK,EAAE,kCAAkC;YACzC,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,0QAA0Q;YAC5Q,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;gBACtC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;gBACpC,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE;aAC/C;YACD,QAAQ,EAAE,IAAI;SACf;QACD,oBAAoB,EAAE;YACpB,KAAK,EAAE,sBAAsB;YAC7B,WAAW,EAAE,kDAAkD;YAC/D,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,yCAAyC;aACnD;YACD,aAAa,EAAE,IAAI;SACpB;QACD,eAAe,EAAE;YACf,KAAK,EAAE,iBAAiB;YACxB,WAAW,EAAE,kCAAkC;YAC/C,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,IAAI;YACb,aAAa,EAAE,IAAI;SACpB;QACD,UAAU,EAAE;YACV,KAAK,EAAE,YAAY;YACnB,WAAW,EAAE,wCAAwC;YACrD,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,SAAS;aACnB;YACD,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,IAAI;SACf;KACF;IACD,KAAK,EAAE;QACL,iBAAiB,EAAE;YACjB,KAAK,EAAE,8CAA8C;YACrD,WAAW,EAAE,yFAAyF;YACtG,WAAW,EAAE;gBACX,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,kBAAkB;oBACzB,WAAW,EACT,6HAA6H;oBAC/H,QAAQ,EAAE,KAAK;oBACf,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE;wBAC7C,OAAO,MAAM,sBAAU,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;oBAClD,CAAC;iBACF;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,WAAW;oBAClB,WAAW,EAAE,4DAA4D;oBACzE,QAAQ,EAAE,KAAK;iBAChB;gBACD,gBAAgB,EAAE;oBAChB,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,kBAAkB;oBACzB,WAAW,EAAE,kCAAkC;oBAC/C,QAAQ,EAAE,KAAK;oBACf,OAAO,EAAE;wBACP,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE;wBAChD,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;wBACpC,EAAE,KAAK,EAAE,uBAAuB,EAAE,KAAK,EAAE,uBAAuB,EAAE;qBACnE;iBACF;gBACD,MAAM,EAAE;oBACN,KAAK,EAAE,QAAQ;oBACf,WAAW,EACT,iJAAiJ;oBACnJ,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,KAAK,EAAE,KAAK;wBACZ,UAAU,EAAE;4BACV;gCACE,QAAQ,EAAE,kBAAkB;gCAC5B,QAAQ,EAAE,IAAI;gCACd,KAAK,EAAE,uBAAuB;6BAC/B;yBACF;qBACF;iBACF;aACF;YACD,WAAW,EAAE;gBACX,EAAE,EAAE;oBACF,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,IAAI;oBACX,WAAW,EAAE,qFAAqF;oBAClG,QAAQ,EAAE,KAAK;iBAChB;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,WAAW;oBAClB,WAAW,EAAE,uFAAuF;oBACpG,QAAQ,EAAE,KAAK;iBAChB;aACF;YACD,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,EAAE;gBAC3E,IAAI,UAAU,CAAC,OAAO,EAAE;oBACtB,IAAI;wBACF,OAAO,6BAAiB,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,OAAO,CAAC,CAAA;qBAChE;oBAAC,OAAO,CAAC,EAAE;wBACV,MAAM,OAAO,GAAI,CAAsB,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,oBAAoB,CAAA;wBAC5F,MAAM,IAAI,GAAI,CAAsB,CAAC,IAAI,IAAI,kBAAkB,CAAA;wBAC/D,OAAO;4BACL,KAAK,EAAE;gCACL,OAAO;gCACP,IAAI;6BACL;yBACF,CAAA;qBACF;iBACF;gBAED,IAAI;oBACF,MAAM,KAAK,GAAG;wBACZ,YAAY,EAAE,UAAU,CAAC,SAAS;wBAClC,QAAQ,EAAE,QAAQ;wBAClB,gBAAgB,EAAE;4BAChB,gBAAgB,EAAE,UAAU,CAAC,gBAAgB;4BAC7C,MAAM,EAAE,UAAU,CAAC,MAAM;yBAC1B;qBACF,CAAA;oBACD,MAAM,MAAM,GAAG,MAAM,gCAAoB,CAAC,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,CAAA;oBAE7E,OAAO;wBACL,cAAc,EAAE,SAAS,UAAU,CAAC,SAAS,UAAU,MAAM,yBAAyB;wBACtF,SAAS,EAAE;4BACT,EAAE,EAAE,MAAM;4BACV,IAAI,EAAE,UAAU,CAAC,SAAS;yBAC3B;qBACF,CAAA;iBACF;gBAAC,OAAO,CAAC,EAAE;oBACV,MAAM,OAAO,GAAI,CAAsB,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,uBAAuB,CAAA;oBAC/F,MAAM,IAAI,GAAI,CAAsB,CAAC,IAAI,IAAI,qBAAqB,CAAA;oBAClE,OAAO;wBACL,KAAK,EAAE;4BACL,OAAO;4BACP,IAAI;yBACL;qBACF,CAAA;iBACF;YACH,CAAC;SACF;KACF;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,EAAE;QAC7F,WAAW,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,CAAA;QAC1C,OAAO,MAAM,wBAAY,CACvB,OAAO,EACP,QAAQ,EACR,gBAAgB,EAChB,CAAC,OAAO,CAAC,EACT,WAAW,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,EAC1C,YAAY,CACb,CAAA;IACH,CAAC;IACD,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,EAAE;QAClG,OAAO,MAAM,wBAAY,CACvB,OAAO,EACP,QAAQ,EACR,gBAAgB,EAChB,OAAO,EACP,WAAW,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,EAC1C,YAAY,CACb,CAAA;IACH,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/google-enhanced-conversions/userList/index.ts"],"names":[],"mappings":"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"}