Cookiebot banners need a domain group ID
Cookiebot documents uc.js?cbid= as one install. The other install puts the UUID in data-cbid, not the query. The Cookie Declaration on /{cbid}/cd.js is vendor/cookiebot-declaration.
cbid is a UUID
Cookiebot documents the domain group ID as a UUID. A query install with a non-UUID cbid is not a banner.
What this pack matches
Rules
Codes are stable. A finding in CI, MCP, or the playground lands on the same id.
| Field | Required | What it checks | Rule ids | Source |
|---|---|---|---|---|
cbid |
recommended | It is the Cookiebot domain group ID. Cookiebot documents uc.js?cbid= as one install. The other install puts the same UUID in data-cbid, not the query. Fix: For a query install, put the domain group ID on the URL as cbid=. For a tag-attribute install, data-cbid carries it instead. | vendor.cookiebot.param.cbid.missingvendor.cookiebot.param.cbid.emptyvendor.cookiebot.param.cbid.invalid |
docs |
type |
optional | Documented dialog-type override. The loader passes nonempty query values to the banner without changing case. Presence diagnostic severity: warning. Fix: Use a documented dialog type, or omit the override to use the account or HTML configuration. | vendor.cookiebot.param.type.emptyvendor.cookiebot.param.type.invalid |
docs |
level |
optional | Documented consent-level override. The loader passes nonempty query values to the banner without changing case. Presence diagnostic severity: warning. Fix: Use implied or strict, or omit the override to use the account or HTML configuration. | vendor.cookiebot.param.level.emptyvendor.cookiebot.param.level.invalid |
docs |
framework |
optional | The pinned 2.140.0 loader accepts these case-insensitive framework aliases and normalizes them to its current TCF implementation. The current support guide recommends TCF; the older developer table names IAB. Presence diagnostic severity: warning. Evidence: vendor template. Fix: Use framework=TCF for the current documented integration, or a supported legacy alias. HTML data-framework remains a separate carrier. | vendor.cookiebot.param.framework.emptyvendor.cookiebot.param.framework.invalid |
docs |
blockingmode |
optional | Documented automatic or manual cookie blocking. The loader compares auto without case sensitivity. A none query value does not undo automatic blocking already enabled by the HTML data-blockingmode attribute. Presence diagnostic severity: warning. Fix: Use auto for automatic blocking or none for manual markup, or carry the setting in data-blockingmode. | vendor.cookiebot.param.blockingmode.emptyvendor.cookiebot.param.blockingmode.invalid |
docs |
consentmode |
optional | Documented Google Consent Mode disable override. The loader accepts disabled without case sensitivity. Omission preserves the configured default. Presence diagnostic severity: warning. Fix: Use disabled to disable Google Consent Mode, or omit this override. | vendor.cookiebot.param.consentmode.emptyvendor.cookiebot.param.consentmode.invalid |
docs |
consentmode-dataredaction |
optional | The pinned 2.140.0 loader reads this exact query key or the data-consentmode-dataredaction attribute and explicitly warns for other populated values. The accepted strings are case-sensitive. Presence diagnostic severity: warning. Evidence: vendor template. Fix: Use true, false or dynamic, or omit the override to retain the configured value. | vendor.cookiebot.param.consentmode-dataredaction.emptyvendor.cookiebot.param.consentmode-dataredaction.invalid |
docs |
Validate a payload
pixellint validate url "$ARTIFACT" --rulepack vendor/cookiebot
Try this failing payload in the playground. An example with a validation finding.
https://consent.cookiebot.com/uc.js
cargo install pixellint
·
npm install pixellint