@segment/analytics-browser-actions-facebook-conversions-api-web 1.9.1-staging-99a2d468f.1 → 1.11.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.
- package/dist/cjs/functions.d.ts +0 -1
- package/dist/cjs/functions.js +2 -11
- package/dist/cjs/functions.js.map +1 -1
- package/dist/cjs/generated-types.d.ts +1 -0
- package/dist/cjs/index.d.ts +6 -2
- package/dist/cjs/index.js +17 -5
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/send/depends-on.js +11 -40
- package/dist/cjs/send/depends-on.js.map +1 -1
- package/dist/cjs/send/fields.js +18 -5
- package/dist/cjs/send/fields.js.map +1 -1
- package/dist/cjs/send/functions.d.ts +2 -2
- package/dist/cjs/send/functions.js +40 -29
- package/dist/cjs/send/functions.js.map +1 -1
- package/dist/cjs/send/generated-types.d.ts +2 -0
- package/dist/cjs/send/index.d.ts +5 -2
- package/dist/cjs/send/index.js +1 -1
- package/dist/cjs/send/index.js.map +1 -1
- package/dist/cjs/types.d.ts +10 -0
- package/dist/cjs/types.js.map +1 -1
- package/dist/esm/functions.d.ts +0 -1
- package/dist/esm/functions.js +2 -10
- package/dist/esm/functions.js.map +1 -1
- package/dist/esm/generated-types.d.ts +1 -0
- package/dist/esm/index.d.ts +6 -2
- package/dist/esm/index.js +17 -5
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/send/depends-on.js +11 -40
- package/dist/esm/send/depends-on.js.map +1 -1
- package/dist/esm/send/fields.js +18 -5
- package/dist/esm/send/fields.js.map +1 -1
- package/dist/esm/send/functions.d.ts +2 -2
- package/dist/esm/send/functions.js +40 -29
- package/dist/esm/send/functions.js.map +1 -1
- package/dist/esm/send/generated-types.d.ts +2 -0
- package/dist/esm/send/index.d.ts +5 -2
- package/dist/esm/send/index.js +1 -1
- package/dist/esm/send/index.js.map +1 -1
- package/dist/esm/types.d.ts +10 -0
- package/dist/esm/types.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/src/__tests__/functions.test.ts +159 -0
- package/src/constants.ts +1 -1
- package/src/functions.ts +66 -65
- package/src/generated-types.ts +4 -0
- package/src/index.ts +43 -26
- package/src/send/__tests__/depends-on.test.ts +28 -0
- package/src/send/__tests__/functions.test.ts +1178 -0
- package/src/send/depends-on.ts +41 -69
- package/src/send/fields.ts +304 -299
- package/src/send/functions.ts +213 -153
- package/src/send/generated-types.ts +10 -2
- package/src/send/index.ts +4 -4
- package/src/types.ts +33 -21
package/dist/cjs/send/index.js
CHANGED
|
@@ -9,7 +9,7 @@ const action = {
|
|
|
9
9
|
platform: 'web',
|
|
10
10
|
fields: fields_1.AllFields,
|
|
11
11
|
perform: (client, { payload, settings, analytics }) => {
|
|
12
|
-
return (0, functions_1.send)(client, payload, settings, analytics);
|
|
12
|
+
return (0, functions_1.send)(client.fbq, client.clientParamBuilder, payload, settings, analytics);
|
|
13
13
|
}
|
|
14
14
|
};
|
|
15
15
|
exports.default = action;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/send/index.ts"],"names":[],"mappings":";;AAGA,qCAAoC;AAEpC,2CAAkC;AAElC,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/send/index.ts"],"names":[],"mappings":";;AAGA,qCAAoC;AAEpC,2CAAkC;AAElC,MAAM,MAAM,GAAwH;IAClI,KAAK,EAAE,YAAY;IACnB,WAAW,EAAE,8DAA8D;IAC3E,mBAAmB,EAAE,gBAAgB;IACrC,QAAQ,EAAE,KAAK;IACf,MAAM,EAAE,kBAAS;IACjB,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE;QACpD,OAAO,IAAA,gBAAI,EAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAA;IAClF,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
|
package/dist/cjs/types.d.ts
CHANGED
|
@@ -23,6 +23,8 @@ export type UserData = {
|
|
|
23
23
|
st?: string;
|
|
24
24
|
zp?: string;
|
|
25
25
|
country?: string;
|
|
26
|
+
fbp?: string;
|
|
27
|
+
fbc?: string;
|
|
26
28
|
};
|
|
27
29
|
export type FBEvent = {
|
|
28
30
|
content_category?: string;
|
|
@@ -56,6 +58,14 @@ export type FBClient = {
|
|
|
56
58
|
(command: 'trackSingle', pixelId: string, event: FBStandardEventType, params?: FBEvent, options?: EventOptions): void;
|
|
57
59
|
(command: 'trackSingleCustom', pixelId: string, event: string, params?: FBEvent, options?: EventOptions): void;
|
|
58
60
|
};
|
|
61
|
+
export type FBClientParamBuilder = {
|
|
62
|
+
getNormalizedAndHashedPII: (value: string, piiType: PIIType) => string | undefined;
|
|
63
|
+
processAndCollectAllParams: () => void;
|
|
64
|
+
getFbc: () => string | undefined;
|
|
65
|
+
getFbp: () => string | undefined;
|
|
66
|
+
};
|
|
67
|
+
export type PIIType = 'email' | 'phone' | 'first_name' | 'last_name' | 'gender' | 'date_of_birth' | 'city' | 'state' | 'zip_code' | 'country' | 'external_id';
|
|
68
|
+
export type PIIParamName = 'em' | 'ph' | 'fn' | 'ln' | 'ge' | 'db' | 'ct' | 'st' | 'zp' | 'country' | 'external_id';
|
|
59
69
|
export declare const LDU: {
|
|
60
70
|
readonly Disabled: {
|
|
61
71
|
readonly key: "Disabled";
|
package/dist/cjs/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AAiGa,QAAA,GAAG,GAAG;IACjB,QAAQ,EAAE,EAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAC;IACjE,gBAAgB,EAAE,EAAC,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAC;IACjE,UAAU,EAAE,EAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAC;IACxD,QAAQ,EAAE,EAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAC;IACpD,WAAW,EAAE,EAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAC;IAC1D,OAAO,EAAE,EAAC,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAC;IAClD,MAAM,EAAE,EAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAC;IAChD,KAAK,EAAE,EAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAC;IAC9C,OAAO,EAAE,EAAC,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAC;IAClD,QAAQ,EAAE,EAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAC;IACpD,QAAQ,EAAE,EAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAC;IACpD,YAAY,EAAE,EAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAC;IAC5D,SAAS,EAAE,EAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAC;IACtD,SAAS,EAAE,EAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAC;CAC9C,CAAA"}
|
package/dist/esm/functions.d.ts
CHANGED
package/dist/esm/functions.js
CHANGED
|
@@ -39,7 +39,7 @@ export function initScript(settings, analytics) {
|
|
|
39
39
|
window.fbq('set', 'firstPartyCookies', false, pixelId);
|
|
40
40
|
}
|
|
41
41
|
const userData = getStoredUserData(analytics);
|
|
42
|
-
const options = agent ? { agent } : undefined;
|
|
42
|
+
const options = (agent ? { agent } : undefined);
|
|
43
43
|
const initArgs = [pixelId];
|
|
44
44
|
if (userData && Object.keys(userData).length > 0) {
|
|
45
45
|
initArgs.push(userData);
|
|
@@ -52,7 +52,6 @@ export function initScript(settings, analytics) {
|
|
|
52
52
|
}
|
|
53
53
|
window.fbq('init', ...initArgs);
|
|
54
54
|
setStorageInitCount(analytics, 1);
|
|
55
|
-
deleteStorageUserData(analytics);
|
|
56
55
|
if (!disablePushState) {
|
|
57
56
|
window.fbq('trackSingle', pixelId, 'PageView');
|
|
58
57
|
}
|
|
@@ -78,20 +77,13 @@ export function setStorageInitCount(analytics, count) {
|
|
|
78
77
|
const storage = analytics.storage ?? storageFallback;
|
|
79
78
|
storage.set(INIT_COUNT_KEY, `${count}`);
|
|
80
79
|
}
|
|
81
|
-
export function deleteStorageUserData(analytics) {
|
|
82
|
-
const storage = analytics.storage ?? storageFallback;
|
|
83
|
-
storage.set(USER_DATA_KEY, '');
|
|
84
|
-
}
|
|
85
80
|
function getStoredUserData(analytics) {
|
|
86
81
|
const storage = analytics.storage ?? storageFallback;
|
|
87
82
|
const userDataFromStorage = storage.get(USER_DATA_KEY);
|
|
88
83
|
if (userDataFromStorage) {
|
|
89
84
|
try {
|
|
90
85
|
const parsed = JSON.parse(userDataFromStorage);
|
|
91
|
-
if (!parsed ||
|
|
92
|
-
typeof parsed !== 'object' ||
|
|
93
|
-
Array.isArray(parsed) ||
|
|
94
|
-
Object.keys(parsed).length === 0) {
|
|
86
|
+
if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed) || Object.keys(parsed).length === 0) {
|
|
95
87
|
return undefined;
|
|
96
88
|
}
|
|
97
89
|
return parsed;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../src/functions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsC,GAAG,
|
|
1
|
+
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../src/functions.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
import type { Settings } from './generated-types';
|
|
2
2
|
import type { BrowserDestinationDefinition } from '@segment/browser-destination-runtime/types';
|
|
3
|
-
import { FBClient } from './types';
|
|
3
|
+
import { FBClient, FBClientParamBuilder } from './types';
|
|
4
4
|
declare global {
|
|
5
5
|
interface Window {
|
|
6
6
|
fbq: FBClient;
|
|
7
7
|
_fbq: FBClient;
|
|
8
|
+
clientParamBuilder: FBClientParamBuilder | undefined;
|
|
8
9
|
}
|
|
9
10
|
}
|
|
10
|
-
export declare const destination: BrowserDestinationDefinition<Settings,
|
|
11
|
+
export declare const destination: BrowserDestinationDefinition<Settings, {
|
|
12
|
+
fbq: FBClient;
|
|
13
|
+
clientParamBuilder: FBClientParamBuilder | undefined;
|
|
14
|
+
}>;
|
|
11
15
|
declare const _default: import("@segment/browser-destination-runtime/types").PluginFactory;
|
|
12
16
|
export default _default;
|
package/dist/esm/index.js
CHANGED
|
@@ -16,19 +16,19 @@ export const destination = {
|
|
|
16
16
|
required: true
|
|
17
17
|
},
|
|
18
18
|
disablePushState: {
|
|
19
|
-
description:
|
|
19
|
+
description: "If set to true, prevents Facebook Pixel from sending PageView events on history state changes. Set to true if you want to trigger PageView events manually via the pageView Action.",
|
|
20
20
|
label: 'Disable Push State',
|
|
21
21
|
type: 'boolean',
|
|
22
22
|
default: false
|
|
23
23
|
},
|
|
24
24
|
disableAutoConfig: {
|
|
25
|
-
description:
|
|
25
|
+
description: "Control whether Facebook’s Meta Pixel automatically collects additional page and button data to optimize ads and measurement. When this toggle is on, Auto Config is disabled and only basic pixel tracking will occur. Turning it off enables Auto Config, allowing the Pixel to automatically send page metadata and button interactions to improve ad delivery and reporting.",
|
|
26
26
|
label: 'Disable Auto Config',
|
|
27
27
|
type: 'boolean',
|
|
28
28
|
default: true
|
|
29
29
|
},
|
|
30
30
|
disableFirstPartyCookies: {
|
|
31
|
-
description:
|
|
31
|
+
description: "Control whether Facebook’s Meta Pixel uses first-party cookies. When this toggle is on, first-party cookies are disabled, enhancing user privacy. Turning it off enables the use of first-party cookies for more accurate tracking.",
|
|
32
32
|
label: 'Disable First Party Cookies',
|
|
33
33
|
type: 'boolean',
|
|
34
34
|
default: false
|
|
@@ -46,7 +46,7 @@ export const destination = {
|
|
|
46
46
|
required: true,
|
|
47
47
|
choices: [
|
|
48
48
|
{ label: 'LDU disabled', value: LDU.Disabled.key },
|
|
49
|
-
{ label:
|
|
49
|
+
{ label: "LDU enabled - Use Meta Geolocation Logic", value: LDU.GeolocationLogic.key },
|
|
50
50
|
{ label: 'LDU enabled - California only', value: LDU.California.key },
|
|
51
51
|
{ label: 'LDU enabled - Colorado only', value: LDU.Colorado.key },
|
|
52
52
|
{ label: 'LDU enabled - Connecticut only', value: LDU.Connecticut.key },
|
|
@@ -61,12 +61,24 @@ export const destination = {
|
|
|
61
61
|
{ label: 'LDU enabled - Minnesota only', value: LDU.Minnesota.key }
|
|
62
62
|
],
|
|
63
63
|
default: LDU.Disabled.key
|
|
64
|
+
},
|
|
65
|
+
formatUserDataWithParamBuilder: {
|
|
66
|
+
description: 'If enabled, uses Facebook’s Parameter Builder library to help ensure that User Data values are properly formatted before being sent to Facebook.',
|
|
67
|
+
label: 'Format User Data with Parameter Builder',
|
|
68
|
+
type: 'boolean',
|
|
69
|
+
default: true
|
|
64
70
|
}
|
|
65
71
|
},
|
|
66
72
|
initialize: async ({ settings, analytics }, deps) => {
|
|
73
|
+
const { formatUserDataWithParamBuilder } = settings;
|
|
67
74
|
initScript(settings, analytics);
|
|
68
75
|
await deps.resolveWhen(() => typeof window.fbq === 'function', 100);
|
|
69
|
-
|
|
76
|
+
if (formatUserDataWithParamBuilder) {
|
|
77
|
+
const script = `https://capi-automation.s3.us-east-2.amazonaws.com/public/client_js/capiParamBuilder/clientParamBuilder.bundle.js`;
|
|
78
|
+
await deps.loadScript(script);
|
|
79
|
+
await deps.resolveWhen(() => typeof window.clientParamBuilder === 'object', 100);
|
|
80
|
+
}
|
|
81
|
+
return { fbq: window.fbq, clientParamBuilder: window.clientParamBuilder || undefined };
|
|
70
82
|
},
|
|
71
83
|
actions: {
|
|
72
84
|
send
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAA;AAC9E,OAAO,IAAI,MAAM,QAAQ,CAAA;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,50 +1,18 @@
|
|
|
1
1
|
export const fieldDependencies = {
|
|
2
2
|
custom_event_name: ['CustomEvent'],
|
|
3
3
|
content_category: ['PageView', 'ViewContent', 'Search'],
|
|
4
|
-
content_ids: [
|
|
5
|
-
'AddPaymentInfo',
|
|
6
|
-
'AddToCart',
|
|
7
|
-
'AddToWishlist',
|
|
8
|
-
'InitiateCheckout',
|
|
9
|
-
'Purchase',
|
|
10
|
-
'Search',
|
|
11
|
-
'ViewContent'
|
|
12
|
-
],
|
|
4
|
+
content_ids: ['AddPaymentInfo', 'AddToCart', 'AddToWishlist', 'InitiateCheckout', 'Purchase', 'Search', 'ViewContent'],
|
|
13
5
|
content_name: ['PageView', 'ViewContent', 'Search'],
|
|
14
6
|
content_type: ['AddToCart', 'Purchase', 'Search', 'ViewContent'],
|
|
15
7
|
contents: ['AddPaymentInfo', 'AddToCart', 'AddToWishlist', 'InitiateCheckout', 'Purchase', 'Search', 'ViewContent'],
|
|
16
|
-
currency: [
|
|
17
|
-
'AddPaymentInfo',
|
|
18
|
-
'AddToCart',
|
|
19
|
-
'AddToWishlist',
|
|
20
|
-
'CompleteRegistration',
|
|
21
|
-
'InitiateCheckout',
|
|
22
|
-
'Lead',
|
|
23
|
-
'Purchase',
|
|
24
|
-
'Search',
|
|
25
|
-
'StartTrial',
|
|
26
|
-
'Subscribe',
|
|
27
|
-
'ViewContent'
|
|
28
|
-
],
|
|
8
|
+
currency: ['AddPaymentInfo', 'AddToCart', 'AddToWishlist', 'CompleteRegistration', 'InitiateCheckout', 'Lead', 'Purchase', 'Search', 'StartTrial', 'Subscribe', 'ViewContent'],
|
|
29
9
|
delivery_category: ['Purchase', 'InitiateCheckout'],
|
|
30
10
|
num_items: ['InitiateCheckout'],
|
|
31
11
|
predicted_ltv: ['Purchase', 'Subscribe', 'StartTrial', 'CompleteRegistration', 'AddPaymentInfo', 'CustomEvent'],
|
|
32
12
|
net_revenue: ['Purchase'],
|
|
33
13
|
search_string: ['Search'],
|
|
34
14
|
status: ['CompleteRegistration'],
|
|
35
|
-
value: [
|
|
36
|
-
'AddPaymentInfo',
|
|
37
|
-
'AddToCart',
|
|
38
|
-
'AddToWishlist',
|
|
39
|
-
'CompleteRegistration',
|
|
40
|
-
'InitiateCheckout',
|
|
41
|
-
'Lead',
|
|
42
|
-
'Purchase',
|
|
43
|
-
'Search',
|
|
44
|
-
'StartTrial',
|
|
45
|
-
'Subscribe',
|
|
46
|
-
'ViewContent'
|
|
47
|
-
]
|
|
15
|
+
value: ['AddPaymentInfo', 'AddToCart', 'AddToWishlist', 'CompleteRegistration', 'InitiateCheckout', 'Lead', 'Purchase', 'Search', 'StartTrial', 'Subscribe', 'ViewContent'],
|
|
48
16
|
};
|
|
49
17
|
export function getDependenciesFor(fieldName) {
|
|
50
18
|
const conditions = [
|
|
@@ -54,11 +22,14 @@ export function getDependenciesFor(fieldName) {
|
|
|
54
22
|
value: 'true'
|
|
55
23
|
}
|
|
56
24
|
];
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
25
|
+
const dependencies = fieldDependencies[fieldName];
|
|
26
|
+
if (Array.isArray(dependencies) && dependencies.length > 1) {
|
|
27
|
+
dependencies.forEach(dep => {
|
|
28
|
+
conditions.push({
|
|
29
|
+
fieldKey: 'event_config.event_name',
|
|
30
|
+
operator: 'is',
|
|
31
|
+
value: dep
|
|
32
|
+
});
|
|
62
33
|
});
|
|
63
34
|
}
|
|
64
35
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"depends-on.js","sourceRoot":"","sources":["../../../src/send/depends-on.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,iBAAiB,GAAqE;
|
|
1
|
+
{"version":3,"file":"depends-on.js","sourceRoot":"","sources":["../../../src/send/depends-on.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,iBAAiB,GAAqE;IAC/F,iBAAiB,EAAE,CAAC,aAAa,CAAC;IAClC,gBAAgB,EAAE,CAAC,UAAU,EAAE,aAAa,EAAE,QAAQ,CAAC;IACvD,WAAW,EAAE,CAAC,gBAAgB,EAAC,WAAW,EAAC,eAAe,EAAC,kBAAkB,EAAC,UAAU,EAAC,QAAQ,EAAC,aAAa,CAAC;IAChH,YAAY,EAAE,CAAC,UAAU,EAAE,aAAa,EAAE,QAAQ,CAAC;IACnD,YAAY,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,CAAC;IAChE,QAAQ,EAAE,CAAC,gBAAgB,EAAE,WAAW,EAAE,eAAe,EAAE,kBAAkB,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,CAAC;IACnH,QAAQ,EAAE,CAAC,gBAAgB,EAAE,WAAW,EAAE,eAAe,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,CAAC;IAC9K,iBAAiB,EAAE,CAAC,UAAU,EAAE,kBAAkB,CAAC;IACnD,SAAS,EAAE,CAAC,kBAAkB,CAAC;IAC/B,aAAa,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,aAAa,CAAE;IAChH,WAAW,EAAE,CAAC,UAAU,CAAC;IACzB,aAAa,EAAE,CAAC,QAAQ,CAAC;IACzB,MAAM,EAAE,CAAC,sBAAsB,CAAC;IAChC,KAAK,EAAE,CAAC,gBAAgB,EAAE,WAAW,EAAE,eAAe,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,CAAC;CAC9K,CAAA;AAED,MAAM,UAAU,kBAAkB,CAAC,SAAiB;IAChD,MAAM,UAAU,GAAgB;QAC5B;YACI,QAAQ,EAAE,0BAA0B;YACpC,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,MAAM;SAChB;KACJ,CAAA;IAED,MAAM,YAAY,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAA;IAEjD,IAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxD,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACvB,UAAU,CAAC,IAAI,CAAC;gBACZ,QAAQ,EAAE,yBAAyB;gBACnC,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,GAAG;aACb,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACN,CAAC;IAED,OAAO;QACH,KAAK,EAAE,KAAK;QACZ,UAAU;KACb,CAAA;AACL,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAmD;IACrF,OAAO,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC;SACnC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SAChD,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAA;AACxC,CAAC"}
|
package/dist/esm/send/fields.js
CHANGED
|
@@ -84,7 +84,7 @@ export const content_ids = {
|
|
|
84
84
|
description: "Product IDs associated with the event, such as SKUs (e.g. ['ABC123', 'XYZ789']). Accepts a single string value or array of strings.",
|
|
85
85
|
type: 'string',
|
|
86
86
|
multiple: true,
|
|
87
|
-
default: {
|
|
87
|
+
default: { "@liquid": "{{ properties.products | map: 'product_id' }}" },
|
|
88
88
|
depends_on: getDependenciesFor('content_ids')
|
|
89
89
|
};
|
|
90
90
|
export const contents = {
|
|
@@ -132,7 +132,7 @@ export const currency = {
|
|
|
132
132
|
default: { '@path': '$.properties.currency' },
|
|
133
133
|
depends_on: getDependenciesFor('currency'),
|
|
134
134
|
choices: (() => {
|
|
135
|
-
return [...CURRENCY_ISO_CODES].map(
|
|
135
|
+
return [...CURRENCY_ISO_CODES].map(code => ({
|
|
136
136
|
value: code,
|
|
137
137
|
label: code
|
|
138
138
|
}));
|
|
@@ -248,7 +248,7 @@ export const userData = {
|
|
|
248
248
|
},
|
|
249
249
|
ph: {
|
|
250
250
|
label: 'Phone Number',
|
|
251
|
-
description: 'Phone number of the user',
|
|
251
|
+
description: 'Phone number of the user. Make sure to include the country code. For example, "15551234567" for a US number.',
|
|
252
252
|
type: 'string'
|
|
253
253
|
},
|
|
254
254
|
fn: {
|
|
@@ -288,13 +288,23 @@ export const userData = {
|
|
|
288
288
|
},
|
|
289
289
|
zp: {
|
|
290
290
|
label: 'ZIP/Postal Code',
|
|
291
|
-
description: 'ZIP or postal code of the user. For example,
|
|
291
|
+
description: 'ZIP or postal code of the user. For example, U.S zip code: 94035, Australia zip code: 1987, France zip code: 75018, UK zip code: m11ae.',
|
|
292
292
|
type: 'string'
|
|
293
293
|
},
|
|
294
294
|
country: {
|
|
295
295
|
label: 'Country',
|
|
296
296
|
description: 'The country of the user. Facebook expects the 2-letter ISO 3166-1 alpha-2 country code. For example, "US" for the United States, or "GB" for the United Kingdom.',
|
|
297
297
|
type: 'string'
|
|
298
|
+
},
|
|
299
|
+
fbp: {
|
|
300
|
+
label: 'FBP',
|
|
301
|
+
description: 'Use this field to pass the Facebook browser cookie value (_fbp) associated with the user. If the "Format User Data with Parameter Builder" setting is enabled, Segment will automatically capture this value from the _fbp cookie.',
|
|
302
|
+
type: 'string'
|
|
303
|
+
},
|
|
304
|
+
fbc: {
|
|
305
|
+
label: 'FBC',
|
|
306
|
+
description: 'Use this field to pass The Facebook browser cookie value (_fbc) associated with the user. If the "Format User Data with Parameter Builder" setting is enabled, Segment will automatically capture this value from the _fbc cookie.',
|
|
307
|
+
type: 'string'
|
|
298
308
|
}
|
|
299
309
|
},
|
|
300
310
|
default: {
|
|
@@ -308,7 +318,10 @@ export const userData = {
|
|
|
308
318
|
ct: { '@path': '$.context.traits.address.city' },
|
|
309
319
|
st: { '@path': '$.context.traits.address.state' },
|
|
310
320
|
zp: { '@path': '$.context.traits.address.postal_code' },
|
|
311
|
-
country: { '@path': '$.context.traits.address.country' }
|
|
321
|
+
country: { '@path': '$.context.traits.address.country' },
|
|
322
|
+
fbp: { '@path': '$.context.traits.fbp' },
|
|
323
|
+
fbc: { '@path': '$.context.traits.fbc' },
|
|
324
|
+
client_ip_address: { '@path': '$.context.traits.client_ip_address' }
|
|
312
325
|
}
|
|
313
326
|
};
|
|
314
327
|
export const AllFields = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../src/send/fields.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAEjD,MAAM,CAAC,MAAM,YAAY,GAAe;
|
|
1
|
+
{"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../src/send/fields.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { FBClient } from '../types';
|
|
1
|
+
import { FBClient, FBClientParamBuilder } from '../types';
|
|
2
2
|
import { Payload } from './generated-types';
|
|
3
3
|
import { Settings } from '../generated-types';
|
|
4
4
|
import { Analytics } from '@segment/analytics-next';
|
|
5
|
-
export declare function send(client: FBClient, payload: Payload, settings: Settings, analytics: Analytics): void;
|
|
5
|
+
export declare function send(client: FBClient, clientParamBuilder: FBClientParamBuilder | undefined, payload: Payload, settings: Settings, analytics: Analytics): void;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { US_STATE_CODES, COUNTRY_CODES, MAX_INIT_COUNT, INIT_COUNT_KEY, USER_DATA_KEY } from '../constants';
|
|
2
2
|
import { storageFallback, setStorageInitCount } from '../functions';
|
|
3
3
|
import { getNotVisibleForEvent } from './depends-on';
|
|
4
|
-
export function send(client, payload, settings, analytics) {
|
|
4
|
+
export function send(client, clientParamBuilder, payload, settings, analytics) {
|
|
5
5
|
const { pixelId } = settings;
|
|
6
6
|
const { event_config: { custom_event_name, event_name } = {} } = payload;
|
|
7
7
|
const isCustom = event_name === 'CustomEvent' ? true : false;
|
|
@@ -11,7 +11,7 @@ export function send(client, payload, settings, analytics) {
|
|
|
11
11
|
return;
|
|
12
12
|
}
|
|
13
13
|
const fbEvent = formatFBEvent(payload);
|
|
14
|
-
maybeSendUserData(client, payload, settings, analytics);
|
|
14
|
+
maybeSendUserData(client, clientParamBuilder, payload, settings, analytics);
|
|
15
15
|
const options = formatOptions(payload);
|
|
16
16
|
if (isCustom) {
|
|
17
17
|
client('trackSingleCustom', pixelId, custom_event_name, { ...fbEvent }, options);
|
|
@@ -23,8 +23,7 @@ export function send(client, payload, settings, analytics) {
|
|
|
23
23
|
function validate(payload) {
|
|
24
24
|
const { event_config: { event_name }, content_ids, contents } = payload;
|
|
25
25
|
if (['AddToCart', 'Purchase', 'ViewContent'].includes(event_name)) {
|
|
26
|
-
if ((!content_ids || (Array.isArray(content_ids) && content_ids.length === 0)) &&
|
|
27
|
-
(!contents || (Array.isArray(contents) && contents.length === 0))) {
|
|
26
|
+
if ((!content_ids || (Array.isArray(content_ids) && content_ids.length === 0)) && (!contents || (Array.isArray(contents) && contents.length === 0))) {
|
|
28
27
|
return `At least one of content_ids or contents is required for the ${event_name} event.`;
|
|
29
28
|
}
|
|
30
29
|
}
|
|
@@ -48,7 +47,7 @@ function formatFBEvent(payload) {
|
|
|
48
47
|
};
|
|
49
48
|
if (show_fields === false) {
|
|
50
49
|
const fieldsToDelete = getNotVisibleForEvent(event_name);
|
|
51
|
-
fieldsToDelete.forEach(
|
|
50
|
+
fieldsToDelete.forEach(field => {
|
|
52
51
|
if (field in fbEvent) {
|
|
53
52
|
delete fbEvent[field];
|
|
54
53
|
}
|
|
@@ -60,18 +59,20 @@ function formatOptions(payload) {
|
|
|
60
59
|
const { eventID, eventSourceUrl } = payload;
|
|
61
60
|
const options = {
|
|
62
61
|
...(eventID ? { eventID } : {}),
|
|
63
|
-
...(eventSourceUrl ? { eventSourceUrl } : {})
|
|
62
|
+
...(eventSourceUrl ? { eventSourceUrl } : {}),
|
|
64
63
|
};
|
|
65
64
|
return Object.values(options).some(Boolean) ? options : undefined;
|
|
66
65
|
}
|
|
67
|
-
function maybeSendUserData(client, payload, settings, analytics) {
|
|
66
|
+
function maybeSendUserData(client, clientParamBuilder, payload, settings, analytics) {
|
|
68
67
|
const { pixelId } = settings;
|
|
69
68
|
const { userData } = payload;
|
|
70
|
-
const userDataFormatted = formatUserData(userData);
|
|
69
|
+
const userDataFormatted = formatUserData(userData, clientParamBuilder);
|
|
71
70
|
if (userDataFormatted) {
|
|
72
71
|
const storage = analytics.storage ?? storageFallback;
|
|
73
72
|
const initCountFromStorage = storage.get(INIT_COUNT_KEY);
|
|
74
|
-
const initCount = initCountFromStorage && !isNaN(Number(initCountFromStorage))
|
|
73
|
+
const initCount = (initCountFromStorage && !isNaN(Number(initCountFromStorage)))
|
|
74
|
+
? parseInt(initCountFromStorage, 10)
|
|
75
|
+
: undefined;
|
|
75
76
|
if (typeof initCount === 'number' && initCount < MAX_INIT_COUNT) {
|
|
76
77
|
client('init', pixelId, userDataFormatted);
|
|
77
78
|
setStorageInitCount(analytics, initCount + 1);
|
|
@@ -79,32 +80,45 @@ function maybeSendUserData(client, payload, settings, analytics) {
|
|
|
79
80
|
storage.set(USER_DATA_KEY, JSON.stringify(userDataFormatted));
|
|
80
81
|
}
|
|
81
82
|
}
|
|
82
|
-
function formatUserData(userData) {
|
|
83
|
+
function formatUserData(userData, clientParamBuilder) {
|
|
83
84
|
if (!userData) {
|
|
84
85
|
return undefined;
|
|
85
86
|
}
|
|
86
|
-
const { external_id, em, ph, fn, ln, ge, db, ct, st, zp, country } = userData;
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
87
|
+
const { external_id, em, ph, fn, ln, ge, db, ct, st, zp, country, fbp, fbc } = userData;
|
|
88
|
+
let fbcValue = fbc ? fbc.trim() : undefined;
|
|
89
|
+
let fbpValue = fbp ? fbp.trim() : undefined;
|
|
90
|
+
if (clientParamBuilder) {
|
|
91
|
+
clientParamBuilder.processAndCollectAllParams();
|
|
92
|
+
fbcValue = clientParamBuilder.getFbc() || fbcValue;
|
|
93
|
+
fbpValue = clientParamBuilder.getFbp() || fbpValue;
|
|
94
|
+
}
|
|
90
95
|
const ud = {
|
|
91
|
-
...(
|
|
92
|
-
...(
|
|
93
|
-
...(
|
|
94
|
-
...(
|
|
95
|
-
...(
|
|
96
|
-
...(
|
|
97
|
-
...(
|
|
98
|
-
...(
|
|
99
|
-
...(
|
|
100
|
-
...(
|
|
101
|
-
...(
|
|
96
|
+
...(formatPII(em, 'email', 'em', clientParamBuilder, (s) => s.toLowerCase().trim())),
|
|
97
|
+
...(formatPII(ph, 'phone', 'ph', clientParamBuilder, (s) => s.replace(/\D/g, ''))),
|
|
98
|
+
...(formatPII(fn, 'first_name', 'fn', clientParamBuilder, (s) => s.toLowerCase().trim())),
|
|
99
|
+
...(formatPII(ln, 'last_name', 'ln', clientParamBuilder, (s) => s.toLowerCase().trim())),
|
|
100
|
+
...(formatPII(ge, 'gender', 'ge', clientParamBuilder, (s) => (['m', 'f'].includes(s) ? s : undefined)) || {}),
|
|
101
|
+
...(formatPII(db, 'date_of_birth', 'db', clientParamBuilder, (s) => formatDate(s))),
|
|
102
|
+
...(formatPII(ct, 'city', 'ct', clientParamBuilder, (s) => s.toLowerCase().replace(/\s+/g, ''))),
|
|
103
|
+
...(formatPII(st, 'state', 'st', clientParamBuilder, (s) => fromMap(US_STATE_CODES, s))),
|
|
104
|
+
...(formatPII(zp, 'zip_code', 'zp', clientParamBuilder, (s) => s.trim())),
|
|
105
|
+
...(formatPII(country, 'country', 'country', clientParamBuilder, (s) => fromMap(COUNTRY_CODES, s))),
|
|
106
|
+
...(formatPII(external_id, 'external_id', 'external_id', clientParamBuilder, (s) => s.trim())),
|
|
107
|
+
...(fbcValue ? { fbc: fbcValue } : {}),
|
|
108
|
+
...(fbpValue ? { fbp: fbpValue } : {})
|
|
102
109
|
};
|
|
103
110
|
if (Object.keys(ud).length === 0) {
|
|
104
111
|
return undefined;
|
|
105
112
|
}
|
|
106
113
|
return ud;
|
|
107
114
|
}
|
|
115
|
+
function formatPII(value, piiType, piiParamType, clientParamBuilder, formatter) {
|
|
116
|
+
if (!value) {
|
|
117
|
+
return {};
|
|
118
|
+
}
|
|
119
|
+
const val = clientParamBuilder?.getNormalizedAndHashedPII(value, piiType) ?? formatter(value);
|
|
120
|
+
return val ? { [piiParamType]: val } : {};
|
|
121
|
+
}
|
|
108
122
|
function formatDate(isoDate) {
|
|
109
123
|
if (!isoDate || typeof isoDate !== 'string') {
|
|
110
124
|
return undefined;
|
|
@@ -119,10 +133,7 @@ function formatDate(isoDate) {
|
|
|
119
133
|
return `${year}${month}${day}`;
|
|
120
134
|
}
|
|
121
135
|
function fromMap(map, value) {
|
|
122
|
-
const cleaned = value
|
|
123
|
-
?.toLowerCase()
|
|
124
|
-
.replace(/[^a-z]/g, '')
|
|
125
|
-
.trim();
|
|
136
|
+
const cleaned = value?.toLowerCase().replace(/[^a-z]/g, '').trim();
|
|
126
137
|
if (!cleaned) {
|
|
127
138
|
return undefined;
|
|
128
139
|
}
|