@c15t/scripts 3.0.0-alpha.1 → 3.0.0-alpha.3
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/AGENTS.md +129 -59
- package/README.md +8 -29
- package/SKILL.md +33 -0
- package/dist/adobe-analytics.js +2 -0
- package/dist/ahrefs-analytics.js +2 -0
- package/dist/amplitude.js +2 -0
- package/dist/clearbit.js +2 -0
- package/dist/cloudflare-web-analytics.js +2 -0
- package/dist/cloudflare-zaraz.js +2 -0
- package/dist/crisp.js +2 -0
- package/dist/databuddy.js +2 -0
- package/dist/e2e-test-utils.js +2 -137
- package/dist/engine/compile.js +2 -89
- package/dist/engine/runtime.js +2 -448
- package/dist/events.js +2 -0
- package/dist/fathom-analytics.js +2 -0
- package/dist/front-chat.js +2 -0
- package/dist/google-tag-manager.js +2 -0
- package/dist/google-tag.js +2 -0
- package/dist/heap.js +2 -0
- package/dist/hightouch.js +2 -0
- package/dist/hotjar.js +2 -0
- package/dist/intercom.js +2 -0
- package/dist/klaviyo.js +2 -0
- package/dist/linkedin-insights.js +2 -0
- package/dist/logrocket.js +2 -0
- package/dist/matomo-analytics.js +2 -0
- package/dist/meta-pixel.js +2 -0
- package/dist/microsoft-clarity.js +2 -0
- package/dist/microsoft-uet.js +2 -0
- package/dist/mixpanel-analytics.js +2 -0
- package/dist/one-dollar-stats.js +2 -0
- package/dist/openai-pixel.js +2 -0
- package/dist/pinterest-tag.js +2 -0
- package/dist/pirsch.js +2 -0
- package/dist/plausible-analytics.js +2 -0
- package/dist/posthog.js +2 -0
- package/dist/promptwatch.js +2 -0
- package/dist/reddit-pixel.js +2 -0
- package/dist/registry.js +2 -392
- package/dist/resolve.js +2 -33
- package/dist/rudderstack.js +2 -0
- package/dist/rybbit-analytics.js +2 -0
- package/dist/segment.js +2 -0
- package/dist/snapchat-pixel.js +2 -0
- package/dist/tiktok-pixel.js +2 -0
- package/dist/types.js +2 -16
- package/dist/umami-analytics.js +2 -0
- package/dist/vendors/_shared/attributes.js +2 -14
- package/dist/vendors/_shared/google-consent.js +2 -27
- package/dist/vendors/_shared/install-builders.js +2 -21
- package/dist/vendors/_shared/required-id.js +2 -0
- package/dist/vendors/_shared/script-url.js +2 -28
- package/dist/vendors/ads-and-pixels/linkedin-insights.js +2 -48
- package/dist/vendors/ads-and-pixels/meta-pixel.js +2 -153
- package/dist/vendors/ads-and-pixels/microsoft-uet.js +2 -110
- package/dist/vendors/ads-and-pixels/openai-pixel.js +2 -88
- package/dist/vendors/ads-and-pixels/pinterest-tag.js +2 -0
- package/dist/vendors/ads-and-pixels/reddit-pixel.js +2 -107
- package/dist/vendors/ads-and-pixels/snapchat-pixel.js +2 -87
- package/dist/vendors/ads-and-pixels/tiktok-pixel.js +2 -89
- package/dist/vendors/ads-and-pixels/x-pixel.js +2 -48
- package/dist/vendors/analytics/adobe-analytics.js +2 -49
- package/dist/vendors/analytics/ahrefs-analytics.js +2 -27
- package/dist/vendors/analytics/amplitude.js +2 -134
- package/dist/vendors/analytics/clearbit.js +2 -28
- package/dist/vendors/analytics/cloudflare-web-analytics.js +2 -32
- package/dist/vendors/analytics/databuddy.js +2 -103
- package/dist/vendors/analytics/fathom-analytics.js +2 -35
- package/dist/vendors/analytics/google-tag.js +2 -66
- package/dist/vendors/analytics/heap.js +2 -134
- package/dist/vendors/analytics/hightouch.js +2 -109
- package/dist/vendors/analytics/hotjar.js +2 -44
- package/dist/vendors/analytics/logrocket.js +2 -58
- package/dist/vendors/analytics/matomo-analytics.js +2 -191
- package/dist/vendors/analytics/microsoft-clarity.js +2 -100
- package/dist/vendors/analytics/mixpanel-analytics.js +2 -93
- package/dist/vendors/analytics/one-dollar-stats.js +2 -0
- package/dist/vendors/analytics/pirsch.js +2 -67
- package/dist/vendors/analytics/plausible-analytics.js +2 -81
- package/dist/vendors/analytics/posthog.js +2 -200
- package/dist/vendors/analytics/promptwatch.js +2 -29
- package/dist/vendors/analytics/rudderstack.js +2 -183
- package/dist/vendors/analytics/rybbit-analytics.js +2 -63
- package/dist/vendors/analytics/segment.js +2 -56
- package/dist/vendors/analytics/umami-analytics.js +2 -39
- package/dist/vendors/analytics/vercel-analytics.js +2 -53
- package/dist/vendors/email-and-sms/klaviyo.js +2 -0
- package/dist/vendors/functional/crisp.js +2 -100
- package/dist/vendors/functional/front-chat.js +2 -0
- package/dist/vendors/functional/intercom.js +2 -45
- package/dist/vendors/tag-managers/cloudflare-zaraz.js +2 -98
- package/dist/vendors/tag-managers/google-tag-manager.js +2 -59
- package/dist/vercel-analytics.js +2 -0
- package/dist/x-pixel.js +2 -0
- package/dist-types/adobe-analytics.d.ts +2 -0
- package/dist-types/ahrefs-analytics.d.ts +2 -0
- package/dist-types/amplitude.d.ts +2 -0
- package/dist-types/clearbit.d.ts +2 -0
- package/dist-types/cloudflare-web-analytics.d.ts +2 -0
- package/dist-types/cloudflare-zaraz.d.ts +2 -0
- package/dist-types/crisp.d.ts +2 -0
- package/dist-types/databuddy.d.ts +2 -0
- package/dist-types/e2e-test-utils.d.ts +2 -0
- package/dist-types/engine/compile.d.ts +2 -3
- package/dist-types/engine/runtime.d.ts +2 -3
- package/dist-types/events.d.ts +2 -0
- package/dist-types/fathom-analytics.d.ts +2 -0
- package/dist-types/front-chat.d.ts +2 -0
- package/dist-types/google-tag-manager.d.ts +2 -0
- package/dist-types/google-tag.d.ts +2 -0
- package/dist-types/heap.d.ts +2 -0
- package/dist-types/hightouch.d.ts +2 -0
- package/dist-types/hotjar.d.ts +2 -0
- package/dist-types/intercom.d.ts +2 -0
- package/dist-types/klaviyo.d.ts +2 -0
- package/dist-types/linkedin-insights.d.ts +2 -0
- package/dist-types/logrocket.d.ts +2 -0
- package/dist-types/matomo-analytics.d.ts +2 -0
- package/dist-types/meta-pixel.d.ts +2 -0
- package/dist-types/microsoft-clarity.d.ts +2 -0
- package/dist-types/microsoft-uet.d.ts +2 -0
- package/dist-types/mixpanel-analytics.d.ts +2 -0
- package/dist-types/one-dollar-stats.d.ts +2 -0
- package/dist-types/openai-pixel.d.ts +2 -0
- package/dist-types/pinterest-tag.d.ts +2 -0
- package/dist-types/pirsch.d.ts +2 -0
- package/dist-types/plausible-analytics.d.ts +2 -0
- package/dist-types/posthog.d.ts +2 -0
- package/dist-types/promptwatch.d.ts +2 -0
- package/dist-types/reddit-pixel.d.ts +2 -0
- package/dist-types/registry.d.ts +2 -458
- package/dist-types/resolve.d.ts +2 -9
- package/dist-types/rudderstack.d.ts +2 -0
- package/dist-types/rybbit-analytics.d.ts +2 -0
- package/dist-types/segment.d.ts +2 -0
- package/dist-types/snapchat-pixel.d.ts +2 -0
- package/dist-types/tiktok-pixel.d.ts +2 -0
- package/dist-types/types.d.ts +2 -314
- package/dist-types/umami-analytics.d.ts +2 -0
- package/dist-types/vendors/_shared/attributes.d.ts +2 -35
- package/dist-types/vendors/_shared/google-consent.d.ts +2 -47
- package/dist-types/vendors/_shared/install-builders.d.ts +2 -30
- package/dist-types/vendors/_shared/required-id.d.ts +2 -0
- package/dist-types/vendors/_shared/script-url.d.ts +2 -75
- package/dist-types/vendors/ads-and-pixels/linkedin-insights.d.ts +2 -92
- package/dist-types/vendors/ads-and-pixels/meta-pixel.d.ts +2 -289
- package/dist-types/vendors/ads-and-pixels/microsoft-uet.d.ts +2 -105
- package/dist-types/vendors/ads-and-pixels/openai-pixel.d.ts +2 -211
- package/dist-types/vendors/ads-and-pixels/pinterest-tag.d.ts +2 -0
- package/dist-types/vendors/ads-and-pixels/reddit-pixel.d.ts +2 -210
- package/dist-types/vendors/ads-and-pixels/snapchat-pixel.d.ts +2 -171
- package/dist-types/vendors/ads-and-pixels/tiktok-pixel.d.ts +2 -106
- package/dist-types/vendors/ads-and-pixels/x-pixel.d.ts +2 -183
- package/dist-types/vendors/analytics/adobe-analytics.d.ts +2 -75
- package/dist-types/vendors/analytics/ahrefs-analytics.d.ts +2 -62
- package/dist-types/vendors/analytics/amplitude.d.ts +2 -234
- package/dist-types/vendors/analytics/clearbit.d.ts +2 -60
- package/dist-types/vendors/analytics/cloudflare-web-analytics.d.ts +2 -67
- package/dist-types/vendors/analytics/databuddy.d.ts +2 -147
- package/dist-types/vendors/analytics/fathom-analytics.d.ts +2 -90
- package/dist-types/vendors/analytics/google-tag.d.ts +2 -93
- package/dist-types/vendors/analytics/heap.d.ts +2 -316
- package/dist-types/vendors/analytics/hightouch.d.ts +2 -285
- package/dist-types/vendors/analytics/hotjar.d.ts +2 -73
- package/dist-types/vendors/analytics/logrocket.d.ts +2 -101
- package/dist-types/vendors/analytics/matomo-analytics.d.ts +2 -41
- package/dist-types/vendors/analytics/microsoft-clarity.d.ts +2 -97
- package/dist-types/vendors/analytics/mixpanel-analytics.d.ts +2 -113
- package/dist-types/vendors/analytics/one-dollar-stats.d.ts +2 -0
- package/dist-types/vendors/analytics/pirsch.d.ts +2 -96
- package/dist-types/vendors/analytics/plausible-analytics.d.ts +2 -122
- package/dist-types/vendors/analytics/posthog.d.ts +2 -175
- package/dist-types/vendors/analytics/promptwatch.d.ts +2 -36
- package/dist-types/vendors/analytics/rudderstack.d.ts +2 -330
- package/dist-types/vendors/analytics/rybbit-analytics.d.ts +2 -82
- package/dist-types/vendors/analytics/segment.d.ts +2 -158
- package/dist-types/vendors/analytics/umami-analytics.d.ts +2 -93
- package/dist-types/vendors/analytics/vercel-analytics.d.ts +2 -66
- package/dist-types/vendors/email-and-sms/klaviyo.d.ts +2 -0
- package/dist-types/vendors/functional/crisp.d.ts +2 -78
- package/dist-types/vendors/functional/front-chat.d.ts +2 -0
- package/dist-types/vendors/functional/intercom.d.ts +2 -135
- package/dist-types/vendors/tag-managers/cloudflare-zaraz.d.ts +2 -39
- package/dist-types/vendors/tag-managers/google-tag-manager.d.ts +2 -94
- package/dist-types/vercel-analytics.d.ts +2 -0
- package/dist-types/x-pixel.d.ts +2 -0
- package/docs/README.md +129 -59
- package/docs/assets/v3/bottom-bar.png +0 -0
- package/docs/assets/v3/brand-card.png +0 -0
- package/docs/assets/v3/brand-preferences.png +0 -0
- package/docs/assets/v3/choice-wall.png +0 -0
- package/docs/assets/v3/headless-bar-html.png +0 -0
- package/docs/assets/v3/headless-bar-mobile.png +0 -0
- package/docs/assets/v3/headless-bar.png +0 -0
- package/docs/assets/v3/slim-bar.png +0 -0
- package/docs/concepts/choose-your-setup.md +87 -0
- package/docs/concepts/consent-categories.md +84 -0
- package/docs/concepts/consent-state.md +357 -0
- package/docs/{guides → concepts}/data-fetching.md +31 -27
- package/docs/concepts/how-consent-works.md +123 -0
- package/docs/concepts/policies.md +71 -0
- package/docs/customization/class-names.md +202 -0
- package/docs/customization/dark-mode.md +157 -0
- package/docs/customization/motion.md +119 -0
- package/docs/customization/overview.md +67 -33
- package/docs/customization/recipes.md +839 -47
- package/docs/customization/slots.md +216 -35
- package/docs/customization/stylesheets.md +147 -0
- package/docs/customization/tailwind.md +842 -0
- package/docs/customization/tokens.md +166 -36
- package/docs/customization/translations.md +61 -3
- package/docs/frameworks/astro/embeds.md +160 -0
- package/docs/frameworks/astro/network-blocker.md +86 -0
- package/docs/frameworks/astro/scripts.md +146 -0
- package/docs/frameworks/html/embeds.md +142 -0
- package/docs/frameworks/html/network-blocker.md +105 -0
- package/docs/frameworks/html/scripts.md +164 -0
- package/docs/frameworks/javascript/scripts.md +119 -0
- package/docs/frameworks/next/embeds.md +90 -0
- package/docs/frameworks/next/network-blocker.md +153 -0
- package/docs/frameworks/next/scripts.md +196 -0
- package/docs/frameworks/nuxt/embeds.md +81 -0
- package/docs/frameworks/nuxt/network-blocker.md +97 -0
- package/docs/frameworks/nuxt/scripts.md +89 -0
- package/docs/frameworks/react/embeds.md +89 -0
- package/docs/frameworks/react/network-blocker.md +140 -0
- package/docs/frameworks/react/scripts.md +115 -0
- package/docs/frameworks/svelte/embeds.md +96 -0
- package/docs/frameworks/svelte/network-blocker.md +141 -0
- package/docs/frameworks/svelte/scripts.md +137 -0
- package/docs/frameworks/sveltekit/embeds.md +103 -0
- package/docs/frameworks/sveltekit/network-blocker.md +149 -0
- package/docs/frameworks/sveltekit/scripts.md +141 -0
- package/docs/frameworks/tanstack-start/embeds.md +96 -0
- package/docs/frameworks/tanstack-start/network-blocker.md +145 -0
- package/docs/frameworks/tanstack-start/scripts.md +103 -0
- package/docs/frameworks/vue/embeds.md +84 -0
- package/docs/frameworks/vue/network-blocker.md +99 -0
- package/docs/frameworks/vue/scripts.md +93 -0
- package/docs/guides/banner-experiments.md +654 -0
- package/docs/guides/troubleshooting.md +120 -47
- package/docs/guides/verify-consent.md +81 -49
- package/docs/integrations/adobe-analytics.md +168 -160
- package/docs/integrations/ahrefs-analytics.md +153 -155
- package/docs/integrations/amplitude.md +163 -157
- package/docs/integrations/building-integrations.md +136 -37
- package/docs/integrations/clearbit.md +155 -155
- package/docs/integrations/cloudflare-web-analytics.md +157 -157
- package/docs/integrations/cloudflare-zaraz.md +210 -262
- package/docs/integrations/crisp.md +165 -159
- package/docs/integrations/databuddy.md +158 -174
- package/docs/integrations/fathom-analytics.md +159 -157
- package/docs/integrations/front-chat.md +322 -0
- package/docs/integrations/google-maps.md +119 -84
- package/docs/integrations/google-tag-manager.md +179 -164
- package/docs/integrations/google-tag.md +164 -161
- package/docs/integrations/heap.md +164 -156
- package/docs/integrations/hightouch.md +162 -158
- package/docs/integrations/hotjar.md +160 -156
- package/docs/integrations/intercom.md +184 -154
- package/docs/integrations/klaviyo.md +486 -0
- package/docs/integrations/linkedin-insights.md +175 -151
- package/docs/integrations/logrocket.md +161 -157
- package/docs/integrations/matomo-analytics.md +189 -179
- package/docs/integrations/meta-pixel.md +189 -151
- package/docs/integrations/microsoft-clarity.md +164 -156
- package/docs/integrations/microsoft-uet.md +149 -155
- package/docs/integrations/mixpanel-analytics.md +156 -161
- package/docs/integrations/one-dollar-stats.md +306 -0
- package/docs/integrations/openai-pixel.md +205 -302
- package/docs/integrations/overview.md +143 -83
- package/docs/integrations/pinterest-tag.md +329 -0
- package/docs/integrations/pirsch.md +170 -160
- package/docs/integrations/plausible-analytics.md +173 -159
- package/docs/integrations/posthog.md +227 -242
- package/docs/integrations/promptwatch.md +155 -155
- package/docs/integrations/reddit-pixel.md +186 -158
- package/docs/integrations/rudderstack.md +202 -187
- package/docs/integrations/rybbit-analytics.md +172 -161
- package/docs/integrations/segment.md +183 -155
- package/docs/integrations/snapchat-pixel.md +187 -157
- package/docs/integrations/tiktok-pixel.md +172 -151
- package/docs/integrations/umami-analytics.md +164 -159
- package/docs/integrations/vercel-analytics.md +167 -158
- package/docs/integrations/x-pixel.md +177 -151
- package/docs/integrations/youtube.md +122 -87
- package/docs/upgrade-v3.md +490 -354
- package/package.json +12 -236
- package/dist-types/__tests__/helpers.d.ts +0 -141
- package/docs/assets/v3/brand-bar.png +0 -0
- package/docs/assets/v3/mobile-card.png +0 -0
- package/docs/assets/v3/preferences.png +0 -0
- package/docs/frameworks/javascript/script-loader.md +0 -94
- package/docs/frameworks/next/script-loader.md +0 -210
- package/docs/frameworks/react/script-loader.md +0 -63
- package/docs/guides/consent-state.md +0 -60
- package/docs/guides/deployment-modes.md +0 -75
- package/docs/integrations/clear-on-revocation.md +0 -167
- package/docs/integrations/granular-consent.md +0 -208
|
@@ -1,289 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
* Represents the `contents` array object property.
|
|
4
|
-
*/
|
|
5
|
-
export interface FbqContent {
|
|
6
|
-
id: string | number;
|
|
7
|
-
quantity: number;
|
|
8
|
-
[key: string]: unknown;
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Base interface for all possible event parameters.
|
|
12
|
-
* All properties are optional here; specific event types will make them required.
|
|
13
|
-
*/
|
|
14
|
-
export interface FbqBaseEventParams {
|
|
15
|
-
content_category?: string;
|
|
16
|
-
content_ids?: (string | number)[];
|
|
17
|
-
content_name?: string;
|
|
18
|
-
content_type?: 'product' | 'product_group';
|
|
19
|
-
contents?: FbqContent[];
|
|
20
|
-
currency?: string;
|
|
21
|
-
delivery_category?: 'in_store' | 'curbside' | 'home_delivery';
|
|
22
|
-
num_items?: number;
|
|
23
|
-
predicted_ltv?: number;
|
|
24
|
-
search_string?: string;
|
|
25
|
-
status?: boolean;
|
|
26
|
-
value?: number;
|
|
27
|
-
}
|
|
28
|
-
export type FbqCustomParams = Record<string, unknown>;
|
|
29
|
-
type WithCustomParams<TParams> = TParams & FbqCustomParams;
|
|
30
|
-
type AddPaymentInfoParams = WithCustomParams<Pick<FbqBaseEventParams, 'content_ids' | 'contents' | 'currency' | 'value'>>;
|
|
31
|
-
type AddToCartParams = WithCustomParams<Pick<FbqBaseEventParams, 'content_ids' | 'content_type' | 'contents' | 'currency' | 'value'>>;
|
|
32
|
-
type AddToWishlistParams = WithCustomParams<Pick<FbqBaseEventParams, 'content_ids' | 'contents' | 'currency' | 'value'>>;
|
|
33
|
-
type CompleteRegistrationParams = WithCustomParams<Pick<FbqBaseEventParams, 'currency' | 'value' | 'status'>>;
|
|
34
|
-
type InitiateCheckoutParams = WithCustomParams<Pick<FbqBaseEventParams, 'content_ids' | 'contents' | 'currency' | 'num_items' | 'value'>>;
|
|
35
|
-
type LeadParams = WithCustomParams<Pick<FbqBaseEventParams, 'currency' | 'value'>>;
|
|
36
|
-
type PageViewParams = FbqCustomParams;
|
|
37
|
-
type SearchParams = WithCustomParams<Pick<FbqBaseEventParams, 'content_ids' | 'content_type' | 'contents' | 'currency' | 'search_string' | 'value'>>;
|
|
38
|
-
type StartTrialParams = WithCustomParams<Pick<FbqBaseEventParams, 'currency' | 'predicted_ltv' | 'value'>>;
|
|
39
|
-
type SubscribeParams = WithCustomParams<Pick<FbqBaseEventParams, 'currency' | 'predicted_ltv' | 'value'>>;
|
|
40
|
-
type ViewContentParams = WithCustomParams<Pick<FbqBaseEventParams, 'content_ids' | 'content_type' | 'contents' | 'currency' | 'value'>>;
|
|
41
|
-
/**
|
|
42
|
-
* The 'Purchase' event has required properties.
|
|
43
|
-
* We use TypeScript's utility types to enforce this.
|
|
44
|
-
*/
|
|
45
|
-
type PurchaseParams = WithCustomParams<Pick<FbqBaseEventParams, 'content_ids' | 'content_type' | 'contents' | 'num_items'> & Required<Pick<FbqBaseEventParams, 'currency' | 'value'>>>;
|
|
46
|
-
/**
|
|
47
|
-
* Events with no specific properties listed can accept any of the base parameters.
|
|
48
|
-
*/
|
|
49
|
-
type ContactParams = WithCustomParams<FbqBaseEventParams>;
|
|
50
|
-
type CustomizeProductParams = WithCustomParams<FbqBaseEventParams>;
|
|
51
|
-
type DonateParams = WithCustomParams<FbqBaseEventParams>;
|
|
52
|
-
type FindLocationParams = WithCustomParams<FbqBaseEventParams>;
|
|
53
|
-
type ScheduleParams = WithCustomParams<FbqBaseEventParams>;
|
|
54
|
-
type SubmitApplicationParams = WithCustomParams<FbqBaseEventParams>;
|
|
55
|
-
/**
|
|
56
|
-
* A mapping of Standard Event names to their corresponding parameter types.
|
|
57
|
-
* This is the core of our type-safety mechanism.
|
|
58
|
-
*/
|
|
59
|
-
export interface StandardEventParams {
|
|
60
|
-
AddPaymentInfo: AddPaymentInfoParams;
|
|
61
|
-
AddToCart: AddToCartParams;
|
|
62
|
-
AddToWishlist: AddToWishlistParams;
|
|
63
|
-
CompleteRegistration: CompleteRegistrationParams;
|
|
64
|
-
Contact: ContactParams;
|
|
65
|
-
CustomizeProduct: CustomizeProductParams;
|
|
66
|
-
Donate: DonateParams;
|
|
67
|
-
FindLocation: FindLocationParams;
|
|
68
|
-
InitiateCheckout: InitiateCheckoutParams;
|
|
69
|
-
Lead: LeadParams;
|
|
70
|
-
PageView: PageViewParams;
|
|
71
|
-
Purchase: PurchaseParams;
|
|
72
|
-
Schedule: ScheduleParams;
|
|
73
|
-
Search: SearchParams;
|
|
74
|
-
StartTrial: StartTrialParams;
|
|
75
|
-
SubmitApplication: SubmitApplicationParams;
|
|
76
|
-
Subscribe: SubscribeParams;
|
|
77
|
-
ViewContent: ViewContentParams;
|
|
78
|
-
}
|
|
79
|
-
export type StandardEventName = keyof StandardEventParams;
|
|
80
|
-
export interface MetaPixelEventOptions {
|
|
81
|
-
/**
|
|
82
|
-
* Event ID used to deduplicate browser events against Conversions API events.
|
|
83
|
-
*
|
|
84
|
-
* @see https://developers.facebook.com/docs/marketing-api/conversions-api/deduplicate-pixel-and-server-events
|
|
85
|
-
*/
|
|
86
|
-
eventID?: string;
|
|
87
|
-
[key: string]: unknown;
|
|
88
|
-
}
|
|
89
|
-
export interface MetaPixelDataProcessingOptions {
|
|
90
|
-
/**
|
|
91
|
-
* Data processing flags sent to Meta before `init`.
|
|
92
|
-
*
|
|
93
|
-
* Use `['LDU']` to enable Limited Data Use, or `[]` to explicitly disable it.
|
|
94
|
-
*/
|
|
95
|
-
options: 'LDU'[] | [];
|
|
96
|
-
/**
|
|
97
|
-
* Meta country code. Use `0` to let Meta geolocate the event or `1` for USA.
|
|
98
|
-
*/
|
|
99
|
-
country?: number;
|
|
100
|
-
/**
|
|
101
|
-
* Meta state code. Use `0` to let Meta geolocate the event.
|
|
102
|
-
*
|
|
103
|
-
* @example `1000` for California
|
|
104
|
-
*/
|
|
105
|
-
state?: number;
|
|
106
|
-
}
|
|
107
|
-
declare global {
|
|
108
|
-
interface Window {
|
|
109
|
-
fbq: {
|
|
110
|
-
(command: 'dataProcessingOptions', options: MetaPixelDataProcessingOptions['options'], country?: number, state?: number): void;
|
|
111
|
-
(command: 'init', pixelId: string, options?: Record<string, unknown>): void;
|
|
112
|
-
(command: 'track', eventName: StandardEventName, params?: StandardEventParams[StandardEventName], options?: MetaPixelEventOptions): void;
|
|
113
|
-
(command: 'trackCustom', eventName: string, params?: FbqCustomParams, options?: MetaPixelEventOptions): void;
|
|
114
|
-
(command: 'trackSingle', pixelId: string, eventName: StandardEventName, params?: StandardEventParams[StandardEventName], options?: MetaPixelEventOptions): void;
|
|
115
|
-
(command: 'trackSingleCustom', pixelId: string, eventName: string, params?: FbqCustomParams, options?: MetaPixelEventOptions): void;
|
|
116
|
-
(command: 'consent', action: 'grant' | 'revoke'): void;
|
|
117
|
-
(...args: unknown[]): void;
|
|
118
|
-
};
|
|
119
|
-
_fbq: Window['fbq'];
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
/**
|
|
123
|
-
* Meta Pixel vendor manifest.
|
|
124
|
-
*
|
|
125
|
-
* The Meta Pixel uses structured bootstrap steps to define the standard `fbq`
|
|
126
|
-
* stub and provides a consent API via `fbq('consent', 'grant'|'revoke')`.
|
|
127
|
-
*/
|
|
128
|
-
export declare const metaPixelManifest: {
|
|
129
|
-
readonly kind: "c15t.vendor-manifest";
|
|
130
|
-
readonly schemaVersion: 1;
|
|
131
|
-
readonly bootstrap: [{
|
|
132
|
-
readonly aliases: ["_fbq"];
|
|
133
|
-
readonly dispatchProperty: 'callMethod';
|
|
134
|
-
readonly ifUndefined: true;
|
|
135
|
-
readonly name: 'fbq';
|
|
136
|
-
readonly properties: {
|
|
137
|
-
readonly loaded: true;
|
|
138
|
-
readonly version: '2.0';
|
|
139
|
-
};
|
|
140
|
-
readonly queue: {
|
|
141
|
-
readonly property: 'queue';
|
|
142
|
-
};
|
|
143
|
-
readonly selfReferences: ["push"];
|
|
144
|
-
readonly type: 'defineStubFunction';
|
|
145
|
-
}];
|
|
146
|
-
readonly category: 'marketing';
|
|
147
|
-
readonly install: [{
|
|
148
|
-
readonly args: ["consent", "grant"];
|
|
149
|
-
readonly global: 'fbq';
|
|
150
|
-
readonly type: 'callGlobal';
|
|
151
|
-
}, {
|
|
152
|
-
readonly args: ["init", "{{pixelId}}"];
|
|
153
|
-
readonly global: 'fbq';
|
|
154
|
-
readonly type: 'callGlobal';
|
|
155
|
-
}, {
|
|
156
|
-
readonly args: ["track", "PageView"];
|
|
157
|
-
readonly global: 'fbq';
|
|
158
|
-
readonly type: 'callGlobal';
|
|
159
|
-
}, {
|
|
160
|
-
readonly async: true;
|
|
161
|
-
readonly src: '{{scriptSrc}}';
|
|
162
|
-
readonly type: 'loadScript';
|
|
163
|
-
}];
|
|
164
|
-
readonly onConsentDenied: [{
|
|
165
|
-
readonly args: ["consent", "revoke"];
|
|
166
|
-
readonly global: 'fbq';
|
|
167
|
-
readonly type: 'callGlobal';
|
|
168
|
-
}];
|
|
169
|
-
readonly onConsentGranted: [{
|
|
170
|
-
readonly args: ["consent", "grant"];
|
|
171
|
-
readonly global: 'fbq';
|
|
172
|
-
readonly type: 'callGlobal';
|
|
173
|
-
}];
|
|
174
|
-
readonly persistAfterConsentRevoked: true;
|
|
175
|
-
readonly vendor: 'meta-pixel';
|
|
176
|
-
};
|
|
177
|
-
export interface MetaPixelOptions {
|
|
178
|
-
/**
|
|
179
|
-
* Your Meta Pixel ID
|
|
180
|
-
* @example `123456789012345`
|
|
181
|
-
*/
|
|
182
|
-
pixelId: string;
|
|
183
|
-
/** Optional payload passed as the third argument to `fbq('init', ...)`. */
|
|
184
|
-
initOptions?: Record<string, unknown>;
|
|
185
|
-
/**
|
|
186
|
-
* Queue the default `PageView` event during setup.
|
|
187
|
-
*
|
|
188
|
-
* @default true
|
|
189
|
-
*/
|
|
190
|
-
trackPageView?: boolean;
|
|
191
|
-
/**
|
|
192
|
-
* Optional Meta data processing options, such as Limited Data Use.
|
|
193
|
-
*
|
|
194
|
-
* When provided, c15t queues `fbq('dataProcessingOptions', ...)` before
|
|
195
|
-
* `fbq('init', ...)`.
|
|
196
|
-
*/
|
|
197
|
-
dataProcessingOptions?: MetaPixelDataProcessingOptions;
|
|
198
|
-
/** Meta Pixel loader URL. */
|
|
199
|
-
scriptSrc?: string;
|
|
200
|
-
}
|
|
201
|
-
/**
|
|
202
|
-
* Creates a Meta Pixel script.
|
|
203
|
-
*
|
|
204
|
-
* The manifest defines a structured `fbq` stub plus the external loader URL,
|
|
205
|
-
* avoiding raw inline vendor snippets in the manifest payload.
|
|
206
|
-
*
|
|
207
|
-
* @param options - The options for the Meta Pixel script
|
|
208
|
-
* @returns The Meta Pixel script configuration
|
|
209
|
-
*
|
|
210
|
-
* @example
|
|
211
|
-
* ```ts
|
|
212
|
-
* const metaPixelScript = metaPixel({
|
|
213
|
-
* pixelId: '123456789012345',
|
|
214
|
-
* });
|
|
215
|
-
* ```
|
|
216
|
-
*
|
|
217
|
-
* @see {@link https://developers.facebook.com/docs/meta-pixel/get-started} Meta Pixel documentation
|
|
218
|
-
*/
|
|
219
|
-
export declare const metaPixel: ({ pixelId, initOptions, trackPageView, dataProcessingOptions, scriptSrc, }: MetaPixelOptions) => Script;
|
|
220
|
-
/**
|
|
221
|
-
* Tracks a Meta Pixel standard event.
|
|
222
|
-
*
|
|
223
|
-
* This is a wrapper around `fbq('track', ...)`.
|
|
224
|
-
*
|
|
225
|
-
* @template TEventName - The Meta `StandardEventName` being tracked.
|
|
226
|
-
* @param eventName - The `StandardEventName` to track.
|
|
227
|
-
* @param params - Optional `StandardEventParams[TEventName]` payload.
|
|
228
|
-
* @param eventOptions - Optional `MetaPixelEventOptions` or event ID string.
|
|
229
|
-
* @returns `void`; calls `window.fbq`.
|
|
230
|
-
*
|
|
231
|
-
* @example
|
|
232
|
-
* ```ts
|
|
233
|
-
* metaPixelEvent('Purchase', { value: 10.0, currency: 'USD' }, 'event-123');
|
|
234
|
-
* ```
|
|
235
|
-
*
|
|
236
|
-
* @see {@link https://developers.facebook.com/docs/meta-pixel/reference} Meta Pixel documentation
|
|
237
|
-
*/
|
|
238
|
-
export declare const metaPixelEvent: <TEventName extends StandardEventName>(eventName: TEventName, params?: StandardEventParams[TEventName], eventOptions?: MetaPixelEventOptions | string) => void;
|
|
239
|
-
/**
|
|
240
|
-
* Tracks a Meta Pixel custom event with optional custom parameters.
|
|
241
|
-
*
|
|
242
|
-
* @param eventName - The custom event name to track
|
|
243
|
-
* @param params - Optional custom parameters to track
|
|
244
|
-
* @param eventOptions - Optional event options, including Conversions API eventID
|
|
245
|
-
*/
|
|
246
|
-
export declare const metaPixelCustomEvent: (eventName: string, params?: FbqCustomParams, eventOptions?: MetaPixelEventOptions | string) => void;
|
|
247
|
-
/**
|
|
248
|
-
* Tracks a standard event for a single Meta Pixel ID.
|
|
249
|
-
*
|
|
250
|
-
* Use this when multiple Meta Pixels are initialized on the same page and the
|
|
251
|
-
* event should not fire for every initialized pixel.
|
|
252
|
-
*
|
|
253
|
-
* @template TEventName - The Meta `StandardEventName` being tracked.
|
|
254
|
-
* @param pixelId - Meta Pixel ID that should receive the event.
|
|
255
|
-
* @param eventName - The `StandardEventName` to track.
|
|
256
|
-
* @param params - Optional `StandardEventParams[TEventName]` payload.
|
|
257
|
-
* @param eventOptions - Optional `MetaPixelEventOptions` or event ID string.
|
|
258
|
-
* @returns `void`; calls `window.fbq`.
|
|
259
|
-
*
|
|
260
|
-
* @example
|
|
261
|
-
* ```ts
|
|
262
|
-
* metaPixelSingleEvent(
|
|
263
|
-
* '123456',
|
|
264
|
-
* 'Purchase',
|
|
265
|
-
* { value: 9.99, currency: 'USD' },
|
|
266
|
-
* 'event-123'
|
|
267
|
-
* );
|
|
268
|
-
* ```
|
|
269
|
-
*/
|
|
270
|
-
export declare const metaPixelSingleEvent: <TEventName extends StandardEventName>(pixelId: string, eventName: TEventName, params?: StandardEventParams[TEventName], eventOptions?: MetaPixelEventOptions | string) => void;
|
|
271
|
-
/**
|
|
272
|
-
* Tracks a custom event for a single Meta Pixel ID.
|
|
273
|
-
*
|
|
274
|
-
* Use this when multiple Meta Pixels are initialized on the same page and the
|
|
275
|
-
* custom event should not fire for every initialized pixel.
|
|
276
|
-
*
|
|
277
|
-
* @param pixelId - Meta Pixel ID that should receive the custom event.
|
|
278
|
-
* @param eventName - Custom event name to track.
|
|
279
|
-
* @param params - Optional `FbqCustomParams` payload.
|
|
280
|
-
* @param eventOptions - Optional `MetaPixelEventOptions` or event ID string.
|
|
281
|
-
* @returns `void`; calls `window.fbq`.
|
|
282
|
-
*
|
|
283
|
-
* @example
|
|
284
|
-
* ```ts
|
|
285
|
-
* metaPixelSingleCustomEvent('123456', 'MyCustomEvent', { foo: 'bar' });
|
|
286
|
-
* ```
|
|
287
|
-
*/
|
|
288
|
-
export declare const metaPixelSingleCustomEvent: (pixelId: string, eventName: string, params?: FbqCustomParams, eventOptions?: MetaPixelEventOptions | string) => void;
|
|
289
|
-
export {};
|
|
1
|
+
/** @deprecated Use @c15t/integrations/vendors/ads-and-pixels/meta-pixel. Compatibility ends in v4. */
|
|
2
|
+
export * from '@c15t/integrations/vendors/ads-and-pixels/meta-pixel';
|
|
@@ -1,105 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
interface Window {
|
|
4
|
-
uetq: unknown[] | undefined;
|
|
5
|
-
}
|
|
6
|
-
}
|
|
7
|
-
/**
|
|
8
|
-
* Microsoft UET vendor manifest.
|
|
9
|
-
*
|
|
10
|
-
* Loads in consent mode and manages consent via the UET push API:
|
|
11
|
-
* `window.uetq.push('consent', 'default'|'update', consentState)`.
|
|
12
|
-
*/
|
|
13
|
-
export declare const microsoftUetManifest: {
|
|
14
|
-
readonly kind: "c15t.vendor-manifest";
|
|
15
|
-
readonly schemaVersion: 1;
|
|
16
|
-
readonly afterLoad: [{
|
|
17
|
-
readonly args: [{
|
|
18
|
-
readonly enableAutoSpaTracking: true;
|
|
19
|
-
readonly ti: '{{id}}';
|
|
20
|
-
}];
|
|
21
|
-
readonly assignTo: 'uetq';
|
|
22
|
-
readonly constructor: 'UET';
|
|
23
|
-
readonly copyAssignedValueToArgProperty: 'q';
|
|
24
|
-
readonly type: 'constructGlobal';
|
|
25
|
-
}, {
|
|
26
|
-
readonly args: ["pageLoad"];
|
|
27
|
-
readonly global: 'uetq';
|
|
28
|
-
readonly method: 'push';
|
|
29
|
-
readonly type: 'callGlobal';
|
|
30
|
-
}];
|
|
31
|
-
readonly alwaysLoad: true;
|
|
32
|
-
readonly bootstrap: [{
|
|
33
|
-
readonly ifUndefined: true;
|
|
34
|
-
readonly name: 'uetq';
|
|
35
|
-
readonly type: 'setGlobal';
|
|
36
|
-
readonly value: readonly [];
|
|
37
|
-
}];
|
|
38
|
-
readonly category: 'marketing';
|
|
39
|
-
readonly install: [{
|
|
40
|
-
readonly async: true;
|
|
41
|
-
readonly src: '{{scriptSrc}}';
|
|
42
|
-
readonly type: 'loadScript';
|
|
43
|
-
}];
|
|
44
|
-
readonly onBeforeLoadDenied: [{
|
|
45
|
-
readonly args: ["consent", "default", {
|
|
46
|
-
readonly ad_storage: 'denied';
|
|
47
|
-
}];
|
|
48
|
-
readonly global: 'uetq';
|
|
49
|
-
readonly method: 'push';
|
|
50
|
-
readonly type: 'callGlobal';
|
|
51
|
-
}];
|
|
52
|
-
readonly onBeforeLoadGranted: [{
|
|
53
|
-
readonly args: ["consent", "default", {
|
|
54
|
-
readonly ad_storage: 'granted';
|
|
55
|
-
}];
|
|
56
|
-
readonly global: 'uetq';
|
|
57
|
-
readonly method: 'push';
|
|
58
|
-
readonly type: 'callGlobal';
|
|
59
|
-
}];
|
|
60
|
-
readonly onConsentDenied: [{
|
|
61
|
-
readonly args: ["consent", "update", {
|
|
62
|
-
readonly ad_storage: 'denied';
|
|
63
|
-
}];
|
|
64
|
-
readonly global: 'uetq';
|
|
65
|
-
readonly method: 'push';
|
|
66
|
-
readonly type: 'callGlobal';
|
|
67
|
-
}];
|
|
68
|
-
readonly onConsentGranted: [{
|
|
69
|
-
readonly args: ["consent", "update", {
|
|
70
|
-
readonly ad_storage: 'granted';
|
|
71
|
-
}];
|
|
72
|
-
readonly global: 'uetq';
|
|
73
|
-
readonly method: 'push';
|
|
74
|
-
readonly type: 'callGlobal';
|
|
75
|
-
}];
|
|
76
|
-
readonly persistAfterConsentRevoked: true;
|
|
77
|
-
readonly vendor: 'microsoft-uet';
|
|
78
|
-
};
|
|
79
|
-
export interface MicrosoftUetOptions {
|
|
80
|
-
/**
|
|
81
|
-
* Your Microsoft UET ID
|
|
82
|
-
* @example `123456789012345`
|
|
83
|
-
*/
|
|
84
|
-
id: string;
|
|
85
|
-
/** Microsoft UET loader URL. */
|
|
86
|
-
scriptSrc?: string;
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* Microsoft UET Script
|
|
90
|
-
* This script loads in consent mode and stays persistent because UET can opt
|
|
91
|
-
* into and out of tracking based on consent.
|
|
92
|
-
*
|
|
93
|
-
* @param options - The options for the Microsoft UET script
|
|
94
|
-
* @returns The Microsoft UET script configuration
|
|
95
|
-
*
|
|
96
|
-
* @example
|
|
97
|
-
* ```ts
|
|
98
|
-
* const microsoftUetScript = microsoftUet({
|
|
99
|
-
* id: '123456789012345',
|
|
100
|
-
* });
|
|
101
|
-
* ```
|
|
102
|
-
*
|
|
103
|
-
* @see https://learn.microsoft.com/en-us/advertising/guides/universal-event-tracking?view=bingads-13
|
|
104
|
-
*/
|
|
105
|
-
export declare const microsoftUet: ({ id, scriptSrc, }: MicrosoftUetOptions) => Script;
|
|
1
|
+
/** @deprecated Use @c15t/integrations/vendors/ads-and-pixels/microsoft-uet. Compatibility ends in v4. */
|
|
2
|
+
export * from '@c15t/integrations/vendors/ads-and-pixels/microsoft-uet';
|
|
@@ -1,211 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
export interface OpenAIPixelUser {
|
|
4
|
-
/** SHA-256 of the trimmed, lowercase email address. */
|
|
5
|
-
email_sha256?: string;
|
|
6
|
-
/** SHA-256 of the normalized phone number, including its country code. */
|
|
7
|
-
phone_number_sha256?: string;
|
|
8
|
-
/** SHA-256 of the trimmed external ID, preserving case. */
|
|
9
|
-
external_id_sha256?: string;
|
|
10
|
-
/** SHA-256 of the lowercase first name without whitespace or ASCII punctuation. */
|
|
11
|
-
first_name_sha256?: string;
|
|
12
|
-
/** SHA-256 of the lowercase last name without whitespace or ASCII punctuation. */
|
|
13
|
-
last_name_sha256?: string;
|
|
14
|
-
/** Two-letter ISO 3166-1 country code. */
|
|
15
|
-
country?: string;
|
|
16
|
-
/** City name, up to 128 characters. */
|
|
17
|
-
city?: string;
|
|
18
|
-
/** State, province, or region, up to 128 characters. */
|
|
19
|
-
region?: string;
|
|
20
|
-
/** Postal or ZIP code, up to 32 characters. */
|
|
21
|
-
postal_code?: string;
|
|
22
|
-
}
|
|
23
|
-
/** Documented options for `oaiq('init', ...)`, including subsequent user updates. */
|
|
24
|
-
export interface OpenAIPixelInitOptions {
|
|
25
|
-
/** Required on first initialization; include for updates with multiple pixels. */
|
|
26
|
-
pixelId?: string;
|
|
27
|
-
/** Log SDK activity to the browser console. */
|
|
28
|
-
debug?: boolean;
|
|
29
|
-
/** Complete user matching payload. Raw identifiers must not be sent. */
|
|
30
|
-
user?: OpenAIPixelUser;
|
|
31
|
-
}
|
|
32
|
-
/** An item attached to a browser conversion event. */
|
|
33
|
-
export interface OpenAIPixelContent {
|
|
34
|
-
id?: string;
|
|
35
|
-
name?: string;
|
|
36
|
-
content_type?: string;
|
|
37
|
-
/** Integer item quantity. */
|
|
38
|
-
quantity?: number;
|
|
39
|
-
/** Integer amount in the currency's minor unit. */
|
|
40
|
-
amount?: number;
|
|
41
|
-
/** ISO 4217 code; may inherit the event currency. */
|
|
42
|
-
currency?: string;
|
|
43
|
-
}
|
|
44
|
-
/** Event-level amounts require an ISO 4217 currency code. */
|
|
45
|
-
type OpenAIPixelValue = {
|
|
46
|
-
amount: number;
|
|
47
|
-
currency: string;
|
|
48
|
-
} | {
|
|
49
|
-
amount?: never;
|
|
50
|
-
currency?: string;
|
|
51
|
-
};
|
|
52
|
-
/** Payload for page views and commerce events. */
|
|
53
|
-
export type OpenAIPixelContentsData = OpenAIPixelValue & {
|
|
54
|
-
type: 'contents';
|
|
55
|
-
contents?: OpenAIPixelContent[];
|
|
56
|
-
};
|
|
57
|
-
/** Payload for leads, registrations, and appointments. */
|
|
58
|
-
export type OpenAIPixelCustomerActionData = OpenAIPixelValue & {
|
|
59
|
-
type: 'customer_action';
|
|
60
|
-
};
|
|
61
|
-
/** Payload for subscriptions and trials. */
|
|
62
|
-
export type OpenAIPixelPlanData = OpenAIPixelValue & {
|
|
63
|
-
type: 'plan_enrollment';
|
|
64
|
-
plan_id?: string;
|
|
65
|
-
contents?: OpenAIPixelContent[];
|
|
66
|
-
};
|
|
67
|
-
/** Payload for a custom conversion. */
|
|
68
|
-
export type OpenAIPixelCustomData = OpenAIPixelValue & {
|
|
69
|
-
type: 'custom';
|
|
70
|
-
plan_id?: string;
|
|
71
|
-
contents?: OpenAIPixelContent[];
|
|
72
|
-
};
|
|
73
|
-
/** Browser event names and their required payload shapes. */
|
|
74
|
-
export interface OpenAIPixelEventData {
|
|
75
|
-
appointment_scheduled: OpenAIPixelCustomerActionData;
|
|
76
|
-
checkout_started: OpenAIPixelContentsData;
|
|
77
|
-
contents_viewed: OpenAIPixelContentsData;
|
|
78
|
-
items_added: OpenAIPixelContentsData;
|
|
79
|
-
lead_created: OpenAIPixelCustomerActionData;
|
|
80
|
-
order_created: OpenAIPixelContentsData;
|
|
81
|
-
page_viewed: OpenAIPixelContentsData;
|
|
82
|
-
registration_completed: OpenAIPixelCustomerActionData;
|
|
83
|
-
subscription_created: OpenAIPixelPlanData;
|
|
84
|
-
trial_started: OpenAIPixelPlanData;
|
|
85
|
-
}
|
|
86
|
-
/** Options passed separately from event data to the Measurement Pixel. */
|
|
87
|
-
export interface OpenAIPixelEventOptions {
|
|
88
|
-
/** Reuse the same ID for browser/server event deduplication. */
|
|
89
|
-
event_id?: string;
|
|
90
|
-
/** Opt this event out of future user-level personalization. */
|
|
91
|
-
opt_out?: boolean;
|
|
92
|
-
}
|
|
93
|
-
/** Custom events require a name in addition to their event data. */
|
|
94
|
-
export interface OpenAIPixelCustomEventOptions extends OpenAIPixelEventOptions {
|
|
95
|
-
/** A 1–64 character name using letters, numbers, underscores, or dashes. */
|
|
96
|
-
custom_event_name: string;
|
|
97
|
-
}
|
|
98
|
-
/** Arguments accepted by the event helper and the SDK's measure commands. */
|
|
99
|
-
export type OpenAIPixelEventArgs = {
|
|
100
|
-
[EventName in keyof OpenAIPixelEventData]: [
|
|
101
|
-
eventName: EventName,
|
|
102
|
-
data: OpenAIPixelEventData[EventName],
|
|
103
|
-
options?: OpenAIPixelEventOptions
|
|
104
|
-
];
|
|
105
|
-
}[keyof OpenAIPixelEventData] | [
|
|
106
|
-
eventName: 'custom',
|
|
107
|
-
data: OpenAIPixelCustomData,
|
|
108
|
-
options: OpenAIPixelCustomEventOptions
|
|
109
|
-
];
|
|
110
|
-
/** The documented OpenAI browser command API and its pre-load queue. */
|
|
111
|
-
export interface OpenAIPixelFunction {
|
|
112
|
-
(command: 'consent', granted: boolean): void;
|
|
113
|
-
(command: 'init', options: OpenAIPixelInitOptions): void;
|
|
114
|
-
(command: 'measure', ...args: OpenAIPixelEventArgs): void;
|
|
115
|
-
(command: 'measureSingle', pixelId: string, ...args: OpenAIPixelEventArgs): void;
|
|
116
|
-
/** Commands queued before the SDK replaces the stub. */
|
|
117
|
-
q?: IArguments[];
|
|
118
|
-
}
|
|
119
|
-
declare global {
|
|
120
|
-
interface Window {
|
|
121
|
-
oaiq?: OpenAIPixelFunction;
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
/** Options for the ChatGPT Ads Measurement Pixel. */
|
|
125
|
-
export interface OpenAIPixelOptions extends OpenAIPixelInitOptions {
|
|
126
|
-
/** Pixel ID from the conversions tab in OpenAI Ads Manager. */
|
|
127
|
-
pixelId: string;
|
|
128
|
-
/** Log SDK activity in the browser console. @default false */
|
|
129
|
-
debug?: boolean;
|
|
130
|
-
/** Override the Measurement Pixel SDK URL. */
|
|
131
|
-
scriptSrc?: string;
|
|
132
|
-
}
|
|
133
|
-
/**
|
|
134
|
-
* ChatGPT Ads Measurement Pixel manifest.
|
|
135
|
-
*
|
|
136
|
-
* Loads after marketing consent. Denies measurement before initialization,
|
|
137
|
-
* then applies the current consent state before the SDK executes.
|
|
138
|
-
*
|
|
139
|
-
* @see https://developers.openai.com/ads/measurement-pixel
|
|
140
|
-
*/
|
|
141
|
-
export declare const openaiPixelManifest: {
|
|
142
|
-
readonly kind: "c15t.vendor-manifest";
|
|
143
|
-
readonly schemaVersion: 1;
|
|
144
|
-
readonly bootstrap: [{
|
|
145
|
-
readonly ifUndefined: true;
|
|
146
|
-
readonly name: 'oaiq';
|
|
147
|
-
readonly queue: {
|
|
148
|
-
readonly property: 'q';
|
|
149
|
-
};
|
|
150
|
-
readonly type: 'defineStubFunction';
|
|
151
|
-
}, {
|
|
152
|
-
readonly args: ["consent", false];
|
|
153
|
-
readonly global: 'oaiq';
|
|
154
|
-
readonly type: 'callGlobal';
|
|
155
|
-
}];
|
|
156
|
-
readonly category: 'marketing';
|
|
157
|
-
readonly install: [{
|
|
158
|
-
readonly args: ["init", "{{initOptions}}"];
|
|
159
|
-
readonly global: 'oaiq';
|
|
160
|
-
readonly type: 'callGlobal';
|
|
161
|
-
}, {
|
|
162
|
-
readonly async: true;
|
|
163
|
-
readonly src: '{{scriptSrc}}';
|
|
164
|
-
readonly type: 'loadScript';
|
|
165
|
-
}];
|
|
166
|
-
readonly onBeforeLoadGranted: [{
|
|
167
|
-
readonly args: ["consent", true];
|
|
168
|
-
readonly global: 'oaiq';
|
|
169
|
-
readonly type: 'callGlobal';
|
|
170
|
-
}];
|
|
171
|
-
readonly onConsentDenied: [{
|
|
172
|
-
readonly args: ["consent", false];
|
|
173
|
-
readonly global: 'oaiq';
|
|
174
|
-
readonly type: 'callGlobal';
|
|
175
|
-
}];
|
|
176
|
-
readonly onConsentGranted: [{
|
|
177
|
-
readonly args: ["consent", true];
|
|
178
|
-
readonly global: 'oaiq';
|
|
179
|
-
readonly type: 'callGlobal';
|
|
180
|
-
}];
|
|
181
|
-
readonly persistAfterConsentRevoked: true;
|
|
182
|
-
readonly vendor: 'openai-pixel';
|
|
183
|
-
};
|
|
184
|
-
/**
|
|
185
|
-
* Creates a consent-aware ChatGPT Ads Measurement Pixel script.
|
|
186
|
-
*
|
|
187
|
-
* @param options - Pixel ID, debug logging, and optional SDK URL.
|
|
188
|
-
* @returns A script gated on marketing consent, with SDK consent updates.
|
|
189
|
-
* @example
|
|
190
|
-
* ```ts
|
|
191
|
-
* openaiPixel({ pixelId: 'YOUR_PIXEL_ID', debug: true });
|
|
192
|
-
* ```
|
|
193
|
-
*/
|
|
194
|
-
export declare const openaiPixel: ({ pixelId, debug, user, scriptSrc, }: OpenAIPixelOptions) => Script;
|
|
195
|
-
/**
|
|
196
|
-
* Sends a conversion to every initialized OpenAI pixel.
|
|
197
|
-
*
|
|
198
|
-
* Calls before the queue exists are dropped. Once loaded, the SDK applies
|
|
199
|
-
* c15t's consent signal. Use `window.oaiq('measureSingle', ...)` to target one pixel.
|
|
200
|
-
*
|
|
201
|
-
* @param args - Event name, matching data, and event options.
|
|
202
|
-
* @returns Nothing.
|
|
203
|
-
* @example
|
|
204
|
-
* ```ts
|
|
205
|
-
* openaiPixelEvent('order_created', {
|
|
206
|
-
* type: 'contents', amount: 2599, currency: 'USD',
|
|
207
|
-
* }, { event_id: 'order_123' });
|
|
208
|
-
* ```
|
|
209
|
-
*/
|
|
210
|
-
export declare const openaiPixelEvent: (...args: OpenAIPixelEventArgs) => void;
|
|
211
|
-
export {};
|
|
1
|
+
/** @deprecated Use @c15t/integrations/vendors/ads-and-pixels/openai-pixel. Compatibility ends in v4. */
|
|
2
|
+
export * from '@c15t/integrations/vendors/ads-and-pixels/openai-pixel';
|