# Cookie Consent Banner

> Add a free cookie consent banner to any website, with Accept all and Reject all side by side, per-category choices and Google Consent Mode v2. Free plan.

- Canonical URL: https://www.zyff.app/widget-builder/cookie-consent
- Status: working
- Price: free to build and preview with no account, and no watermark; the EMBED CODE requires a free sign-in, because an embedded widget must have an owner to meter its monthly views against. Paid plans raise the saved-widget and monthly-view ceilings — see https://www.zyff.app/pricing
- Processing: runs on Zyff's servers; input is held in memory for the request and never kept

Zyff's cookie consent banner asks visitors before your analytics and marketing scripts run, and then honours the answer. Accept all and Reject all sit side by side with the same weight, and a preferences dialog lets a visitor allow some categories and not others: preferences, analytics and marketing, with strictly necessary always on. Scripts you tag stay switched off until their category is allowed, Google tags are told the same thing through Consent Mode v2, and the answer is kept in one cookie on your own domain that Zyff never receives. Be clear about what it is not: it does not make a site GDPR- or CCPA-compliant, because that depends on everything else the site loads and says, and it is not a Google-certified CMP, so it is not for AdSense, Ad Manager or AdMob publishers in the EEA and UK. The output is one div and one script tag that works in WordPress, Shopify, Wix, Squarespace, Webflow or a hand-written HTML page alike.

## How to add a cookie consent banner to your website

1. **Choose where it sits** — A full-width bar along the bottom or top of the screen, a compact box in a corner, or a centred dialog over a dimmed page.
2. **Write the wording** — The heading, the message, a link to your cookie policy, and what each category is used for on your site. Switch off any category you do not use.
3. **Tag the scripts that need consent** — Change each analytics or marketing tag to type="text/plain" and add data-zyff-consent with its category, so it stays off until the visitor allows it.
4. **Copy the embed code** — Paste the container div and script tag on every page, just before your closing body tag, or download the standalone HTML file.

## Features

- **Accept and Reject, side by side**: The two buttons are drawn from one style and cannot be set apart, so refusing is exactly as easy as accepting. An emptied label goes back to its default rather than leaving a blank button.
- **Scripts stay off until allowed**: Tagged scripts are inert until their category is granted, then run in page order. Embeds such as videos can be held back the same way with data-src.
- **Google Consent Mode v2**: Sends Google's default command with everything denied the moment it loads, and an update when the visitor chooses, mapping analytics and marketing to the four v2 consent types.
- **Easy to change your mind**: A small cookie settings button stays on the page after the choice, and any link of yours can open the preferences too. Withdrawing a category reloads the page so nothing it allowed keeps running.
- **No consent log, no identifier**: The answer lives in one first-party cookie on your domain, holding only the choices and their date. Zyff never receives it and keeps no record of anyone's choice.
- **In your visitors' language**: Every word of the banner, including the fixed category names, is available in 32 languages on every plan, and Arabic and Hebrew render right to left.

## Specifications

| Property | Value |
| --- | --- |
| Layouts | Bottom or top bar, corner box, centred dialog |
| Categories | 4: strictly necessary (always on), preferences, analytics, marketing |
| Remembers the answer | 1-365 days, in one first-party cookie |
| Script gating | type="text/plain" plus data-zyff-consent, and data-src for iframes |
| Google Consent Mode | v2: default and update commands |
| Languages | 32, free on every plan |
| Compliance | Not a compliance guarantee, and not a Google-certified CMP |
| Output | One container div plus one script tag, or a downloadable HTML file |
| Price | Free to build; the free plan includes 1 saved widget and 200 views a month (resets on the 1st, UTC). Paid plans from ₹249 ($3) a month |

## Frequently asked questions

**How do I add a cookie consent banner to my website?**

Choose a layout in Zyff's builder, write the wording, then sign in to get the embed code and paste it on every page before the closing body tag. Then tag each analytics or marketing script with type="text/plain" and data-zyff-consent naming its category, so it waits for consent. Building and previewing are free; the embed code needs a free Google sign-in, because a widget that runs on your site has to belong to an account.

**Will this make my website GDPR-compliant?**

No, and no banner can on its own. It collects and honours consent, but compliance also depends on what else your site loads, what your privacy notice says, and where you and your visitors are. Treat it as the mechanism for asking and honouring, and check the rest with someone who knows your jurisdiction.

**Does the banner block cookies by itself?**

Only for the scripts you tag. A browser runs every ordinary script tag the moment the page loads, whatever a banner says, so each script that needs consent is changed to type="text/plain" with data-zyff-consent naming its category. The banner switches it on once that category is allowed. Untagged scripts keep running as they do today.

**Does it support Google Consent Mode v2?**

Yes. It sends Google's consent default command with every type denied except security storage as soon as its script runs, and a consent update when the visitor chooses. Analytics maps to analytics_storage and marketing to ad_storage, ad_user_data and ad_personalization. It is not a Google-certified CMP, so it is not suitable where Google requires one: AdSense, Ad Manager and AdMob in the EEA and UK.

**Where is the visitor's choice stored?**

In one first-party cookie on your own domain, holding which categories were allowed and when, with no identifier. Zyff never receives it and keeps no log of anyone's choice. The answer is asked for again after the number of days you set, or sooner if you start asking about a new category.

**Can visitors change their mind?**

Yes. A small cookie settings button stays on the page after they choose, and any link on your site with data-zyff-consent-open opens the preferences as well. Withdrawing a category reloads the page, because a script that has already run cannot be stopped any other way.

**Does every page view count against my monthly views?**

No. A view is counted only on a page load where the banner or its preferences actually appear. A returning visitor who has already chosen runs the script on every page and costs nothing. If the monthly views do run out, the banner pauses and every tagged script stays blocked until they reset or you upgrade.

**Is the cookie consent banner really free?**

Yes. Building it, writing it and embedding it are free on the free plan, with no trial and no card, and every language and every behaviour is included: the categories, script gating, Consent Mode, the settings button and how long the answer is remembered. The free plan includes 200 widget views a month, and a free embed carries a small "Cookie consent by Zyff" link. A paid plan adds the centred dialog, full colour, font and sizing control, more views, and removes the attribution link.

## Related tools

- [Age Verification Widget](https://www.zyff.app/widget-builder/age-verification): An age confirmation gate that remembers the answer.
- [Popup Widget](https://www.zyff.app/widget-builder/popup): A popup on delay, scroll or exit intent, with frequency capping.
- [Announcement Bar Widget](https://www.zyff.app/widget-builder/announcement-bar): Pin a notice to the top or bottom of every page.
