@getuserfeedback/adapters 0.4.3 → 0.4.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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-generation.d.ts","sourceRoot":"","sources":["../../src/gtm/template-generation.ts"],"names":[],"mappings":"AAcA,MAAM,MAAM,kBAAkB,GAAG;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,QAAQ,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACpC,IAAI,EAAE,WAAW,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC3C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,EAAE,kBAAkB,EAAE,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAC1B;IACA,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,IAAI,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,sBAAsB,EAAE,CAAC;IAC3C,kBAAkB,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACxC,GACD;IACA,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,IAAI,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW,EAAE,kBAAkB,EAAE,CAAC;IAClC,eAAe,CAAC,EAAE,sBAAsB,EAAE,CAAC;IAC3C,kBAAkB,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACxC,GACD;IACA,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,IAAI,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,KAAK,CAAC,kBAAkB,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACzD,GACD;IACA,IAAI,EAAE,cAAc,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7C,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,KAAK,CACxB,6BAA6B,GAAG,+BAA+B,CAC/D,CAAC;IACF,eAAe,CAAC,EAAE,sBAAsB,EAAE,CAAC;IAC3C,kBAAkB,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACxC,GACD;IACA,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,cAAc,CAAC;IAC3B,SAAS,EAAE,iBAAiB,EAAE,CAAC;CAC9B,CAAC;AAOL,KAAK,wBAAwB,GAAG;IAC/B,IAAI,EAAE,CAAC,CAAC;IACR,MAAM,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,yBAAyB,GAAG;IAChC,IAAI,EAAE,CAAC,CAAC;IACR,OAAO,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,KAAK,qBAAqB,GAAG;IAC5B,IAAI,EAAE,CAAC,CAAC;IACR,MAAM,EAAE,wBAAwB,EAAE,CAAC;IACnC,QAAQ,EAAE,KAAK,CACZ,wBAAwB,GACxB,yBAAyB,GACzB,sBAAsB,GACtB,qBAAqB,CACvB,CAAC;CACF,CAAC;AAEF,KAAK,sBAAsB,GAAG;IAC7B,IAAI,EAAE,CAAC,CAAC;IACR,QAAQ,EAAE,KAAK,CACd,wBAAwB,GAAG,yBAAyB,GAAG,qBAAqB,CAC5E,CAAC;CACF,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EACF,wBAAwB,GACxB,yBAAyB,GACzB,sBAAsB,GACtB,qBAAqB,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IACnC,QAAQ,EAAE;QACT,GAAG,EAAE;YACJ,QAAQ,EAAE,MAAM,CAAC;YACjB,SAAS,EAAE,GAAG,CAAC;SACf,CAAC;QACF,KAAK,EAAE,kBAAkB,EAAE,CAAC;KAC5B,CAAC;IACF,iBAAiB,CAAC,EAAE;QACnB,cAAc,EAAE,IAAI,CAAC;KACrB,CAAC;IACF,UAAU,EAAE,IAAI,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,KAAK,CAAC;IACZ,OAAO,EAAE,CAAC,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,SAAS,CAAC,QAAQ,EAAE,iBAAiB,EAAE,SAAS,CAAC,CAAC;IAC9D,iBAAiB,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC9B,IAAI,EAAE,eAAe,CAAC;IACtB,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,qBAAqB,EAAE,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,gBAAgB,CAAC;AAEnD,MAAM,MAAM,4BAA4B,GAAG;IAC1C,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,kCAAkC,qDACI,CAAC;
|
|
1
|
+
{"version":3,"file":"template-generation.d.ts","sourceRoot":"","sources":["../../src/gtm/template-generation.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,18 +26,48 @@ const AUTOMATIC_CONSENT_MODE_CONDITION = [
|
|
|
26
26
|
type: "EQUALS",
|
|
27
27
|
},
|
|
28
28
|
];
|
|
29
|
-
const
|
|
29
|
+
const IDENTIFY_ADVANCED_MODE_CONDITION = [
|
|
30
30
|
{
|
|
31
31
|
paramName: "identifyMode",
|
|
32
|
-
paramValue: "
|
|
32
|
+
paramValue: "advanced",
|
|
33
33
|
type: "EQUALS",
|
|
34
34
|
},
|
|
35
35
|
];
|
|
36
|
-
const
|
|
36
|
+
const INTELLIGENT_IDENTIFY_USER_ID_KEYS = [
|
|
37
|
+
"userId",
|
|
38
|
+
"user.userId",
|
|
39
|
+
"user.id",
|
|
40
|
+
"traits.userId",
|
|
41
|
+
"traits.id",
|
|
42
|
+
"context.userId",
|
|
43
|
+
"context.user.id",
|
|
44
|
+
];
|
|
45
|
+
const INTELLIGENT_IDENTIFY_EMAIL_KEYS = [
|
|
46
|
+
"email",
|
|
47
|
+
"user.email",
|
|
48
|
+
"traits.email",
|
|
49
|
+
"context.email",
|
|
50
|
+
"context.user.email",
|
|
51
|
+
];
|
|
52
|
+
const INTELLIGENT_IDENTIFY_PHONE_KEYS = [
|
|
53
|
+
"phone",
|
|
54
|
+
"user.phone",
|
|
55
|
+
"traits.phone",
|
|
56
|
+
"context.phone",
|
|
57
|
+
"context.user.phone",
|
|
58
|
+
];
|
|
59
|
+
const ADVANCED_PRIMARY_IDENTITY_SELECT_ITEMS = [
|
|
37
60
|
{
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
61
|
+
displayValue: "User ID",
|
|
62
|
+
value: "userId",
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
displayValue: "Phone",
|
|
66
|
+
value: "phone",
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
displayValue: "Email",
|
|
70
|
+
value: "email",
|
|
41
71
|
},
|
|
42
72
|
];
|
|
43
73
|
const buildAutomaticDefaultScopeMappings = () => DEFAULT_GTM_SCOPE_MAPPINGS.filter((mapping) => isHostConfigurableGtmScope(mapping.scope)).map((mapping) => ({
|
|
@@ -278,59 +308,51 @@ export function buildGtmTemplateParameters(_options) {
|
|
|
278
308
|
{
|
|
279
309
|
type: "GROUP",
|
|
280
310
|
name: "identifyGroup",
|
|
281
|
-
displayName: "
|
|
311
|
+
displayName: "User Identity",
|
|
282
312
|
groupStyle: "ZIPPY_CLOSED",
|
|
283
313
|
subParams: [
|
|
284
314
|
{
|
|
285
315
|
type: "RADIO",
|
|
286
316
|
name: "identifyMode",
|
|
287
|
-
displayName: "
|
|
317
|
+
displayName: "Identification mode",
|
|
288
318
|
simpleValueType: true,
|
|
289
|
-
defaultValue: "
|
|
319
|
+
defaultValue: "intelligent",
|
|
290
320
|
radioItems: [
|
|
321
|
+
{
|
|
322
|
+
value: "intelligent",
|
|
323
|
+
displayValue: "Intelligent",
|
|
324
|
+
help: "Automatically read common data layer keys for user ID, email, and phone. User ID is sent as `identify(userId)` and email or phone stay as raw traits.",
|
|
325
|
+
},
|
|
291
326
|
{
|
|
292
327
|
value: "disabled",
|
|
293
328
|
displayValue: "Disabled",
|
|
294
329
|
help: "Do not send identify data from this GTM tag.",
|
|
295
330
|
},
|
|
296
|
-
{
|
|
297
|
-
value: "simple",
|
|
298
|
-
displayValue: "Simple",
|
|
299
|
-
help: "Send a stable user ID and common traits like email or phone from GTM variables.",
|
|
300
|
-
},
|
|
301
331
|
{
|
|
302
332
|
value: "advanced",
|
|
303
333
|
displayValue: "Advanced",
|
|
304
|
-
help: "
|
|
334
|
+
help: "Choose how GTM encodes the primary identity and add any extra traits you want to send from GTM variables.",
|
|
305
335
|
},
|
|
306
336
|
],
|
|
307
337
|
},
|
|
308
338
|
{
|
|
309
|
-
type: "
|
|
310
|
-
name: "
|
|
311
|
-
displayName: "
|
|
312
|
-
simpleValueType: true,
|
|
313
|
-
help: "Use a GTM variable that resolves to the signed-in user's stable ID. If GTM is loaded through Segment, this is often a data layer variable for `userId`.",
|
|
314
|
-
enablingConditions: [
|
|
315
|
-
...IDENTIFY_SIMPLE_MODE_CONDITION,
|
|
316
|
-
...IDENTIFY_ADVANCED_MODE_CONDITION,
|
|
317
|
-
],
|
|
318
|
-
},
|
|
319
|
-
{
|
|
320
|
-
type: "TEXT",
|
|
321
|
-
name: "identifyEmail",
|
|
322
|
-
displayName: "Email",
|
|
339
|
+
type: "SELECT",
|
|
340
|
+
name: "identifyPrimaryIdentityType",
|
|
341
|
+
displayName: "Primary identity",
|
|
323
342
|
simpleValueType: true,
|
|
324
|
-
|
|
325
|
-
|
|
343
|
+
macrosInSelect: false,
|
|
344
|
+
defaultValue: "userId",
|
|
345
|
+
selectItems: [...ADVANCED_PRIMARY_IDENTITY_SELECT_ITEMS],
|
|
346
|
+
help: "Choose whether GTM should encode the primary identity as `identify(userId)` or as a raw identity trait like `email` or `phone`.",
|
|
347
|
+
enablingConditions: [...IDENTIFY_ADVANCED_MODE_CONDITION],
|
|
326
348
|
},
|
|
327
349
|
{
|
|
328
350
|
type: "TEXT",
|
|
329
|
-
name: "
|
|
330
|
-
displayName: "
|
|
351
|
+
name: "identifyPrimaryIdentityValue",
|
|
352
|
+
displayName: "Primary identity value",
|
|
331
353
|
simpleValueType: true,
|
|
332
|
-
help: "
|
|
333
|
-
enablingConditions: [...
|
|
354
|
+
help: "Use a GTM variable that resolves to the selected primary identity value.",
|
|
355
|
+
enablingConditions: [...IDENTIFY_ADVANCED_MODE_CONDITION],
|
|
334
356
|
},
|
|
335
357
|
{
|
|
336
358
|
type: "SIMPLE_TABLE",
|
|
@@ -367,6 +389,7 @@ const queryPermission = require("queryPermission");
|
|
|
367
389
|
const createQueue = require("createQueue");
|
|
368
390
|
const isConsentGranted = require("isConsentGranted");
|
|
369
391
|
const encodeUriComponent = require("encodeUriComponent");
|
|
392
|
+
const copyFromDataLayer = require("copyFromDataLayer");
|
|
370
393
|
|
|
371
394
|
const loaderScriptBaseUrl = ${JSON.stringify(loaderScriptBaseUrl)};
|
|
372
395
|
const gtmConsentTypes = ${JSON.stringify(GTM_CONSENT_TYPES)};
|
|
@@ -375,6 +398,9 @@ const defaultScopeMappings = ${JSON.stringify(defaultTemplateScopeMappings)};
|
|
|
375
398
|
const hostConfigurableScopes = ${JSON.stringify(defaultTemplateScopeMappings.map((row) => row.scope))};
|
|
376
399
|
const defaultAutoDetectColorSchemeAttrs = ${JSON.stringify(DEFAULT_AUTO_DETECT_COLOR_SCHEME_ATTRS)};
|
|
377
400
|
const queueKey = ${JSON.stringify(GTM_QUEUE_KEY)};
|
|
401
|
+
const intelligentIdentifyUserIdKeys = ${JSON.stringify(INTELLIGENT_IDENTIFY_USER_ID_KEYS)};
|
|
402
|
+
const intelligentIdentifyEmailKeys = ${JSON.stringify(INTELLIGENT_IDENTIFY_EMAIL_KEYS)};
|
|
403
|
+
const intelligentIdentifyPhoneKeys = ${JSON.stringify(INTELLIGENT_IDENTIFY_PHONE_KEYS)};
|
|
378
404
|
|
|
379
405
|
const trimString = function(value) {
|
|
380
406
|
return typeof value === "string" ? value.trim() : "";
|
|
@@ -441,6 +467,15 @@ const normalizeTraitValue = function(value) {
|
|
|
441
467
|
return value;
|
|
442
468
|
};
|
|
443
469
|
|
|
470
|
+
const normalizeUserIdValue = function(value) {
|
|
471
|
+
if (typeof value !== "string") {
|
|
472
|
+
return undefined;
|
|
473
|
+
}
|
|
474
|
+
|
|
475
|
+
const trimmedValue = value.trim();
|
|
476
|
+
return trimmedValue ? trimmedValue : undefined;
|
|
477
|
+
};
|
|
478
|
+
|
|
444
479
|
const addTrait = function(result, name, value) {
|
|
445
480
|
const traitName = trimString(name);
|
|
446
481
|
const traitValue = normalizeTraitValue(value);
|
|
@@ -450,10 +485,27 @@ const addTrait = function(result, name, value) {
|
|
|
450
485
|
result[traitName] = traitValue;
|
|
451
486
|
};
|
|
452
487
|
|
|
453
|
-
const
|
|
488
|
+
const getIntelligentIdentifyValue = function(keys) {
|
|
489
|
+
for (let index = 0; index < keys.length; index += 1) {
|
|
490
|
+
const key = keys[index];
|
|
491
|
+
if (!queryPermission("read_data_layer", key)) {
|
|
492
|
+
continue;
|
|
493
|
+
}
|
|
494
|
+
|
|
495
|
+
const value = copyFromDataLayer(key);
|
|
496
|
+
const normalizedValue = normalizeTraitValue(value);
|
|
497
|
+
if (normalizedValue !== undefined) {
|
|
498
|
+
return normalizedValue;
|
|
499
|
+
}
|
|
500
|
+
}
|
|
501
|
+
|
|
502
|
+
return undefined;
|
|
503
|
+
};
|
|
504
|
+
|
|
505
|
+
const getIntelligentIdentifyTraits = function() {
|
|
454
506
|
const traits = {};
|
|
455
|
-
addTrait(traits, "email",
|
|
456
|
-
addTrait(traits, "phone",
|
|
507
|
+
addTrait(traits, "email", getIntelligentIdentifyValue(intelligentIdentifyEmailKeys));
|
|
508
|
+
addTrait(traits, "phone", getIntelligentIdentifyValue(intelligentIdentifyPhoneKeys));
|
|
457
509
|
return traits;
|
|
458
510
|
};
|
|
459
511
|
|
|
@@ -479,19 +531,7 @@ const hasOwnKeys = function(value) {
|
|
|
479
531
|
return false;
|
|
480
532
|
};
|
|
481
533
|
|
|
482
|
-
const
|
|
483
|
-
if (
|
|
484
|
-
templateData.identifyMode !== "simple" &&
|
|
485
|
-
templateData.identifyMode !== "advanced"
|
|
486
|
-
) {
|
|
487
|
-
return undefined;
|
|
488
|
-
}
|
|
489
|
-
|
|
490
|
-
const userId = trimString(templateData.identifyUserId);
|
|
491
|
-
const traits =
|
|
492
|
-
templateData.identifyMode === "advanced"
|
|
493
|
-
? getAdvancedIdentifyTraits(templateData)
|
|
494
|
-
: getSimpleIdentifyTraits(templateData);
|
|
534
|
+
const getIdentifyCommandFromUserIdAndTraits = function(userId, traits) {
|
|
495
535
|
const hasTraits = hasOwnKeys(traits);
|
|
496
536
|
|
|
497
537
|
if (userId && hasTraits) {
|
|
@@ -516,6 +556,51 @@ const getIdentifyCommand = function(templateData) {
|
|
|
516
556
|
return undefined;
|
|
517
557
|
};
|
|
518
558
|
|
|
559
|
+
const getIntelligentIdentifyCommand = function() {
|
|
560
|
+
const userId = normalizeUserIdValue(
|
|
561
|
+
getIntelligentIdentifyValue(intelligentIdentifyUserIdKeys),
|
|
562
|
+
);
|
|
563
|
+
const traits = getIntelligentIdentifyTraits();
|
|
564
|
+
return getIdentifyCommandFromUserIdAndTraits(userId, traits);
|
|
565
|
+
};
|
|
566
|
+
|
|
567
|
+
const getAdvancedIdentifyCommand = function(templateData) {
|
|
568
|
+
const traits = getAdvancedIdentifyTraits(templateData);
|
|
569
|
+
const primaryIdentityType = trimString(templateData.identifyPrimaryIdentityType);
|
|
570
|
+
const primaryIdentityValue = normalizeTraitValue(
|
|
571
|
+
templateData.identifyPrimaryIdentityValue,
|
|
572
|
+
);
|
|
573
|
+
|
|
574
|
+
if (primaryIdentityType === "userId") {
|
|
575
|
+
const userId = normalizeUserIdValue(primaryIdentityValue);
|
|
576
|
+
return getIdentifyCommandFromUserIdAndTraits(userId, traits);
|
|
577
|
+
}
|
|
578
|
+
|
|
579
|
+
if (
|
|
580
|
+
primaryIdentityType === "email" ||
|
|
581
|
+
primaryIdentityType === "phone"
|
|
582
|
+
) {
|
|
583
|
+
addTrait(traits, primaryIdentityType, primaryIdentityValue);
|
|
584
|
+
}
|
|
585
|
+
|
|
586
|
+
return hasOwnKeys(traits)
|
|
587
|
+
? {
|
|
588
|
+
kind: "identify",
|
|
589
|
+
traits: traits,
|
|
590
|
+
}
|
|
591
|
+
: undefined;
|
|
592
|
+
};
|
|
593
|
+
|
|
594
|
+
const getIdentifyCommand = function(templateData) {
|
|
595
|
+
if (templateData.identifyMode === "intelligent") {
|
|
596
|
+
return getIntelligentIdentifyCommand();
|
|
597
|
+
}
|
|
598
|
+
if (templateData.identifyMode === "advanced") {
|
|
599
|
+
return getAdvancedIdentifyCommand(templateData);
|
|
600
|
+
}
|
|
601
|
+
return undefined;
|
|
602
|
+
};
|
|
603
|
+
|
|
519
604
|
const getThemeInput = function(templateData) {
|
|
520
605
|
if (templateData.themeMode === "variable") {
|
|
521
606
|
return templateData.themeModeVariable;
|
|
@@ -752,6 +837,16 @@ export function buildGtmPermissions(input) {
|
|
|
752
837
|
]))),
|
|
753
838
|
},
|
|
754
839
|
]),
|
|
840
|
+
buildPermission("read_data_layer", [
|
|
841
|
+
{
|
|
842
|
+
key: "keyPatterns",
|
|
843
|
+
value: listValue([
|
|
844
|
+
...INTELLIGENT_IDENTIFY_USER_ID_KEYS,
|
|
845
|
+
...INTELLIGENT_IDENTIFY_EMAIL_KEYS,
|
|
846
|
+
...INTELLIGENT_IDENTIFY_PHONE_KEYS,
|
|
847
|
+
].map((key) => stringValue(key))),
|
|
848
|
+
},
|
|
849
|
+
]),
|
|
755
850
|
];
|
|
756
851
|
}
|
|
757
852
|
export function buildGtmTemplateInfo(input) {
|