Appearance
Install the banner
Add one script tag to every page, as high in the <head> as you can:
html
<script src="https://cdn.cookiewave.com/cli/YOUR_SITE_ID/script.js"></script>Replace YOUR_SITE_ID with the ID shown in your CookieWave dashboard under Settings → Installation. That is the whole installation — the banner, its per-site configuration and geo targeting all load from the edge behind that one URL.
Put it first
Place the tag before your analytics and advertising tags. The banner sets Consent Mode defaults the moment it loads, and a tag that fires before those defaults exist will use its own default instead.
The snippet never changes
The URL is scoped to your site ID and stays the same for the life of the site. When you enable a feature that needs a different build — for example the IAB TCF CMP — the edge swaps the delivered bundle for you. You do not re-copy the snippet.
Verifying
Load a page and open your browser's dev tools:
- Network → a request to
cdn.cookiewave.com/cli/YOUR_SITE_ID/script.jsreturning200. - Console → no
CookieWavewarnings. - The banner appears (unless you already have a stored decision, or the visitor's region is outside your targeting).
If the banner does not appear, the most common cause is a stored consent cookie from a previous visit — clear cw_consent and reload.
What it stores
| Cookie | Purpose | Lifetime |
|---|---|---|
cw_consent | The visitor's category choices | per your config |
cw_consent_id | Random ID linking a visitor's consent events | same |
On sites running the IAB TCF CMP, the standard TCF cookies (euconsent-v2, addtl_consent) are written too.
All four are strictly necessary — a record of a consent decision is exempt from consent itself — so they arrive in your cookie list already categorised, with a ready-made description you can publish as is or reword. The scanner never guesses at them.
Next
- Integrations overview — make your tags respect the consent decision.
- Consent records — where the decisions are logged, and how to export them as proof.