@c15t/scripts 3.0.0-alpha.2 → 3.0.0-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +129 -63
- 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 -139
- package/dist/engine/compile.js +2 -89
- package/dist/engine/runtime.js +2 -448
- package/dist/events.js +2 -218
- 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 -422
- 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 -123
- 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 -78
- 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 -30
- 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 -65
- 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 -64
- 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 -73
- 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 -46
- 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 -485
- 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 -295
- 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 -95
- 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 -39
- 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 -164
- 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 -62
- 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 -96
- package/dist-types/vercel-analytics.d.ts +2 -0
- package/dist-types/x-pixel.d.ts +2 -0
- package/docs/README.md +129 -63
- 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/{guides → concepts}/consent-state.md +89 -105
- 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 -34
- package/docs/customization/recipes.md +839 -49
- 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 +163 -96
- package/docs/customization/translations.md +60 -3
- package/docs/frameworks/astro/embeds.md +160 -0
- package/docs/frameworks/astro/network-blocker.md +86 -0
- package/docs/frameworks/astro/scripts.md +155 -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 +137 -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 +144 -0
- package/docs/frameworks/sveltekit/embeds.md +103 -0
- package/docs/frameworks/sveltekit/network-blocker.md +159 -0
- package/docs/frameworks/sveltekit/scripts.md +172 -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 +167 -159
- package/docs/integrations/ahrefs-analytics.md +152 -154
- package/docs/integrations/amplitude.md +162 -156
- package/docs/integrations/building-integrations.md +136 -37
- package/docs/integrations/clearbit.md +154 -154
- package/docs/integrations/cloudflare-web-analytics.md +156 -156
- package/docs/integrations/cloudflare-zaraz.md +209 -261
- package/docs/integrations/crisp.md +164 -158
- package/docs/integrations/databuddy.md +157 -173
- package/docs/integrations/fathom-analytics.md +158 -156
- package/docs/integrations/front-chat.md +167 -167
- package/docs/integrations/google-maps.md +118 -83
- package/docs/integrations/google-tag-manager.md +178 -163
- package/docs/integrations/google-tag.md +163 -160
- package/docs/integrations/heap.md +163 -155
- package/docs/integrations/hightouch.md +161 -157
- package/docs/integrations/hotjar.md +159 -155
- package/docs/integrations/intercom.md +183 -153
- package/docs/integrations/klaviyo.md +486 -0
- package/docs/integrations/linkedin-insights.md +174 -150
- package/docs/integrations/logrocket.md +160 -156
- package/docs/integrations/matomo-analytics.md +188 -178
- package/docs/integrations/meta-pixel.md +188 -150
- package/docs/integrations/microsoft-clarity.md +163 -155
- package/docs/integrations/microsoft-uet.md +148 -154
- package/docs/integrations/mixpanel-analytics.md +155 -160
- package/docs/integrations/one-dollar-stats.md +166 -165
- package/docs/integrations/openai-pixel.md +204 -301
- package/docs/integrations/overview.md +137 -80
- package/docs/integrations/pinterest-tag.md +191 -183
- package/docs/integrations/pirsch.md +169 -159
- package/docs/integrations/plausible-analytics.md +172 -158
- package/docs/integrations/posthog.md +313 -240
- package/docs/integrations/promptwatch.md +154 -154
- package/docs/integrations/reddit-pixel.md +185 -157
- package/docs/integrations/rudderstack.md +201 -186
- package/docs/integrations/rybbit-analytics.md +171 -160
- package/docs/integrations/segment.md +182 -154
- package/docs/integrations/snapchat-pixel.md +186 -156
- package/docs/integrations/tiktok-pixel.md +171 -150
- package/docs/integrations/umami-analytics.md +163 -158
- package/docs/integrations/vercel-analytics.md +166 -157
- package/docs/integrations/x-pixel.md +176 -150
- package/docs/integrations/youtube.md +121 -86
- package/docs/upgrade-v3.md +496 -467
- package/package.json +10 -257
- 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 -100
- package/docs/frameworks/next/script-loader.md +0 -216
- package/docs/frameworks/react/script-loader.md +0 -69
- package/docs/guides/deployment-modes.md +0 -75
- package/docs/guides/shared-consent-controls.md +0 -158
- package/docs/integrations/clear-on-revocation.md +0 -167
- package/docs/integrations/granular-consent.md +0 -210
|
@@ -1,295 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
* The 20 Pinterest Tag event types accepted by `pintrk('track', ...)`.
|
|
4
|
-
*
|
|
5
|
-
* Conversion tracking and reporting require one of these names. Any other
|
|
6
|
-
* string is treated as a user-defined event, which Pinterest makes available
|
|
7
|
-
* for audience targeting only.
|
|
8
|
-
*
|
|
9
|
-
* @see {@link https://help.pinterest.com/en/business/article/add-event-codes} Add event codes
|
|
10
|
-
*/
|
|
11
|
-
export type PinterestTagEventName = 'pagevisit' | 'viewcategory' | 'search' | 'addtocart' | 'checkout' | 'watchvideo' | 'signup' | 'lead' | 'custom' | 'addpaymentinfo' | 'addtowishlist' | 'initiatecheckout' | 'subscribe' | 'viewcontent' | 'contact' | 'schedule' | 'findlocation' | 'customizeproduct' | 'submitapplication' | 'starttrial';
|
|
12
|
-
/**
|
|
13
|
-
* A product entry in `PinterestTagEventData.line_items`.
|
|
14
|
-
*
|
|
15
|
-
* Pinterest reads product-level details from `line_items`, not from the
|
|
16
|
-
* top level of the event data.
|
|
17
|
-
*/
|
|
18
|
-
export interface PinterestTagLineItem {
|
|
19
|
-
/** Product name, for example `Parker Boots`. */
|
|
20
|
-
product_name?: string;
|
|
21
|
-
/** Product identifier or SKU. */
|
|
22
|
-
product_id?: string;
|
|
23
|
-
/** Product category, for example `Shoes`. */
|
|
24
|
-
product_category?: string;
|
|
25
|
-
/** Variant identifier, for example `1414-Red`. */
|
|
26
|
-
product_variant_id?: string;
|
|
27
|
-
/** Human-readable variant, for example `Red`. */
|
|
28
|
-
product_variant?: string;
|
|
29
|
-
/** Unit price of the product. */
|
|
30
|
-
product_price?: number;
|
|
31
|
-
/** Quantity of this product in the event. */
|
|
32
|
-
product_quantity?: number;
|
|
33
|
-
/** Brand name. */
|
|
34
|
-
product_brand?: string;
|
|
35
|
-
[key: string]: unknown;
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Currency codes Pinterest accepts in `PinterestTagEventData.currency`.
|
|
39
|
-
*
|
|
40
|
-
* Pinterest converts the reported value to your advertiser account currency.
|
|
41
|
-
*/
|
|
42
|
-
export type PinterestTagCurrency = 'AED' | 'AMD' | 'ARS' | 'AUD' | 'AZN' | 'BAM' | 'BGN' | 'BHD' | 'BMD' | 'BND' | 'BOB' | 'BRL' | 'BSD' | 'CAD' | 'CHF' | 'CLP' | 'CNY' | 'COP' | 'CRC' | 'CZK' | 'DKK' | 'DOP' | 'EGP' | 'EUR' | 'FJD' | 'GBP' | 'GEL' | 'GIP' | 'HKD' | 'HNL' | 'HRK' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'ISK' | 'JMD' | 'JPY' | 'KGS' | 'KRW' | 'KWD' | 'KZT' | 'MAD' | 'MDL' | 'MOP' | 'MXN' | 'MYR' | 'NOK' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PHP' | 'PKR' | 'PLN' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'SAR' | 'SEK' | 'SGD' | 'THB' | 'TRY' | 'TWD' | 'UAH' | 'USD' | 'UYU' | 'VND' | 'ZAR';
|
|
43
|
-
/**
|
|
44
|
-
* Event data accepted by `pintrk('track', ...)`.
|
|
45
|
-
*
|
|
46
|
-
* Pinterest documents the same field set for every event type; which fields
|
|
47
|
-
* are meaningful depends on the event. All event data is available for
|
|
48
|
-
* audience targeting, but only `value` and `order_quantity` appear in paid
|
|
49
|
-
* and organic conversion reporting. Any additional keys are forwarded
|
|
50
|
-
* unchanged.
|
|
51
|
-
*/
|
|
52
|
-
export interface PinterestTagEventData {
|
|
53
|
-
/**
|
|
54
|
-
* Unique event identifier used to deduplicate against Conversions API
|
|
55
|
-
* events. Pinterest also accepts this under `eventID` or `eid`.
|
|
56
|
-
*/
|
|
57
|
-
event_id?: string;
|
|
58
|
-
/** Case-sensitive alias for `event_id`. */
|
|
59
|
-
eventID?: string;
|
|
60
|
-
/** Case-sensitive alias for `event_id`. */
|
|
61
|
-
eid?: string;
|
|
62
|
-
/**
|
|
63
|
-
* Total monetary value for commerce events such as `checkout`.
|
|
64
|
-
*
|
|
65
|
-
* Available in conversion reporting.
|
|
66
|
-
*/
|
|
67
|
-
value?: number;
|
|
68
|
-
/**
|
|
69
|
-
* Total number of items in the order.
|
|
70
|
-
*
|
|
71
|
-
* Available in conversion reporting.
|
|
72
|
-
*/
|
|
73
|
-
order_quantity?: number;
|
|
74
|
-
/**
|
|
75
|
-
* Currency code for `value`, for example `USD`. Required for `addtocart`
|
|
76
|
-
* and `checkout` in catalog sales campaigns.
|
|
77
|
-
*/
|
|
78
|
-
currency?: PinterestTagCurrency | (string & Record<never, never>);
|
|
79
|
-
/**
|
|
80
|
-
* Order identifier for `checkout` events. Required for conversion
|
|
81
|
-
* analysis reporting.
|
|
82
|
-
*/
|
|
83
|
-
order_id?: string;
|
|
84
|
-
/** Promo code applied to the order. */
|
|
85
|
-
promo_code?: string;
|
|
86
|
-
/** Property or store name, for example `Athleta`. */
|
|
87
|
-
property?: string;
|
|
88
|
-
/** Query text for `search` events. */
|
|
89
|
-
search_query?: string;
|
|
90
|
-
/** Video title for `watchvideo` events. */
|
|
91
|
-
video_title?: string;
|
|
92
|
-
/** Lead type for `lead` events, for example `Newsletter`. */
|
|
93
|
-
lead_type?: string;
|
|
94
|
-
/** Products associated with the event. */
|
|
95
|
-
line_items?: PinterestTagLineItem[];
|
|
96
|
-
[key: string]: unknown;
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* Options passed as the third argument to `pintrk('load', tagId, options)`.
|
|
100
|
-
*/
|
|
101
|
-
export interface PinterestTagLoadOptions {
|
|
102
|
-
/**
|
|
103
|
-
* Email address (plain or SHA-256 hashed) for Pinterest enhanced match.
|
|
104
|
-
*
|
|
105
|
-
* Only provide this when your application has separately obtained the
|
|
106
|
-
* appropriate user consent to share it with Pinterest.
|
|
107
|
-
*/
|
|
108
|
-
em?: string;
|
|
109
|
-
/**
|
|
110
|
-
* Hashed external user identifier used by Pinterest for attribution.
|
|
111
|
-
*/
|
|
112
|
-
external_id?: string;
|
|
113
|
-
[key: string]: unknown;
|
|
114
|
-
}
|
|
115
|
-
/**
|
|
116
|
-
* Optional callback passed as the last argument to `pintrk('track', ...)`.
|
|
117
|
-
*
|
|
118
|
-
* @param didInit - `true` when Pinterest constructed the event call
|
|
119
|
-
* successfully, `false` when it detected an error.
|
|
120
|
-
* @param error - Error description when `didInit` is `false`, otherwise
|
|
121
|
-
* `undefined`.
|
|
122
|
-
*/
|
|
123
|
-
export type PinterestTagEventCallback = (didInit: boolean, error?: string) => void;
|
|
124
|
-
interface PinterestTagFunction {
|
|
125
|
-
(command: 'load', tagId: string, options?: PinterestTagLoadOptions): void;
|
|
126
|
-
(command: 'page'): void;
|
|
127
|
-
(command: 'track', eventName: PinterestTagEventName | (string & Record<never, never>), eventData?: PinterestTagEventData, callback?: PinterestTagEventCallback): void;
|
|
128
|
-
(command: 'setconsent', consent: boolean): void;
|
|
129
|
-
(command: 'set', data: Record<string, unknown>): void;
|
|
130
|
-
(command: string, ...args: unknown[]): void;
|
|
131
|
-
}
|
|
132
|
-
declare global {
|
|
133
|
-
interface Window {
|
|
134
|
-
pintrk?: PinterestTagFunction & {
|
|
135
|
-
queue?: unknown[][];
|
|
136
|
-
version?: string;
|
|
137
|
-
};
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* Pinterest Tag vendor manifest.
|
|
142
|
-
*
|
|
143
|
-
* Mirrors Pinterest's v3 base code: a `pintrk` stub that pushes argument
|
|
144
|
-
* arrays onto `pintrk.queue`, `pintrk.version = "3.0"`, then the async
|
|
145
|
-
* `core.js` loader.
|
|
146
|
-
*
|
|
147
|
-
* Pinterest exposes a runtime consent API via `pintrk('setconsent', boolean)`.
|
|
148
|
-
* `setconsent(false)` stops events and clears Pinterest's first-party
|
|
149
|
-
* storage, so the script persists after consent revocation and receives the
|
|
150
|
-
* updated consent state instead of being removed from the document.
|
|
151
|
-
*/
|
|
152
|
-
export declare const pinterestTagManifest: {
|
|
153
|
-
readonly kind: "c15t.vendor-manifest";
|
|
154
|
-
readonly schemaVersion: 1;
|
|
155
|
-
readonly bootstrap: [{
|
|
156
|
-
readonly ifUndefined: true;
|
|
157
|
-
readonly name: 'pintrk';
|
|
158
|
-
readonly properties: {
|
|
159
|
-
readonly version: '3.0';
|
|
160
|
-
};
|
|
161
|
-
readonly queue: {
|
|
162
|
-
readonly property: 'queue';
|
|
163
|
-
};
|
|
164
|
-
readonly queueFormat: 'array';
|
|
165
|
-
readonly type: 'defineStubFunction';
|
|
166
|
-
}];
|
|
167
|
-
readonly category: 'marketing';
|
|
168
|
-
readonly install: [{
|
|
169
|
-
readonly args: ["load", "{{tagId}}"];
|
|
170
|
-
readonly global: 'pintrk';
|
|
171
|
-
readonly type: 'callGlobal';
|
|
172
|
-
}, {
|
|
173
|
-
readonly args: ["setconsent", true];
|
|
174
|
-
readonly global: 'pintrk';
|
|
175
|
-
readonly type: 'callGlobal';
|
|
176
|
-
}, {
|
|
177
|
-
readonly args: ["page"];
|
|
178
|
-
readonly global: 'pintrk';
|
|
179
|
-
readonly type: 'callGlobal';
|
|
180
|
-
}, {
|
|
181
|
-
readonly async: true;
|
|
182
|
-
readonly src: '{{scriptUrl}}';
|
|
183
|
-
readonly type: 'loadScript';
|
|
184
|
-
}];
|
|
185
|
-
readonly onConsentDenied: [{
|
|
186
|
-
readonly args: ["setconsent", false];
|
|
187
|
-
readonly global: 'pintrk';
|
|
188
|
-
readonly type: 'callGlobal';
|
|
189
|
-
}];
|
|
190
|
-
readonly onConsentGranted: [{
|
|
191
|
-
readonly args: ["setconsent", true];
|
|
192
|
-
readonly global: 'pintrk';
|
|
193
|
-
readonly type: 'callGlobal';
|
|
194
|
-
}];
|
|
195
|
-
readonly persistAfterConsentRevoked: true;
|
|
196
|
-
readonly vendor: 'pinterest-tag';
|
|
197
|
-
};
|
|
198
|
-
export interface PinterestTagOptions {
|
|
199
|
-
/**
|
|
200
|
-
* Your Pinterest Tag ID.
|
|
201
|
-
* @example `2613654212508`
|
|
202
|
-
*/
|
|
203
|
-
tagId: string;
|
|
204
|
-
/**
|
|
205
|
-
* Optional payload passed to `pintrk('load', tagId, loadOptions)`, for
|
|
206
|
-
* example enhanced match values.
|
|
207
|
-
*
|
|
208
|
-
* Do not provide user identifiers unless the appropriate consent and
|
|
209
|
-
* privacy requirements have already been satisfied.
|
|
210
|
-
*/
|
|
211
|
-
loadOptions?: PinterestTagLoadOptions;
|
|
212
|
-
/**
|
|
213
|
-
* Queue the default `pintrk('page')` page-visit event during setup.
|
|
214
|
-
* @default true
|
|
215
|
-
*/
|
|
216
|
-
trackPageVisit?: boolean;
|
|
217
|
-
/** Pinterest Tag loader URL. */
|
|
218
|
-
scriptUrl?: string;
|
|
219
|
-
}
|
|
220
|
-
/**
|
|
221
|
-
* Creates a Pinterest Tag script.
|
|
222
|
-
*
|
|
223
|
-
* This script persists after consent is revoked because Pinterest exposes
|
|
224
|
-
* `pintrk('setconsent', boolean)`, which lets c15t disable tracking and clear
|
|
225
|
-
* Pinterest's first-party storage without removing the script element.
|
|
226
|
-
*
|
|
227
|
-
* @param options.tagId - Pinterest Tag ID used in `pintrk('load', ...)`.
|
|
228
|
-
* Numeric string from Pinterest Ads Manager, for example `'2613654212508'`.
|
|
229
|
-
* @param options.loadOptions - Optional object passed as the third argument to
|
|
230
|
-
* `pintrk('load', tagId, loadOptions)`, for example `{ em: 'user@example.com' }`.
|
|
231
|
-
* @param options.trackPageVisit - Whether to queue the default `pintrk('page')`
|
|
232
|
-
* call during setup. Defaults to `true`.
|
|
233
|
-
* @param options.scriptUrl - Override for Pinterest's `core.js` loader URL.
|
|
234
|
-
* @returns A resolved c15t `Script` configuration that defines the `pintrk`
|
|
235
|
-
* queue stub, queues `load`, `setconsent`, and optionally `page`, then loads
|
|
236
|
-
* Pinterest's `core.js`.
|
|
237
|
-
*
|
|
238
|
-
* @example
|
|
239
|
-
* ```ts
|
|
240
|
-
* const script = pinterestTag({
|
|
241
|
-
* tagId: '2613654212508',
|
|
242
|
-
* loadOptions: { em: 'user@example.com' },
|
|
243
|
-
* trackPageVisit: false,
|
|
244
|
-
* });
|
|
245
|
-
* ```
|
|
246
|
-
*
|
|
247
|
-
* @see {@link https://help.pinterest.com/en/business/article/install-the-pinterest-tag} Pinterest Tag documentation
|
|
248
|
-
*/
|
|
249
|
-
export declare const pinterestTag: ({ tagId, loadOptions, trackPageVisit, scriptUrl, }: PinterestTagOptions) => Script;
|
|
250
|
-
/**
|
|
251
|
-
* Tracks a Pinterest Tag event.
|
|
252
|
-
*
|
|
253
|
-
* This helper is a no-op until Pinterest has been initialized by c15t, so it
|
|
254
|
-
* is safe to call before marketing consent is granted. It does not bypass
|
|
255
|
-
* consent: after revocation Pinterest's own `setconsent(false)` state
|
|
256
|
-
* suppresses the event.
|
|
257
|
-
*
|
|
258
|
-
* @param eventName - One of Pinterest's 20 event types or a user-defined
|
|
259
|
-
* event name.
|
|
260
|
-
* @param eventData - Optional event data, including `event_id` for Tag plus
|
|
261
|
-
* Conversions API deduplication.
|
|
262
|
-
* @param callback - Optional `(didInit, error)` callback Pinterest invokes
|
|
263
|
-
* after constructing the event call. Useful for surfacing tag errors in
|
|
264
|
-
* development.
|
|
265
|
-
*
|
|
266
|
-
* @example
|
|
267
|
-
* ```ts
|
|
268
|
-
* pinterestTagEvent('checkout', {
|
|
269
|
-
* event_id: 'event-123',
|
|
270
|
-
* value: 99.99,
|
|
271
|
-
* order_quantity: 1,
|
|
272
|
-
* currency: 'USD',
|
|
273
|
-
* order_id: 'order-123',
|
|
274
|
-
* line_items: [
|
|
275
|
-
* {
|
|
276
|
-
* product_name: 'Parker Boots',
|
|
277
|
-
* product_id: '1414',
|
|
278
|
-
* product_price: 99.99,
|
|
279
|
-
* product_quantity: 1,
|
|
280
|
-
* },
|
|
281
|
-
* ],
|
|
282
|
-
* });
|
|
283
|
-
* ```
|
|
284
|
-
*
|
|
285
|
-
* @example
|
|
286
|
-
* ```ts
|
|
287
|
-
* pinterestTagEvent('lead', { lead_type: 'Newsletter' }, (didInit, error) => {
|
|
288
|
-
* if (!didInit) {
|
|
289
|
-
* console.error(error);
|
|
290
|
-
* }
|
|
291
|
-
* });
|
|
292
|
-
* ```
|
|
293
|
-
*/
|
|
294
|
-
export declare const pinterestTagEvent: (eventName: PinterestTagEventName | (string & Record<never, never>), eventData?: PinterestTagEventData, callback?: PinterestTagEventCallback) => void;
|
|
295
|
-
export {};
|
|
1
|
+
/** @deprecated Use @c15t/integrations/vendors/ads-and-pixels/pinterest-tag. Compatibility ends in v4. */
|
|
2
|
+
export * from '@c15t/integrations/vendors/ads-and-pixels/pinterest-tag';
|
|
@@ -1,210 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
* Reddit Pixel standard conversion event names.
|
|
4
|
-
*
|
|
5
|
-
* @see {@link https://business.reddithelp.com/s/article/supported-conversion-events | Reddit supported conversion events}
|
|
6
|
-
*/
|
|
7
|
-
export type RedditPixelEventName = 'PageVisit' | 'ViewContent' | 'Search' | 'AddToCart' | 'AddToWishlist' | 'Purchase' | 'Lead' | 'SignUp';
|
|
8
|
-
/**
|
|
9
|
-
* Controls Reddit Pixel automatic advanced matching signals.
|
|
10
|
-
*
|
|
11
|
-
* @see {@link https://business.reddithelp.com/s/article/reddit-pixel | Reddit Pixel setup}
|
|
12
|
-
*/
|
|
13
|
-
export interface RedditPixelAdvancedMatchingOptions {
|
|
14
|
-
/** Automatically scan page content for email addresses. */
|
|
15
|
-
email?: boolean;
|
|
16
|
-
/** Automatically scan page content for phone numbers. */
|
|
17
|
-
phone_number?: boolean;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Reddit Pixel initialization options.
|
|
21
|
-
*
|
|
22
|
-
* @see {@link https://business.reddithelp.com/s/article/reddit-pixel | Reddit Pixel setup}
|
|
23
|
-
* @see {@link https://business.reddithelp.com/s/article/Limited-Data-Use | Reddit Limited Data Use}
|
|
24
|
-
*/
|
|
25
|
-
export interface RedditPixelInitOptions {
|
|
26
|
-
/**
|
|
27
|
-
* Opt the user out of Reddit Pixel tracking.
|
|
28
|
-
*
|
|
29
|
-
* Reddit sends this as `opt_out=1` on pixel requests.
|
|
30
|
-
*/
|
|
31
|
-
optOut?: boolean;
|
|
32
|
-
/**
|
|
33
|
-
* Disable Reddit first-party cookies during initialization.
|
|
34
|
-
*/
|
|
35
|
-
disableFirstPartyCookies?: boolean;
|
|
36
|
-
/** Email address or SHA-256 email hash for attribution matching. */
|
|
37
|
-
email?: string;
|
|
38
|
-
/** Phone number or SHA-256 phone hash for attribution matching. */
|
|
39
|
-
phoneNumber?: string;
|
|
40
|
-
/** External user identifier or SHA-256 hash for attribution matching. */
|
|
41
|
-
externalId?: string;
|
|
42
|
-
/** Android Advertising ID or SHA-256 hash. */
|
|
43
|
-
aaid?: string;
|
|
44
|
-
/** iOS Identifier for Advertisers or SHA-256 hash. */
|
|
45
|
-
idfa?: string;
|
|
46
|
-
/** Automatic advanced matching controls. */
|
|
47
|
-
aam?: RedditPixelAdvancedMatchingOptions;
|
|
48
|
-
/**
|
|
49
|
-
* Data processing mode, including Reddit Limited Data Use values.
|
|
50
|
-
*
|
|
51
|
-
* @see {@link https://business.reddithelp.com/s/article/Limited-Data-Use | Reddit Limited Data Use}
|
|
52
|
-
*/
|
|
53
|
-
dpm?: string | string[];
|
|
54
|
-
/**
|
|
55
|
-
* Data processing country code.
|
|
56
|
-
*
|
|
57
|
-
* @see {@link https://business.reddithelp.com/s/article/Limited-Data-Use | Reddit Limited Data Use}
|
|
58
|
-
*/
|
|
59
|
-
dpcc?: string;
|
|
60
|
-
/**
|
|
61
|
-
* Data processing region code.
|
|
62
|
-
*
|
|
63
|
-
* @see {@link https://business.reddithelp.com/s/article/Limited-Data-Use | Reddit Limited Data Use}
|
|
64
|
-
*/
|
|
65
|
-
dprc?: string;
|
|
66
|
-
/** Integration partner name. */
|
|
67
|
-
partner?: string;
|
|
68
|
-
/** Integration partner version. */
|
|
69
|
-
partner_version?: string;
|
|
70
|
-
/** Source integration name reported to Reddit. */
|
|
71
|
-
integration?: 'reddit' | 'gtm' | (string & Record<never, never>);
|
|
72
|
-
/** Enable Reddit Pixel debug logging. */
|
|
73
|
-
debug?: boolean;
|
|
74
|
-
/**
|
|
75
|
-
* Send monetary `value` metadata as `valueDecimal`.
|
|
76
|
-
*
|
|
77
|
-
* @default true
|
|
78
|
-
*/
|
|
79
|
-
useDecimalCurrencyValues?: boolean;
|
|
80
|
-
[key: string]: unknown;
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Metadata supported by Reddit Pixel conversion events.
|
|
84
|
-
*
|
|
85
|
-
* @see {@link https://business.reddithelp.com/s/article/about-event-metadata | Reddit event metadata}
|
|
86
|
-
* @see {@link https://business.reddithelp.com/s/article/manual-conversion-events-with-the-reddit-pixel | Reddit manual conversion events}
|
|
87
|
-
*/
|
|
88
|
-
export interface RedditPixelEventMetadata {
|
|
89
|
-
itemCount?: number | string;
|
|
90
|
-
value?: number | string;
|
|
91
|
-
valueDecimal?: number | string;
|
|
92
|
-
currency?: string;
|
|
93
|
-
transactionId?: string;
|
|
94
|
-
customEventName?: string;
|
|
95
|
-
products?: string | {
|
|
96
|
-
id?: string | number;
|
|
97
|
-
name?: string;
|
|
98
|
-
category?: string;
|
|
99
|
-
quantity?: number | string;
|
|
100
|
-
itemPrice?: number | string;
|
|
101
|
-
}[];
|
|
102
|
-
/**
|
|
103
|
-
* Conversion ID used to deduplicate Pixel events against Conversions API
|
|
104
|
-
* events.
|
|
105
|
-
*
|
|
106
|
-
* @see {@link https://business.reddithelp.com/s/article/event-deduplication | Reddit event deduplication}
|
|
107
|
-
*/
|
|
108
|
-
conversionId?: string;
|
|
109
|
-
[key: string]: unknown;
|
|
110
|
-
}
|
|
111
|
-
interface RedditPixelFunction {
|
|
112
|
-
(command: 'init', pixelId: string, options?: RedditPixelInitOptions): void;
|
|
113
|
-
(command: 'enableFirstPartyCookies' | 'disableFirstPartyCookies'): void;
|
|
114
|
-
(command: 'track', eventName: RedditPixelEventName | (string & Record<never, never>), properties?: RedditPixelEventMetadata): void;
|
|
115
|
-
(command: string, ...args: unknown[]): void;
|
|
116
|
-
}
|
|
117
|
-
declare global {
|
|
118
|
-
interface Window {
|
|
119
|
-
rdt?: RedditPixelFunction & {
|
|
120
|
-
callQueue?: unknown[][];
|
|
121
|
-
sendEvent?: (...args: unknown[]) => void;
|
|
122
|
-
};
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
/**
|
|
126
|
-
* Reddit Pixel vendor manifest.
|
|
127
|
-
*
|
|
128
|
-
* Sets up Reddit's queue stub and optionally queues the standard page visit
|
|
129
|
-
* event before the external bundle loads.
|
|
130
|
-
*/
|
|
131
|
-
export declare const redditPixelManifest: {
|
|
132
|
-
readonly kind: "c15t.vendor-manifest";
|
|
133
|
-
readonly schemaVersion: 1;
|
|
134
|
-
readonly bootstrap: [{
|
|
135
|
-
readonly dispatchProperty: 'sendEvent';
|
|
136
|
-
readonly ifUndefined: true;
|
|
137
|
-
readonly name: 'rdt';
|
|
138
|
-
readonly queue: {
|
|
139
|
-
readonly property: 'callQueue';
|
|
140
|
-
};
|
|
141
|
-
readonly queueFormat: 'array';
|
|
142
|
-
readonly type: 'defineStubFunction';
|
|
143
|
-
}];
|
|
144
|
-
readonly category: 'marketing';
|
|
145
|
-
readonly install: [{
|
|
146
|
-
readonly args: ["init", "{{pixelId}}"];
|
|
147
|
-
readonly global: 'rdt';
|
|
148
|
-
readonly type: 'callGlobal';
|
|
149
|
-
}, {
|
|
150
|
-
readonly args: ["track", "PageVisit"];
|
|
151
|
-
readonly global: 'rdt';
|
|
152
|
-
readonly type: 'callGlobal';
|
|
153
|
-
}, {
|
|
154
|
-
readonly async: true;
|
|
155
|
-
readonly src: '{{scriptUrl}}';
|
|
156
|
-
readonly type: 'loadScript';
|
|
157
|
-
}];
|
|
158
|
-
readonly onConsentDenied: [{
|
|
159
|
-
readonly args: ["disableFirstPartyCookies"];
|
|
160
|
-
readonly global: 'rdt';
|
|
161
|
-
readonly type: 'callGlobal';
|
|
162
|
-
}];
|
|
163
|
-
readonly onConsentGranted: [{
|
|
164
|
-
readonly args: ["enableFirstPartyCookies"];
|
|
165
|
-
readonly global: 'rdt';
|
|
166
|
-
readonly type: 'callGlobal';
|
|
167
|
-
}];
|
|
168
|
-
readonly persistAfterConsentRevoked: true;
|
|
169
|
-
readonly vendor: 'reddit-pixel';
|
|
170
|
-
};
|
|
171
|
-
export interface RedditPixelOptions {
|
|
172
|
-
/**
|
|
173
|
-
* Your Reddit Pixel ID.
|
|
174
|
-
* @example `t2_abcdef`
|
|
175
|
-
*/
|
|
176
|
-
pixelId: string;
|
|
177
|
-
/**
|
|
178
|
-
* Queue the standard `PageVisit` event during setup.
|
|
179
|
-
* @default true
|
|
180
|
-
*/
|
|
181
|
-
trackPageVisit?: boolean;
|
|
182
|
-
/**
|
|
183
|
-
* Optional payload passed as the third argument to `rdt('init', ...)`.
|
|
184
|
-
*/
|
|
185
|
-
initOptions?: RedditPixelInitOptions;
|
|
186
|
-
/**
|
|
187
|
-
* Disable Reddit first-party cookies during setup.
|
|
188
|
-
*
|
|
189
|
-
* This is merged into `initOptions.disableFirstPartyCookies`.
|
|
190
|
-
*/
|
|
191
|
-
disableFirstPartyCookies?: boolean;
|
|
192
|
-
/** Reddit Pixel loader URL. */
|
|
193
|
-
scriptUrl?: string;
|
|
194
|
-
}
|
|
195
|
-
/**
|
|
196
|
-
* Creates a Reddit Pixel script.
|
|
197
|
-
*
|
|
198
|
-
* @param options - The options for the Reddit Pixel script.
|
|
199
|
-
* @returns The Reddit Pixel script configuration.
|
|
200
|
-
*/
|
|
201
|
-
export declare const redditPixel: ({ pixelId, trackPageVisit, initOptions, disableFirstPartyCookies, scriptUrl, }: RedditPixelOptions) => Script;
|
|
202
|
-
/**
|
|
203
|
-
* Tracks a Reddit Pixel event.
|
|
204
|
-
*
|
|
205
|
-
* @param eventName - Reddit standard event name or a custom event name.
|
|
206
|
-
* @param metadata - Optional event metadata, including `conversionId` for
|
|
207
|
-
* Pixel plus Conversions API deduplication.
|
|
208
|
-
*/
|
|
209
|
-
export declare const redditPixelEvent: (eventName: RedditPixelEventName | (string & Record<never, never>), metadata?: RedditPixelEventMetadata) => void;
|
|
210
|
-
export {};
|
|
1
|
+
/** @deprecated Use @c15t/integrations/vendors/ads-and-pixels/reddit-pixel. Compatibility ends in v4. */
|
|
2
|
+
export * from '@c15t/integrations/vendors/ads-and-pixels/reddit-pixel';
|
|
@@ -1,171 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export
|
|
3
|
-
export interface SnapchatPixelEventProperties {
|
|
4
|
-
/** Total monetary value for commerce events such as `PURCHASE`. */
|
|
5
|
-
price?: number;
|
|
6
|
-
/**
|
|
7
|
-
* Event identifier used to deduplicate browser Pixel events against
|
|
8
|
-
* server-side Conversions API events.
|
|
9
|
-
*/
|
|
10
|
-
client_dedup_id?: string;
|
|
11
|
-
/** ISO 4217 currency code, for example `USD`. */
|
|
12
|
-
currency?: string;
|
|
13
|
-
/** Transaction/order identifier for purchase events. */
|
|
14
|
-
transaction_id?: string;
|
|
15
|
-
/** Product, SKU, or content identifiers associated with the event. */
|
|
16
|
-
item_ids?: string[];
|
|
17
|
-
/** Product or content category associated with the event. */
|
|
18
|
-
item_category?: string;
|
|
19
|
-
/** Free-form description for the event. */
|
|
20
|
-
description?: string;
|
|
21
|
-
/** Query text for `SEARCH` events. */
|
|
22
|
-
search_string?: string;
|
|
23
|
-
/** Number of items represented by the event. */
|
|
24
|
-
number_items?: number;
|
|
25
|
-
/** Whether payment information was available, represented as `0` or `1`. */
|
|
26
|
-
payment_info_available?: 0 | 1;
|
|
27
|
-
/** Signup method for `SIGN_UP` events. */
|
|
28
|
-
sign_up_method?: string;
|
|
29
|
-
/** Whether the action succeeded, represented as `0` or `1`. */
|
|
30
|
-
success?: 0 | 1;
|
|
31
|
-
/** Brand names associated with the event contents. */
|
|
32
|
-
brands?: string[];
|
|
33
|
-
/** Fulfillment method for commerce events. */
|
|
34
|
-
delivery_method?: 'in_store' | 'curbside' | 'delivery';
|
|
35
|
-
/** Customer lifecycle status associated with the event. */
|
|
36
|
-
customer_status?: 'new' | 'returning' | 'reactivated';
|
|
37
|
-
/** Optional custom tag for event segmentation in Snapchat. */
|
|
38
|
-
event_tag?: string;
|
|
39
|
-
[key: string]: unknown;
|
|
40
|
-
}
|
|
41
|
-
interface SnapchatPixelFunction {
|
|
42
|
-
(command: 'track', eventName: SnapchatPixelEventName | (string & Record<never, never>), properties?: SnapchatPixelEventProperties): void;
|
|
43
|
-
(command: 'init', pixelId: string, config?: Record<string, unknown>): void;
|
|
44
|
-
(command: string, ...args: unknown[]): void;
|
|
45
|
-
}
|
|
46
|
-
declare global {
|
|
47
|
-
interface Window {
|
|
48
|
-
snaptr?: SnapchatPixelFunction & {
|
|
49
|
-
handleRequest?: (...args: unknown[]) => void;
|
|
50
|
-
loaded?: boolean;
|
|
51
|
-
push?: Window['snaptr'];
|
|
52
|
-
queue?: unknown[][];
|
|
53
|
-
version?: string;
|
|
54
|
-
};
|
|
55
|
-
_snaptr?: Window['snaptr'];
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Snapchat Pixel vendor manifest.
|
|
60
|
-
*
|
|
61
|
-
* Uses a structured queue stub and queues `init` plus an optional
|
|
62
|
-
* `PAGE_VIEW` event before the vendor bundle loads.
|
|
63
|
-
*/
|
|
64
|
-
export declare const snapchatPixelManifest: {
|
|
65
|
-
readonly kind: "c15t.vendor-manifest";
|
|
66
|
-
readonly schemaVersion: 1;
|
|
67
|
-
readonly bootstrap: [{
|
|
68
|
-
readonly aliases: ["_snaptr"];
|
|
69
|
-
readonly dispatchProperty: 'handleRequest';
|
|
70
|
-
readonly ifUndefined: true;
|
|
71
|
-
readonly name: 'snaptr';
|
|
72
|
-
readonly properties: {
|
|
73
|
-
readonly loaded: true;
|
|
74
|
-
readonly version: '1.0';
|
|
75
|
-
};
|
|
76
|
-
readonly queue: {
|
|
77
|
-
readonly property: 'queue';
|
|
78
|
-
};
|
|
79
|
-
readonly queueFormat: 'array';
|
|
80
|
-
readonly selfReferences: ["push"];
|
|
81
|
-
readonly type: 'defineStubFunction';
|
|
82
|
-
}];
|
|
83
|
-
readonly category: 'marketing';
|
|
84
|
-
readonly install: [{
|
|
85
|
-
readonly args: ["init", "{{pixelId}}"];
|
|
86
|
-
readonly global: 'snaptr';
|
|
87
|
-
readonly type: 'callGlobal';
|
|
88
|
-
}, {
|
|
89
|
-
readonly args: ["track", "PAGE_VIEW"];
|
|
90
|
-
readonly global: 'snaptr';
|
|
91
|
-
readonly type: 'callGlobal';
|
|
92
|
-
}, {
|
|
93
|
-
readonly async: true;
|
|
94
|
-
readonly src: '{{scriptUrl}}';
|
|
95
|
-
readonly type: 'loadScript';
|
|
96
|
-
}];
|
|
97
|
-
readonly vendor: 'snapchat-pixel';
|
|
98
|
-
};
|
|
99
|
-
export interface SnapchatPixelOptions {
|
|
100
|
-
/**
|
|
101
|
-
* Your Snapchat Pixel ID.
|
|
102
|
-
* @example `123456789012345`
|
|
103
|
-
*/
|
|
104
|
-
pixelId: string;
|
|
105
|
-
/** Optional init payload passed to `snaptr('init', ...)`. */
|
|
106
|
-
initOptions?: Record<string, unknown>;
|
|
107
|
-
/**
|
|
108
|
-
* Queue the default `PAGE_VIEW` event during setup.
|
|
109
|
-
* @default true
|
|
110
|
-
*/
|
|
111
|
-
trackPageView?: boolean;
|
|
112
|
-
/** Snapchat Pixel loader URL. */
|
|
113
|
-
scriptUrl?: string;
|
|
114
|
-
}
|
|
115
|
-
/**
|
|
116
|
-
* Creates a Snapchat Pixel script.
|
|
117
|
-
*
|
|
118
|
-
* @param options.pixelId - Snapchat Pixel ID used in `snaptr('init', ...)`.
|
|
119
|
-
* Expected format is a numeric string (commonly 15 digits), for example
|
|
120
|
-
* `'123456789012345'`. This value is required and should come directly from
|
|
121
|
-
* Snapchat Ads Manager.
|
|
122
|
-
* @param options.initOptions - Optional object passed as the third argument to
|
|
123
|
-
* `snaptr('init', pixelId, initOptions)`, for advanced initialization values.
|
|
124
|
-
* Example: `{ user_email: 'user@example.com', user_phone_number: '+15551234567' }`.
|
|
125
|
-
* @param options.trackPageView - Whether to queue the default
|
|
126
|
-
* `snaptr('track', 'PAGE_VIEW')` call during setup. Defaults to `true`; set to
|
|
127
|
-
* `false` when you want to control page-view tracking manually.
|
|
128
|
-
* @returns A resolved c15t `Script` configuration that defines the Snapchat
|
|
129
|
-
* queue stub, runs `init` (and optionally `PAGE_VIEW`), and then loads the
|
|
130
|
-
* Snapchat SDK script URL.
|
|
131
|
-
* @throws {Error} `resolveManifest` may throw when required placeholders cannot be
|
|
132
|
-
* resolved (for example, when `pixelId` is missing/empty) or when provided
|
|
133
|
-
* manifest values are invalid for interpolation.
|
|
134
|
-
*
|
|
135
|
-
* Edge cases:
|
|
136
|
-
* - Missing `pixelId` causes manifest resolution to fail.
|
|
137
|
-
* - Non-numeric or malformed `pixelId` values may initialize incorrectly in
|
|
138
|
-
* Snapchat even if local script construction succeeds.
|
|
139
|
-
*
|
|
140
|
-
* @example
|
|
141
|
-
* ```ts
|
|
142
|
-
* const script = snapchatPixel({
|
|
143
|
-
* pixelId: '123456789012345',
|
|
144
|
-
* initOptions: {
|
|
145
|
-
* user_email: 'user@example.com',
|
|
146
|
-
* user_phone_number: '+15551234567',
|
|
147
|
-
* },
|
|
148
|
-
* trackPageView: false,
|
|
149
|
-
* });
|
|
150
|
-
* ```
|
|
151
|
-
*/
|
|
152
|
-
export declare const snapchatPixel: ({ pixelId, initOptions, trackPageView, scriptUrl, }: SnapchatPixelOptions) => Script;
|
|
153
|
-
/**
|
|
154
|
-
* Tracks a Snapchat Pixel event.
|
|
155
|
-
*
|
|
156
|
-
* @param eventName - Snapchat standard event name or a custom event name.
|
|
157
|
-
* @param properties - Optional event properties, including
|
|
158
|
-
* `client_dedup_id` for Pixel plus Conversions API deduplication.
|
|
159
|
-
*
|
|
160
|
-
* @example
|
|
161
|
-
* ```ts
|
|
162
|
-
* snapchatPixelEvent('PURCHASE', {
|
|
163
|
-
* price: 99,
|
|
164
|
-
* currency: 'USD',
|
|
165
|
-
* transaction_id: 'order-123',
|
|
166
|
-
* client_dedup_id: 'event-123',
|
|
167
|
-
* });
|
|
168
|
-
* ```
|
|
169
|
-
*/
|
|
170
|
-
export declare const snapchatPixelEvent: (eventName: SnapchatPixelEventName | (string & Record<never, never>), properties?: SnapchatPixelEventProperties) => void;
|
|
171
|
-
export {};
|
|
1
|
+
/** @deprecated Use @c15t/integrations/vendors/ads-and-pixels/snapchat-pixel. Compatibility ends in v4. */
|
|
2
|
+
export * from '@c15t/integrations/vendors/ads-and-pixels/snapchat-pixel';
|