GDPR / CCPA / LGPD cookie-consent manager. The only integration that loads before the page is interactive so it can gate other scripts.
Configure
integrations.osanostringpathrequiredOsano Customer / site ID. Script injects via <Script strategy="beforeInteractive"> and loads from https://cmp.osano.com.
{
"integrations": {
"osano": "ABC-123-XYZ"
}
}Where to find your customer / site id
Osano dashboard → CMP → pick your consent manager → copy the customer/site ID from the install snippet (format ABC-123-XYZ).
Or set it from the dashboard — Editor → Configurations → AI & Advanced → Integrations.
Gotchas
Osano loads
beforeInteractiveon purpose — so other scripts can checkwindow.Osano.cm.consentbefore firing. Don't mix it withafterInteractiveworkarounds.If you also ship GA4 / Mixpanel / PostHog, configure Osano to gate the
Analyticsconsent purpose. Otherwise consent decisions don't propagate.
Loading behavior
Strategy:
beforeInteractive— injected synchronously in<head>before hydration so it can gate other scripts.CSP: if you enforce a Content Security Policy, allowlist
https://cmp.osano.cominscript-src.Removal: delete the
integrations.osanokey (or blank it in the dashboard) and redeploy — the script disappears on the next page load.
Related
Schema reference —
integrations— auto-generated field listing