@c15t/scripts 2.2.0 → 3.0.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +74 -48
- package/README.md +3 -3
- package/dist/e2e-test-utils.js +60 -24
- package/dist/engine/compile.js +45 -45
- package/dist/engine/runtime.js +119 -119
- package/dist/registry.js +186 -176
- package/dist/resolve.js +12 -12
- package/dist/vendors/_shared/attributes.js +5 -5
- package/dist/vendors/_shared/google-consent.js +10 -10
- package/dist/vendors/_shared/install-builders.js +9 -9
- package/dist/vendors/_shared/script-url.js +12 -12
- package/dist/vendors/ads-and-pixels/linkedin-insights.js +16 -16
- package/dist/vendors/ads-and-pixels/meta-pixel.js +82 -82
- package/dist/vendors/ads-and-pixels/microsoft-uet.js +57 -57
- package/dist/vendors/ads-and-pixels/openai-pixel.js +88 -0
- package/dist/vendors/ads-and-pixels/reddit-pixel.js +39 -39
- package/dist/vendors/ads-and-pixels/snapchat-pixel.js +25 -25
- package/dist/vendors/ads-and-pixels/tiktok-pixel.js +31 -31
- package/dist/vendors/ads-and-pixels/x-pixel.js +17 -17
- package/dist/vendors/analytics/adobe-analytics.js +17 -17
- package/dist/vendors/analytics/ahrefs-analytics.js +8 -8
- package/dist/vendors/analytics/amplitude.js +39 -39
- package/dist/vendors/analytics/clearbit.js +11 -11
- package/dist/vendors/analytics/cloudflare-web-analytics.js +13 -13
- package/dist/vendors/analytics/databuddy.js +45 -45
- package/dist/vendors/analytics/fathom-analytics.js +15 -15
- package/dist/vendors/analytics/google-tag.js +23 -23
- package/dist/vendors/analytics/heap.js +37 -37
- package/dist/vendors/analytics/hightouch.js +30 -30
- package/dist/vendors/analytics/hotjar.js +14 -14
- package/dist/vendors/analytics/logrocket.js +24 -24
- package/dist/vendors/analytics/matomo-analytics.js +51 -51
- package/dist/vendors/analytics/microsoft-clarity.js +31 -31
- package/dist/vendors/analytics/mixpanel-analytics.js +31 -31
- package/dist/vendors/analytics/pirsch.js +27 -27
- package/dist/vendors/analytics/plausible-analytics.js +24 -24
- package/dist/vendors/analytics/posthog.js +84 -79
- package/dist/vendors/analytics/promptwatch.js +8 -8
- package/dist/vendors/analytics/rudderstack.js +50 -50
- package/dist/vendors/analytics/rybbit-analytics.js +30 -30
- package/dist/vendors/analytics/segment.js +16 -16
- package/dist/vendors/analytics/umami-analytics.js +16 -16
- package/dist/vendors/analytics/vercel-analytics.js +22 -22
- package/dist/vendors/functional/crisp.js +49 -51
- package/dist/vendors/functional/intercom.js +18 -18
- package/dist/vendors/tag-managers/google-tag-manager.js +20 -20
- package/dist-types/__tests__/helpers.d.ts +10 -10
- package/dist-types/engine/compile.d.ts +2 -2
- package/dist-types/engine/runtime.d.ts +3 -3
- package/dist-types/registry.d.ts +182 -173
- package/dist-types/resolve.d.ts +2 -2
- package/dist-types/types.d.ts +2 -2
- package/dist-types/vendors/_shared/attributes.d.ts +2 -2
- package/dist-types/vendors/_shared/google-consent.d.ts +2 -2
- package/dist-types/vendors/_shared/install-builders.d.ts +1 -1
- package/dist-types/vendors/_shared/script-url.d.ts +6 -6
- package/dist-types/vendors/ads-and-pixels/linkedin-insights.d.ts +14 -14
- package/dist-types/vendors/ads-and-pixels/meta-pixel.d.ts +27 -27
- package/dist-types/vendors/ads-and-pixels/microsoft-uet.d.ts +40 -40
- package/dist-types/vendors/ads-and-pixels/openai-pixel.d.ts +211 -0
- package/dist-types/vendors/ads-and-pixels/reddit-pixel.d.ts +28 -29
- package/dist-types/vendors/ads-and-pixels/snapchat-pixel.d.ts +23 -23
- package/dist-types/vendors/ads-and-pixels/tiktok-pixel.d.ts +22 -22
- package/dist-types/vendors/ads-and-pixels/x-pixel.d.ts +15 -15
- package/dist-types/vendors/analytics/adobe-analytics.d.ts +3 -3
- package/dist-types/vendors/analytics/ahrefs-analytics.d.ts +5 -5
- package/dist-types/vendors/analytics/amplitude.d.ts +24 -24
- package/dist-types/vendors/analytics/clearbit.d.ts +5 -5
- package/dist-types/vendors/analytics/cloudflare-web-analytics.d.ts +6 -6
- package/dist-types/vendors/analytics/databuddy.d.ts +34 -31
- package/dist-types/vendors/analytics/fathom-analytics.d.ts +8 -8
- package/dist-types/vendors/analytics/google-tag.d.ts +17 -17
- package/dist-types/vendors/analytics/heap.d.ts +17 -17
- package/dist-types/vendors/analytics/hightouch.d.ts +15 -15
- package/dist-types/vendors/analytics/hotjar.d.ts +9 -9
- package/dist-types/vendors/analytics/logrocket.d.ts +11 -11
- package/dist-types/vendors/analytics/matomo-analytics.d.ts +3 -3
- package/dist-types/vendors/analytics/microsoft-clarity.d.ts +12 -13
- package/dist-types/vendors/analytics/mixpanel-analytics.d.ts +20 -20
- package/dist-types/vendors/analytics/pirsch.d.ts +10 -10
- package/dist-types/vendors/analytics/plausible-analytics.d.ts +13 -13
- package/dist-types/vendors/analytics/posthog.d.ts +35 -32
- package/dist-types/vendors/analytics/promptwatch.d.ts +5 -5
- package/dist-types/vendors/analytics/rudderstack.d.ts +16 -16
- package/dist-types/vendors/analytics/rybbit-analytics.d.ts +15 -15
- package/dist-types/vendors/analytics/segment.d.ts +11 -11
- package/dist-types/vendors/analytics/umami-analytics.d.ts +9 -9
- package/dist-types/vendors/analytics/vercel-analytics.d.ts +13 -13
- package/dist-types/vendors/functional/crisp.d.ts +9 -9
- package/dist-types/vendors/functional/intercom.d.ts +12 -12
- package/dist-types/vendors/tag-managers/google-tag-manager.d.ts +16 -16
- package/docs/README.md +74 -48
- package/docs/assets/v3/brand-bar.png +0 -0
- package/docs/assets/v3/brand-card.png +0 -0
- package/docs/assets/v3/choice-wall.png +0 -0
- package/docs/assets/v3/mobile-card.png +0 -0
- package/docs/assets/v3/preferences.png +0 -0
- package/docs/customization/overview.md +45 -0
- package/docs/customization/recipes.md +79 -0
- package/docs/customization/slots.md +55 -0
- package/docs/customization/tokens.md +76 -0
- package/docs/customization/translations.md +49 -0
- package/docs/frameworks/javascript/script-loader.md +30 -339
- package/docs/frameworks/next/script-loader.md +134 -467
- package/docs/frameworks/react/script-loader.md +35 -535
- package/docs/guides/consent-state.md +60 -0
- package/docs/guides/data-fetching.md +163 -0
- package/docs/guides/deployment-modes.md +63 -0
- package/docs/guides/troubleshooting.md +68 -0
- package/docs/guides/verify-consent.md +62 -0
- package/docs/integrations/adobe-analytics.md +239 -105
- package/docs/integrations/ahrefs-analytics.md +238 -104
- package/docs/integrations/amplitude.md +219 -157
- package/docs/integrations/building-integrations.md +32 -224
- package/docs/integrations/clearbit.md +247 -86
- package/docs/integrations/cloudflare-web-analytics.md +250 -84
- package/docs/integrations/crisp.md +251 -97
- package/docs/integrations/databuddy.md +259 -153
- package/docs/integrations/fathom-analytics.md +239 -96
- package/docs/integrations/google-maps.md +328 -207
- package/docs/integrations/google-tag-manager.md +248 -96
- package/docs/integrations/google-tag.md +261 -90
- package/docs/integrations/heap.md +222 -149
- package/docs/integrations/hightouch.md +225 -131
- package/docs/integrations/hotjar.md +239 -90
- package/docs/integrations/intercom.md +239 -98
- package/docs/integrations/linkedin-insights.md +243 -113
- package/docs/integrations/logrocket.md +241 -123
- package/docs/integrations/matomo-analytics.md +256 -111
- package/docs/integrations/meta-pixel.md +197 -324
- package/docs/integrations/microsoft-clarity.md +233 -114
- package/docs/integrations/microsoft-uet.md +245 -110
- package/docs/integrations/mixpanel-analytics.md +252 -87
- package/docs/integrations/openai-pixel.md +441 -0
- package/docs/integrations/overview.md +95 -133
- package/docs/integrations/pirsch.md +249 -96
- package/docs/integrations/plausible-analytics.md +241 -100
- package/docs/integrations/posthog.md +353 -214
- package/docs/integrations/promptwatch.md +251 -81
- package/docs/integrations/reddit-pixel.md +226 -173
- package/docs/integrations/rudderstack.md +244 -187
- package/docs/integrations/rybbit-analytics.md +244 -91
- package/docs/integrations/segment.md +238 -92
- package/docs/integrations/snapchat-pixel.md +240 -110
- package/docs/integrations/tiktok-pixel.md +249 -81
- package/docs/integrations/umami-analytics.md +242 -95
- package/docs/integrations/vercel-analytics.md +242 -90
- package/docs/integrations/x-pixel.md +238 -104
- package/docs/integrations/youtube.md +354 -142
- package/docs/upgrade-v3.md +334 -0
- package/package.json +85 -78
- package/readme.json +2 -2
- package/dist/e2e-test-utils.cjs +0 -166
- package/dist/engine/compile.cjs +0 -130
- package/dist/engine/runtime.cjs +0 -475
- package/dist/registry.cjs +0 -423
- package/dist/resolve.cjs +0 -71
- package/dist/types.cjs +0 -69
- package/dist/vendors/_shared/attributes.cjs +0 -55
- package/dist/vendors/_shared/google-consent.cjs +0 -69
- package/dist/vendors/_shared/install-builders.cjs +0 -59
- package/dist/vendors/_shared/script-url.cjs +0 -78
- package/dist/vendors/ads-and-pixels/linkedin-insights.cjs +0 -89
- package/dist/vendors/ads-and-pixels/meta-pixel.cjs +0 -206
- package/dist/vendors/ads-and-pixels/microsoft-uet.cjs +0 -151
- package/dist/vendors/ads-and-pixels/reddit-pixel.cjs +0 -151
- package/dist/vendors/ads-and-pixels/snapchat-pixel.cjs +0 -131
- package/dist/vendors/ads-and-pixels/tiktok-pixel.cjs +0 -130
- package/dist/vendors/ads-and-pixels/x-pixel.cjs +0 -92
- package/dist/vendors/analytics/adobe-analytics.cjs +0 -90
- package/dist/vendors/analytics/ahrefs-analytics.cjs +0 -68
- package/dist/vendors/analytics/amplitude.cjs +0 -193
- package/dist/vendors/analytics/clearbit.cjs +0 -69
- package/dist/vendors/analytics/cloudflare-web-analytics.cjs +0 -73
- package/dist/vendors/analytics/databuddy.cjs +0 -144
- package/dist/vendors/analytics/fathom-analytics.cjs +0 -76
- package/dist/vendors/analytics/google-tag.cjs +0 -107
- package/dist/vendors/analytics/heap.cjs +0 -181
- package/dist/vendors/analytics/hightouch.cjs +0 -153
- package/dist/vendors/analytics/hotjar.cjs +0 -85
- package/dist/vendors/analytics/logrocket.cjs +0 -99
- package/dist/vendors/analytics/matomo-analytics.cjs +0 -232
- package/dist/vendors/analytics/microsoft-clarity.cjs +0 -138
- package/dist/vendors/analytics/mixpanel-analytics.cjs +0 -134
- package/dist/vendors/analytics/pirsch.cjs +0 -108
- package/dist/vendors/analytics/plausible-analytics.cjs +0 -122
- package/dist/vendors/analytics/posthog.cjs +0 -236
- package/dist/vendors/analytics/promptwatch.cjs +0 -70
- package/dist/vendors/analytics/rudderstack.cjs +0 -227
- package/dist/vendors/analytics/rybbit-analytics.cjs +0 -104
- package/dist/vendors/analytics/segment.cjs +0 -97
- package/dist/vendors/analytics/umami-analytics.cjs +0 -80
- package/dist/vendors/analytics/vercel-analytics.cjs +0 -94
- package/dist/vendors/functional/crisp.cjs +0 -143
- package/dist/vendors/functional/intercom.cjs +0 -89
- package/dist/vendors/tag-managers/google-tag-manager.cjs +0 -100
- package/docs/shared/react/guides/script-loader.md +0 -311
|
@@ -1,149 +1,111 @@
|
|
|
1
1
|
---
|
|
2
|
-
title:
|
|
3
|
-
description:
|
|
4
|
-
|
|
2
|
+
title: Overview
|
|
3
|
+
description: Find all c15t integrations for analytics, tag managers,
|
|
4
|
+
advertising, chat and embedded content.
|
|
5
5
|
group: integrations
|
|
6
6
|
---
|
|
7
|
-
Third-party tools are easy to paste into app code, but consent makes them part
|
|
8
|
-
of your privacy runtime. Analytics SDKs, ad pixels, tag managers, and chat
|
|
9
|
-
widgets can load remote code, store identifiers, send events, and keep running
|
|
10
|
-
after the first page view.
|
|
11
7
|
|
|
12
|
-
|
|
13
|
-
> Put consent-sensitive vendor tools in c15t instead of scattering script tags across your codebase. c15t becomes the place that decides when they can load, when they must stop, and which consent categories your UI needs to show.
|
|
8
|
+
## Choose an integration
|
|
14
9
|
|
|
15
|
-
|
|
10
|
+
Use the vendor helper from `@c15t/scripts` with your existing c15t provider or
|
|
11
|
+
script loader. Every helper returns a script configuration; importing one does
|
|
12
|
+
not install the vendor. Start with your [framework quickstart](https://c15t.com/docs/frameworks)
|
|
13
|
+
to connect Inth and render consent UI, then follow the vendor guide.
|
|
16
14
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
15
|
+
| Package manager | Command |
|
|
16
|
+
| :-------------- | :-------------------------- |
|
|
17
|
+
| npm | `npm install @c15t/scripts` |
|
|
18
|
+
| pnpm | `pnpm add @c15t/scripts` |
|
|
19
|
+
| yarn | `yarn add @c15t/scripts` |
|
|
20
|
+
| bun | `bun add @c15t/scripts` |
|
|
20
21
|
|
|
21
|
-
|
|
22
|
-
`
|
|
22
|
+
`@c15t/scripts` is a separate add-on. Keep the main `c15t` package for imports
|
|
23
|
+
such as `c15t/react` and `c15t/next`.
|
|
23
24
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
`functionality` when an enabled integration needs them;
|
|
29
|
-
* c15t blocks the script until consent is granted, or loads it with denied
|
|
30
|
-
defaults when the vendor has its own consent mode;
|
|
31
|
-
* c15t handles revocation by unloading the script or calling the vendor's
|
|
32
|
-
consent API;
|
|
33
|
-
* c15t runs vendor setup in the right order, including queue stubs, global
|
|
34
|
-
functions, data attributes, default page-view events, and consent updates.
|
|
25
|
+
Browse integrations by service type below. The tables distinguish helpers that
|
|
26
|
+
wait for permission from helpers
|
|
27
|
+
that load immediately and send consent signals. Read the vendor's revocation
|
|
28
|
+
behavior before choosing either approach.
|
|
35
29
|
|
|
36
|
-
|
|
37
|
-
lifecycles.
|
|
30
|
+
## Embeds
|
|
38
31
|
|
|
39
|
-
|
|
32
|
+
| Integration | v3 implementation | Loading behavior |
|
|
33
|
+
| ------------------------------- | --------------------------------------------- | --------------------------------------------------------- |
|
|
34
|
+
| [Google Maps](./google-maps.md) | Framework-specific consent-gated map iframe | Iframe mounts only while the chosen permission is allowed |
|
|
35
|
+
| [YouTube](./youtube.md) | Framework-specific consent-gated video iframe | Iframe mounts only while the chosen permission is allowed |
|
|
40
36
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
vendor snippets whenever c15t already supports the vendor.
|
|
37
|
+
Both guides include all nine framework examples. React and Svelte use `Frame`;
|
|
38
|
+
Vue conditionally renders the iframe, and Astro and JavaScript use the existing
|
|
39
|
+
kernel to control its DOM lifecycle. Embeds do not require `@c15t/scripts`.
|
|
45
40
|
|
|
46
|
-
|
|
47
|
-
[script loader](/docs/frameworks/javascript/script-loader) accepts scripts. You
|
|
48
|
-
usually choose the helper, provide the vendor ID, and pass the result to your
|
|
49
|
-
provider's `scripts` option. The vendor page explains anything else that still
|
|
50
|
-
matters, such as custom events, region settings, privacy modes, or ecommerce
|
|
51
|
-
payloads.
|
|
41
|
+
## Tag managers
|
|
52
42
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|Style|Use when|
|
|
58
|
-
|--|--|
|
|
59
|
-
|**Built-in helper** from `@c15t/scripts`|The vendor is listed below — start here.|
|
|
60
|
-
|**Plain `Script`**|One-off app code with simple load and callback behavior.|
|
|
61
|
-
|**Manifest-backed helper**|Reusable vendor integration with structured setup phases, queues, stubs, or a vendor consent API.|
|
|
62
|
-
|**Iframe / renderable integration**|Vendor exposes an iframe or React component, not just a script tag.|
|
|
63
|
-
|
|
64
|
-
Setup is the same shape in every framework: import the helper, call it with vendor options, and pass the result to the consent runtime through your provider's `scripts` option. See the framework guides for end-to-end snippets — [JavaScript](/docs/frameworks/javascript/script-loader), [React](/docs/frameworks/react/script-loader), [Next.js](/docs/frameworks/next/script-loader).
|
|
65
|
-
|
|
66
|
-
## Renderable Integrations
|
|
67
|
-
|
|
68
|
-
Maps and video embeds need a visible component as well as consent-aware loading.
|
|
69
|
-
The React and Next.js packages include components that own the placeholder,
|
|
70
|
-
vendor loading, and rendered surface. They are imported from the framework
|
|
71
|
-
package rather than `@c15t/scripts`.
|
|
72
|
-
|
|
73
|
-
* [Google Maps](/docs/integrations/google-maps)
|
|
74
|
-
* [YouTube](/docs/integrations/youtube)
|
|
43
|
+
| Integration | Helper | Category | Loading behavior |
|
|
44
|
+
| --------------------------------------------- | ------------------ | ----------- | ------------------------------------ |
|
|
45
|
+
| [Google Tag Manager](./google-tag-manager.md) | `googleTagManager` | `necessary` | Always loads; signals Google consent |
|
|
75
46
|
|
|
76
47
|
## Analytics
|
|
77
48
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
##
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
## Ads
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
[Read the guide →](/docs/integrations/building-integrations)
|
|
143
|
-
|
|
144
|
-
## Where To Next
|
|
145
|
-
|
|
146
|
-
* Read the script loader guide for your framework: [JavaScript](/docs/frameworks/javascript/script-loader), [React](/docs/frameworks/react/script-loader), [Next.js](/docs/frameworks/next/script-loader).
|
|
147
|
-
* Use the [Google Maps](/docs/integrations/google-maps) and [YouTube](/docs/integrations/youtube) components for built-in renderable integrations.
|
|
148
|
-
* See the [iframe blocking](/docs/frameworks/react/iframe-blocking) pattern for other visible embeds such as calendars and social widgets.
|
|
149
|
-
* Use [`has()`](/docs/frameworks/javascript/api/checking-consent) to conditionally run app code based on consent state.
|
|
49
|
+
| Integration | Helper | Category | Loading behavior |
|
|
50
|
+
| --------------------------------------------------------- | ------------------------ | -------------------------- | -------------------------------------------------------- |
|
|
51
|
+
| [Google Tag](./google-tag.md) | `gtag` | `measurement or marketing` | Always loads; signals Google consent |
|
|
52
|
+
| [Ahrefs Analytics](./ahrefs-analytics.md) | `ahrefsAnalytics` | `measurement` | Waits for effective permission |
|
|
53
|
+
| [Adobe Analytics](./adobe-analytics.md) | `adobeAnalytics` | `measurement` | Waits for effective permission |
|
|
54
|
+
| [Amplitude](./amplitude.md) | `amplitude` | `measurement` | Waits for effective permission |
|
|
55
|
+
| [Cloudflare Web Analytics](./cloudflare-web-analytics.md) | `cloudflareWebAnalytics` | `measurement` | Waits for effective permission |
|
|
56
|
+
| [Clearbit](./clearbit.md) | `clearbit` | `marketing` | Waits for effective permission |
|
|
57
|
+
| [Microsoft Clarity](./microsoft-clarity.md) | `clarity` | `measurement` | Gated initially; retains SDK and signals storage consent |
|
|
58
|
+
| [Databuddy](./databuddy.md) | `databuddy` | `measurement` | Always loads; switches SDK configuration |
|
|
59
|
+
| [Fathom Analytics](./fathom-analytics.md) | `fathomAnalytics` | `measurement` | Waits for effective permission |
|
|
60
|
+
| [Heap](./heap.md) | `heap` | `measurement` | Waits for effective permission |
|
|
61
|
+
| [Matomo Analytics](./matomo-analytics.md) | `matomoAnalytics` | `measurement` | Gated by default; optional consent mode |
|
|
62
|
+
| [Mixpanel](./mixpanel-analytics.md) | `mixpanelAnalytics` | `measurement` | Always loads; calls opt-in and opt-out APIs |
|
|
63
|
+
| [Hotjar](./hotjar.md) | `hotjar` | `measurement` | Waits for effective permission |
|
|
64
|
+
| [Hightouch](./hightouch.md) | `hightouch` | `measurement` | Waits for effective permission |
|
|
65
|
+
| [LogRocket](./logrocket.md) | `logRocket` | `measurement` | Waits for effective permission |
|
|
66
|
+
| [Plausible Analytics](./plausible-analytics.md) | `plausibleAnalytics` | `measurement` | Waits for effective permission |
|
|
67
|
+
| [PostHog](./posthog.md) | `posthog` | `measurement` | Configurable; default always loads |
|
|
68
|
+
| [Promptwatch](./promptwatch.md) | `promptwatch` | `measurement` | Waits for effective permission |
|
|
69
|
+
| [Pirsch](./pirsch.md) | `pirsch` | `measurement` | Waits for effective permission |
|
|
70
|
+
| [RudderStack](./rudderstack.md) | `rudderstack` | `measurement` | Gated by default; optional destination consent mode |
|
|
71
|
+
| [Segment](./segment.md) | `segment` | `measurement` | Waits for effective permission |
|
|
72
|
+
| [Rybbit Analytics](./rybbit-analytics.md) | `rybbitAnalytics` | `measurement` | Waits for effective permission |
|
|
73
|
+
| [Umami Analytics](./umami-analytics.md) | `umamiAnalytics` | `measurement` | Waits for effective permission |
|
|
74
|
+
| [Vercel Analytics](./vercel-analytics.md) | `vercelAnalytics` | `measurement` | Waits for effective permission |
|
|
75
|
+
|
|
76
|
+
## Functionality
|
|
77
|
+
|
|
78
|
+
| Integration | Helper | Category | Loading behavior |
|
|
79
|
+
| ------------------------- | ---------- | --------------- | ------------------------------ |
|
|
80
|
+
| [Crisp](./crisp.md) | `crisp` | `functionality` | Waits for effective permission |
|
|
81
|
+
| [Intercom](./intercom.md) | `intercom` | `functionality` | Waits for effective permission |
|
|
82
|
+
|
|
83
|
+
## Ads and pixels
|
|
84
|
+
|
|
85
|
+
| Integration | Helper | Category | Loading behavior |
|
|
86
|
+
| ---------------------------------------------- | ------------------ | ----------- | ------------------------------------------------- |
|
|
87
|
+
| [Meta Pixel](./meta-pixel.md) | `metaPixel` | `marketing` | Waits for effective permission |
|
|
88
|
+
| [OpenAI Pixel](./openai-pixel.md) | `openaiPixel` | `marketing` | Gated initially; retains SDK and signals consent |
|
|
89
|
+
| [Reddit Pixel](./reddit-pixel.md) | `redditPixel` | `marketing` | Gated initially; retains SDK and switches cookies |
|
|
90
|
+
| [TikTok Pixel](./tiktok-pixel.md) | `tiktokPixel` | `marketing` | Gated initially; retains SDK and signals consent |
|
|
91
|
+
| [LinkedIn Insight Tag](./linkedin-insights.md) | `linkedinInsights` | `marketing` | Waits for effective permission |
|
|
92
|
+
| [Microsoft UET](./microsoft-uet.md) | `microsoftUet` | `marketing` | Always loads; signals ad storage consent |
|
|
93
|
+
| [Snapchat Pixel](./snapchat-pixel.md) | `snapchatPixel` | `marketing` | Waits for effective permission |
|
|
94
|
+
| [X Pixel](./x-pixel.md) | `xPixel` | `marketing` | Waits for effective permission |
|
|
95
|
+
|
|
96
|
+
## Keep one owner per vendor
|
|
97
|
+
|
|
98
|
+
Remove direct snippets, tracking images, framework plugins and duplicate
|
|
99
|
+
SDK initializers before adding a helper. A vendor loaded outside c15t is not
|
|
100
|
+
controlled by the configuration here. Tag managers and data pipelines can load
|
|
101
|
+
other destinations, which need their own consent settings.
|
|
102
|
+
|
|
103
|
+
Initial loading and later event calls are separate. Some helpers keep an SDK
|
|
104
|
+
loaded to send consent updates. Others remove their script element without a
|
|
105
|
+
vendor stop callback. Neither approach can reverse code or requests that already
|
|
106
|
+
ran. Guard application events and verify automatic tracking after revocation.
|
|
107
|
+
|
|
108
|
+
Use [custom integrations](./building-integrations.md) for a service
|
|
109
|
+
without a helper, or an SDK your application already owns. Follow
|
|
110
|
+
[consent verification](../guides/verify-consent.md) for fresh sessions, rejection,
|
|
111
|
+
acceptance, revocation and navigation.
|