How vendor consent bridges work
The shared mechanism behind the per-vendor integrations, including what fires them and what they send.
Some vendors can't be handled by blocking a script tag. They're already on the page, or they're part of the platform the site runs on, and the only honest way to stop them collecting data is to tell them so in their own API. That's what a consent bridge does.
CookieBeam ships bridges for Meta, Microsoft Ads, Microsoft Clarity, HubSpot, Matomo, Shopify, Pardot, Adobe, and Webflow. Each one listens for the same event and translates the visitor's choice into whatever call that vendor understands.
What fires them
The core runtime dispatches cookiebeam:consentUpdate on window after it resolves consent. Every bridge listens there.
One consequence catches people out: that event comes from the Consent Mode integration, which returns early unless Consent Mode is enabled on the banner. If you turn Consent Mode off, the bridges stop receiving updates. Turn it on even if you don't run Google tags, because it's what drives the event.
What each bridge receives
Bridges don't see your categories directly. They see two resolved values derived from the Consent Mode v2 keys:
| Bridge value | Derived from |
|---|---|
adStorage | granted when any of ad_storage, ad_user_data or ad_personalization is granted |
analyticsStorage | granted only when analytics_storage is granted |
Anything that isn't the string granted counts as denied, so a malformed or missing payload fails closed rather than signalling consent.
The collapse of three ad keys into one adStorage is deliberate. Most vendors have a single advertising switch, and granting any of the three means Google-style ad processing is permitted, so a single granted key is enough to let the vendor proceed.
Turning them on and off
All nine default to on. A banner theme saved before these toggles existed has no stored preference, and the resolver reads absence as on, so upgrading doesn't silently disable anything.
To change one:
- Open the banner's App Integrations page.
- Find Vendor Consent Signals.
- Toggle the vendor.
- Publish the banner.
A bridge you switch off isn't shipped in the published script at all. It's absent rather than present and inert, which keeps the bundle smaller and makes it obvious in the source whether a vendor is wired up.
Verifying
Load the site with a clean profile, make a choice, and watch the console:
window.addEventListener('cookiebeam:consentUpdate', function (e) {
console.log(e.detail.consentMode);
});
If nothing logs after you accept or reject, the problem is upstream of the bridges. Check that Consent Mode is enabled on the published banner before looking at any individual vendor.