@c15t/scripts 3.0.0-alpha.2 → 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 -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 +71 -101
- 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 +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 +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 +226 -241
- 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 +475 -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,60 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
* Clearbit vendor manifest.
|
|
4
|
-
*
|
|
5
|
-
* Loads Clearbit's visitor and company enrichment tag from the account-keyed
|
|
6
|
-
* `tags.js` endpoint. Clearbit enrichment can identify visitors and companies,
|
|
7
|
-
* so the default consent category is `marketing` rather than `measurement`.
|
|
8
|
-
* The GitHub issue left the category open between measurement and marketing;
|
|
9
|
-
* c15t treats enrichment and intent profiling as marketing-sensitive.
|
|
10
|
-
*/
|
|
11
|
-
export declare const clearbitManifest: {
|
|
12
|
-
readonly kind: "c15t.vendor-manifest";
|
|
13
|
-
readonly schemaVersion: 1;
|
|
14
|
-
readonly category: 'marketing';
|
|
15
|
-
readonly install: [{
|
|
16
|
-
readonly attributes: {
|
|
17
|
-
readonly referrerpolicy: 'strict-origin-when-cross-origin';
|
|
18
|
-
};
|
|
19
|
-
readonly src: '{{scriptUrl}}';
|
|
20
|
-
readonly type: 'loadScript';
|
|
21
|
-
}];
|
|
22
|
-
readonly vendor: 'clearbit';
|
|
23
|
-
};
|
|
24
|
-
export interface ClearbitOptions {
|
|
25
|
-
/**
|
|
26
|
-
* Your Clearbit publishable key.
|
|
27
|
-
*/
|
|
28
|
-
publishableKey: string;
|
|
29
|
-
/**
|
|
30
|
-
* Custom loader URL.
|
|
31
|
-
* @default `https://tag.clearbitscripts.com/v1/{publishableKey}/tags.js`
|
|
32
|
-
*/
|
|
33
|
-
scriptUrl?: string;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Creates a Clearbit enrichment script.
|
|
37
|
-
*
|
|
38
|
-
* @see https://help.clearbit.com/hc/en-us/articles/4420022080783 — installing the Clearbit tag
|
|
39
|
-
*
|
|
40
|
-
* @param options - The options for the Clearbit script.
|
|
41
|
-
* @returns The Clearbit script.
|
|
42
|
-
* @throws {Error} When `publishableKey` is missing, empty, or invalid.
|
|
43
|
-
* Provide a valid non-empty `publishableKey` string to prevent this error.
|
|
44
|
-
*
|
|
45
|
-
* @remarks
|
|
46
|
-
* Clearbit identifies visitors and companies for enrichment and intent use
|
|
47
|
-
* cases. This helper therefore uses the `marketing` consent category by
|
|
48
|
-
* default even though Clearbit is listed with analytics integrations for
|
|
49
|
-
* discovery.
|
|
50
|
-
*
|
|
51
|
-
* @example
|
|
52
|
-
* ```ts
|
|
53
|
-
* import { clearbit } from '@c15t/scripts/clearbit';
|
|
54
|
-
*
|
|
55
|
-
* clearbit({
|
|
56
|
-
* publishableKey: 'YOUR_PUBLISHABLE_KEY',
|
|
57
|
-
* });
|
|
58
|
-
* ```
|
|
59
|
-
*/
|
|
60
|
-
export declare const clearbit: (options: ClearbitOptions) => Script;
|
|
1
|
+
/** @deprecated Use @c15t/integrations/vendors/analytics/clearbit. Compatibility ends in v4. */
|
|
2
|
+
export * from '@c15t/integrations/vendors/analytics/clearbit';
|
|
@@ -1,67 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
interface Window {
|
|
4
|
-
__cfBeacon?: {
|
|
5
|
-
spa?: boolean;
|
|
6
|
-
token: string;
|
|
7
|
-
};
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Cloudflare Web Analytics vendor manifest.
|
|
12
|
-
*
|
|
13
|
-
* Serializes Cloudflare's beacon config into the `data-cf-beacon` attribute.
|
|
14
|
-
* Cloudflare Web Analytics is cookieless, so the script is consent-gated on
|
|
15
|
-
* `measurement` and unloaded when consent is revoked.
|
|
16
|
-
*/
|
|
17
|
-
export declare const cloudflareWebAnalyticsManifest: {
|
|
18
|
-
readonly kind: "c15t.vendor-manifest";
|
|
19
|
-
readonly schemaVersion: 1;
|
|
20
|
-
readonly category: 'measurement';
|
|
21
|
-
readonly install: [{
|
|
22
|
-
readonly attributes: {
|
|
23
|
-
readonly 'data-cf-beacon': '{{beaconConfig}}';
|
|
24
|
-
};
|
|
25
|
-
readonly defer: true;
|
|
26
|
-
readonly src: '{{scriptUrl}}';
|
|
27
|
-
readonly type: 'loadScript';
|
|
28
|
-
}];
|
|
29
|
-
readonly vendor: 'cloudflare-web-analytics';
|
|
30
|
-
};
|
|
31
|
-
export interface CloudflareWebAnalyticsOptions {
|
|
32
|
-
/**
|
|
33
|
-
* Your Cloudflare Web Analytics token.
|
|
34
|
-
*/
|
|
35
|
-
token: string;
|
|
36
|
-
/**
|
|
37
|
-
* Enable Cloudflare's SPA route tracking.
|
|
38
|
-
* @default true
|
|
39
|
-
*/
|
|
40
|
-
spa?: boolean;
|
|
41
|
-
/**
|
|
42
|
-
* Custom loader URL.
|
|
43
|
-
* @default 'https://static.cloudflareinsights.com/beacon.min.js'
|
|
44
|
-
*/
|
|
45
|
-
scriptUrl?: string;
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Creates a Cloudflare Web Analytics script.
|
|
49
|
-
*
|
|
50
|
-
* @see https://developers.cloudflare.com/analytics/web-analytics/get-started/
|
|
51
|
-
*
|
|
52
|
-
* @param options - The options for the Cloudflare Web Analytics script.
|
|
53
|
-
* @returns The Cloudflare Web Analytics script.
|
|
54
|
-
* @throws {Error} Throws `cloudflareWebAnalytics: missing token` when
|
|
55
|
-
* `options.token` is missing, invalid, or trims to an empty string.
|
|
56
|
-
*
|
|
57
|
-
* @example
|
|
58
|
-
* ```ts
|
|
59
|
-
* import { cloudflareWebAnalytics } from '@c15t/scripts/cloudflare-web-analytics';
|
|
60
|
-
*
|
|
61
|
-
* cloudflareWebAnalytics({
|
|
62
|
-
* token: 'abc123...',
|
|
63
|
-
* spa: true,
|
|
64
|
-
* });
|
|
65
|
-
* ```
|
|
66
|
-
*/
|
|
67
|
-
export declare const cloudflareWebAnalytics: (options: CloudflareWebAnalyticsOptions) => Script;
|
|
1
|
+
/** @deprecated Use @c15t/integrations/vendors/analytics/cloudflare-web-analytics. Compatibility ends in v4. */
|
|
2
|
+
export * from '@c15t/integrations/vendors/analytics/cloudflare-web-analytics';
|
|
@@ -1,147 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
interface Window {
|
|
4
|
-
databuddy?: {
|
|
5
|
-
track: (eventName: string, properties?: Record<string, unknown>) => void;
|
|
6
|
-
screenView: (screenName?: string, properties?: Record<string, unknown>) => void;
|
|
7
|
-
clear: () => void;
|
|
8
|
-
flush: () => void;
|
|
9
|
-
setGlobalProperties: (properties: Record<string, unknown>) => void;
|
|
10
|
-
trackCustomEvent: (eventName: string, properties?: Record<string, unknown>) => void;
|
|
11
|
-
options: {
|
|
12
|
-
disabled: boolean;
|
|
13
|
-
[key: string]: unknown;
|
|
14
|
-
};
|
|
15
|
-
};
|
|
16
|
-
databuddyConfig?: {
|
|
17
|
-
clientId?: string;
|
|
18
|
-
apiUrl?: string;
|
|
19
|
-
[key: string]: unknown;
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* DataBuddy vendor manifest.
|
|
25
|
-
*
|
|
26
|
-
* DataBuddy always loads but controls tracking via its `options.disabled` flag.
|
|
27
|
-
* Config is seeded via `window.databuddyConfig` before the script loads.
|
|
28
|
-
*/
|
|
29
|
-
export declare const databuddyManifest: {
|
|
30
|
-
readonly kind: "c15t.vendor-manifest";
|
|
31
|
-
readonly schemaVersion: 1;
|
|
32
|
-
readonly alwaysLoad: true;
|
|
33
|
-
readonly category: 'measurement';
|
|
34
|
-
readonly install: [{
|
|
35
|
-
readonly async: true;
|
|
36
|
-
readonly attributes: {
|
|
37
|
-
readonly crossorigin: 'anonymous';
|
|
38
|
-
readonly 'data-api-url': '{{apiUrl}}';
|
|
39
|
-
readonly 'data-client-id': '{{clientId}}';
|
|
40
|
-
};
|
|
41
|
-
readonly src: '{{scriptUrl}}';
|
|
42
|
-
readonly type: 'loadScript';
|
|
43
|
-
}];
|
|
44
|
-
readonly onBeforeLoadDenied: [{
|
|
45
|
-
readonly ifUndefined: true;
|
|
46
|
-
readonly name: 'databuddyConfig';
|
|
47
|
-
readonly type: 'setGlobal';
|
|
48
|
-
readonly value: '{{configWhenDenied}}';
|
|
49
|
-
}];
|
|
50
|
-
readonly onBeforeLoadGranted: [{
|
|
51
|
-
readonly ifUndefined: true;
|
|
52
|
-
readonly name: 'databuddyConfig';
|
|
53
|
-
readonly type: 'setGlobal';
|
|
54
|
-
readonly value: '{{configWhenGranted}}';
|
|
55
|
-
}];
|
|
56
|
-
readonly onConsentDenied: [{
|
|
57
|
-
readonly ifUndefined: false;
|
|
58
|
-
readonly name: 'databuddyConfig';
|
|
59
|
-
readonly type: 'setGlobal';
|
|
60
|
-
readonly value: '{{configWhenDenied}}';
|
|
61
|
-
}, {
|
|
62
|
-
readonly path: ["databuddy", "options", "disabled"];
|
|
63
|
-
readonly type: 'setGlobalPath';
|
|
64
|
-
readonly value: true;
|
|
65
|
-
}];
|
|
66
|
-
readonly onConsentGranted: [{
|
|
67
|
-
readonly ifUndefined: false;
|
|
68
|
-
readonly name: 'databuddyConfig';
|
|
69
|
-
readonly type: 'setGlobal';
|
|
70
|
-
readonly value: '{{configWhenGranted}}';
|
|
71
|
-
}, {
|
|
72
|
-
readonly path: ["databuddy", "options", "disabled"];
|
|
73
|
-
readonly type: 'setGlobalPath';
|
|
74
|
-
readonly value: false;
|
|
75
|
-
}];
|
|
76
|
-
readonly onLoadDenied: [{
|
|
77
|
-
readonly path: ["databuddy", "options", "disabled"];
|
|
78
|
-
readonly type: 'setGlobalPath';
|
|
79
|
-
readonly value: true;
|
|
80
|
-
}];
|
|
81
|
-
readonly onLoadGranted: [{
|
|
82
|
-
readonly path: ["databuddy", "options", "disabled"];
|
|
83
|
-
readonly type: 'setGlobalPath';
|
|
84
|
-
readonly value: false;
|
|
85
|
-
}];
|
|
86
|
-
readonly vendor: 'databuddy';
|
|
87
|
-
};
|
|
88
|
-
export interface DatabuddyConsentOptions {
|
|
89
|
-
/**
|
|
90
|
-
* Your Databuddy client ID.
|
|
91
|
-
*/
|
|
92
|
-
clientId: string;
|
|
93
|
-
/**
|
|
94
|
-
* Your Databuddy API URL.
|
|
95
|
-
* @default 'https://basket.databuddy.cc'
|
|
96
|
-
*/
|
|
97
|
-
apiUrl?: string;
|
|
98
|
-
/**
|
|
99
|
-
* The Databuddy script URL.
|
|
100
|
-
* @default 'https://cdn.databuddy.cc/databuddy.js'
|
|
101
|
-
*/
|
|
102
|
-
scriptUrl?: string;
|
|
103
|
-
/** Databuddy config object to seed when consent is granted at load time. */
|
|
104
|
-
configWhenGranted: Record<string, unknown>;
|
|
105
|
-
/** Databuddy config object to seed when consent is denied at load time. */
|
|
106
|
-
configWhenDenied: Record<string, unknown>;
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* Loads the Databuddy script and manages consent state declaratively via the manifest runtime.
|
|
110
|
-
*
|
|
111
|
-
* The script always loads (`alwaysLoad: true`) but tracking is controlled via the `disabled`
|
|
112
|
-
* flag on Databuddy's global config/runtime objects, allowing the vendor to stay present in
|
|
113
|
-
* the DOM while respecting consent boundaries.
|
|
114
|
-
*
|
|
115
|
-
* @param options - Configuration for the Databuddy consent script
|
|
116
|
-
* @returns The Databuddy script configuration object for c15t's script loader
|
|
117
|
-
*
|
|
118
|
-
* @example
|
|
119
|
-
* ```ts
|
|
120
|
-
* import { createConsentKernel } from 'c15t';
|
|
121
|
-
* import { createScriptLoader } from 'c15t/modules/script-loader';
|
|
122
|
-
* import { databuddy } from '@c15t/scripts/databuddy';
|
|
123
|
-
*
|
|
124
|
-
* const kernel = createConsentKernel();
|
|
125
|
-
* const loader = createScriptLoader({
|
|
126
|
-
* kernel,
|
|
127
|
-
* scripts: [
|
|
128
|
-
* databuddy({
|
|
129
|
-
* clientId: 'db_1234567890abcdef',
|
|
130
|
-
* configWhenGranted: {
|
|
131
|
-
* clientId: 'db_1234567890abcdef',
|
|
132
|
-
* trackScreenViews: true,
|
|
133
|
-
* trackOutgoingLinks: true,
|
|
134
|
-
* trackPerformance: true,
|
|
135
|
-
* samplingRate: 1.0,
|
|
136
|
-
* disabled: false,
|
|
137
|
-
* },
|
|
138
|
-
* configWhenDenied: {
|
|
139
|
-
* clientId: 'db_1234567890abcdef',
|
|
140
|
-
* disabled: true,
|
|
141
|
-
* },
|
|
142
|
-
* }),
|
|
143
|
-
* ],
|
|
144
|
-
* });
|
|
145
|
-
* ```
|
|
146
|
-
*/
|
|
147
|
-
export declare const databuddy: (options: DatabuddyConsentOptions) => Script;
|
|
1
|
+
/** @deprecated Use @c15t/integrations/vendors/analytics/databuddy. Compatibility ends in v4. */
|
|
2
|
+
export * from '@c15t/integrations/vendors/analytics/databuddy';
|
|
@@ -1,90 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
interface Window {
|
|
4
|
-
fathom?: {
|
|
5
|
-
blockTrackingForMe: () => void;
|
|
6
|
-
enableTrackingForMe: () => void;
|
|
7
|
-
trackEvent: (eventName: string, opts?: {
|
|
8
|
-
_value?: number;
|
|
9
|
-
}) => void;
|
|
10
|
-
trackGoal: (goalId: string, cents: number) => void;
|
|
11
|
-
trackPageview: (opts?: {
|
|
12
|
-
url: string;
|
|
13
|
-
referrer?: string;
|
|
14
|
-
}) => void;
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Fathom Analytics vendor manifest.
|
|
20
|
-
*
|
|
21
|
-
* Configures Fathom via script `data-*` attributes. Fathom is a cookieless
|
|
22
|
-
* analytics product, so the script is consent-gated on `measurement` and
|
|
23
|
-
* unloaded when consent is revoked.
|
|
24
|
-
*/
|
|
25
|
-
export declare const fathomAnalyticsManifest: {
|
|
26
|
-
readonly kind: "c15t.vendor-manifest";
|
|
27
|
-
readonly schemaVersion: 1;
|
|
28
|
-
readonly category: 'measurement';
|
|
29
|
-
readonly install: [{
|
|
30
|
-
readonly attributes: {
|
|
31
|
-
readonly 'data-auto': '{{autoAttribute}}';
|
|
32
|
-
readonly 'data-canonical': '{{canonicalAttribute}}';
|
|
33
|
-
readonly 'data-honor-dnt': '{{honorDntAttribute}}';
|
|
34
|
-
readonly 'data-site': '{{site}}';
|
|
35
|
-
readonly 'data-spa': '{{spa}}';
|
|
36
|
-
};
|
|
37
|
-
readonly defer: true;
|
|
38
|
-
readonly src: '{{scriptUrl}}';
|
|
39
|
-
readonly type: 'loadScript';
|
|
40
|
-
}];
|
|
41
|
-
readonly vendor: 'fathom-analytics';
|
|
42
|
-
};
|
|
43
|
-
export interface FathomAnalyticsOptions {
|
|
44
|
-
/**
|
|
45
|
-
* Your Fathom Analytics site ID.
|
|
46
|
-
*/
|
|
47
|
-
site: string;
|
|
48
|
-
/**
|
|
49
|
-
* The SPA tracking mode. When undefined, SPA auto-routing is disabled and
|
|
50
|
-
* the `data-spa` attribute is omitted.
|
|
51
|
-
*/
|
|
52
|
-
spa?: 'auto' | 'history' | 'hash';
|
|
53
|
-
/**
|
|
54
|
-
* Automatically track page views.
|
|
55
|
-
*/
|
|
56
|
-
auto?: boolean;
|
|
57
|
-
/**
|
|
58
|
-
* Enable canonical URL tracking.
|
|
59
|
-
*/
|
|
60
|
-
canonical?: boolean;
|
|
61
|
-
/**
|
|
62
|
-
* Honor Do Not Track requests.
|
|
63
|
-
*/
|
|
64
|
-
honorDnt?: boolean;
|
|
65
|
-
/**
|
|
66
|
-
* Custom loader URL.
|
|
67
|
-
* @default 'https://cdn.usefathom.com/script.js'
|
|
68
|
-
*/
|
|
69
|
-
scriptUrl?: string;
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Creates a Fathom Analytics script.
|
|
73
|
-
*
|
|
74
|
-
* @see https://usefathom.com/docs/script/script-settings
|
|
75
|
-
*
|
|
76
|
-
* @param options - The options for the Fathom Analytics script.
|
|
77
|
-
* @returns The Fathom Analytics script.
|
|
78
|
-
*
|
|
79
|
-
* @example
|
|
80
|
-
* ```ts
|
|
81
|
-
* import { fathomAnalytics } from '@c15t/scripts/fathom-analytics';
|
|
82
|
-
*
|
|
83
|
-
* fathomAnalytics({
|
|
84
|
-
* site: 'SITE123',
|
|
85
|
-
* spa: 'history',
|
|
86
|
-
* canonical: true,
|
|
87
|
-
* });
|
|
88
|
-
* ```
|
|
89
|
-
*/
|
|
90
|
-
export declare const fathomAnalytics: (options: FathomAnalyticsOptions) => Script;
|
|
1
|
+
/** @deprecated Use @c15t/integrations/vendors/analytics/fathom-analytics. Compatibility ends in v4. */
|
|
2
|
+
export * from '@c15t/integrations/vendors/analytics/fathom-analytics';
|
|
@@ -1,95 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
interface Window {
|
|
4
|
-
dataLayer: unknown[];
|
|
5
|
-
gtag: (...args: unknown[]) => void;
|
|
6
|
-
}
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* Google Tag (gtag.js) vendor manifest.
|
|
10
|
-
*
|
|
11
|
-
* Similar to GTM but for direct Google product integration (Analytics, Ads, Floodlight).
|
|
12
|
-
* Uses the same Consent Mode v2 mapping.
|
|
13
|
-
*/
|
|
14
|
-
export declare const gtagManifest: {
|
|
15
|
-
readonly kind: "c15t.vendor-manifest";
|
|
16
|
-
readonly schemaVersion: 1;
|
|
17
|
-
readonly alwaysLoad: true;
|
|
18
|
-
readonly bootstrap: [{
|
|
19
|
-
readonly ifUndefined: true;
|
|
20
|
-
readonly name: 'dataLayer';
|
|
21
|
-
readonly type: 'setGlobal';
|
|
22
|
-
readonly value: readonly [];
|
|
23
|
-
}, {
|
|
24
|
-
readonly ifUndefined: true;
|
|
25
|
-
readonly name: 'gtag';
|
|
26
|
-
readonly queue: 'dataLayer';
|
|
27
|
-
readonly type: 'defineQueueFunction';
|
|
28
|
-
}];
|
|
29
|
-
readonly category: '{{category}}';
|
|
30
|
-
readonly consentMapping: Record<string, string[]>;
|
|
31
|
-
readonly consentSignal: 'gtag';
|
|
32
|
-
readonly install: [{
|
|
33
|
-
readonly args: ["js", {
|
|
34
|
-
readonly kind: "c15t.runtime-value";
|
|
35
|
-
readonly value: 'date';
|
|
36
|
-
}];
|
|
37
|
-
readonly global: 'gtag';
|
|
38
|
-
readonly type: 'callGlobal';
|
|
39
|
-
}, {
|
|
40
|
-
readonly args: ["config", "{{id}}"];
|
|
41
|
-
readonly global: 'gtag';
|
|
42
|
-
readonly type: 'callGlobal';
|
|
43
|
-
}, {
|
|
44
|
-
readonly async: true;
|
|
45
|
-
readonly src: 'https://www.googletagmanager.com/gtag/js?id={{id}}';
|
|
46
|
-
readonly type: 'loadScript';
|
|
47
|
-
}];
|
|
48
|
-
readonly persistAfterConsentRevoked: true;
|
|
49
|
-
readonly vendor: 'gtag';
|
|
50
|
-
};
|
|
51
|
-
export interface GtagOptions {
|
|
52
|
-
/** Parameters forwarded to gtag config. */
|
|
53
|
-
config?: Record<string, unknown>;
|
|
54
|
-
/**
|
|
55
|
-
* Your gtag id
|
|
56
|
-
* @example `G-XXXXXXX`
|
|
57
|
-
*/
|
|
58
|
-
id: string;
|
|
59
|
-
/**
|
|
60
|
-
* The consent category to use for the gtag script. This is typically marketing (Ads & Floodlight) or measurement (Analytics)
|
|
61
|
-
* @example 'marketing'
|
|
62
|
-
*/
|
|
63
|
-
category: AllConsentNames;
|
|
64
|
-
/**
|
|
65
|
-
* Custom mapping from c15t consent categories to Google Consent Mode v2 types.
|
|
66
|
-
* Overrides the default mapping when provided.
|
|
67
|
-
*
|
|
68
|
-
* @default
|
|
69
|
-
* ```ts
|
|
70
|
-
* {
|
|
71
|
-
* necessary: ['security_storage'],
|
|
72
|
-
* functionality: ['functionality_storage'],
|
|
73
|
-
* measurement: ['analytics_storage'],
|
|
74
|
-
* marketing: ['ad_storage', 'ad_user_data', 'ad_personalization'],
|
|
75
|
-
* experience: ['personalization_storage'],
|
|
76
|
-
* }
|
|
77
|
-
* ```
|
|
78
|
-
*/
|
|
79
|
-
consentMapping?: Record<string, string[]>;
|
|
80
|
-
/**
|
|
81
|
-
* Deprecated script-level overrides preserved for backwards compatibility.
|
|
82
|
-
*
|
|
83
|
-
* Prefer manifest-backed options instead of this generic override bag.
|
|
84
|
-
* @deprecated
|
|
85
|
-
*/
|
|
86
|
-
script?: Partial<Script>;
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* Creates a Google Tag (gtag.js) script.
|
|
90
|
-
* Allows you to send data website to linked Google products like Analytics, Ads & Floodlight.
|
|
91
|
-
*
|
|
92
|
-
* @param options - The options for the gtag script.
|
|
93
|
-
* @returns The Google Tag Manager script.
|
|
94
|
-
*/
|
|
95
|
-
export declare const gtag: ({ id, config, category, consentMapping, script, }: GtagOptions) => Script;
|
|
1
|
+
/** @deprecated Use @c15t/integrations/vendors/analytics/google-tag. Compatibility ends in v4. */
|
|
2
|
+
export * from '@c15t/integrations/vendors/analytics/google-tag';
|