Cookie Consent Banner for Your Website

New

Ask visitors before analytics and marketing scripts run, with Accept all and Reject all side by side and a preferences dialog for each category. The scripts you tag stay off until they are allowed, and Google tags hear the answer through Consent Mode v2. Free to build and preview; the embed code needs a free Google sign-in, and the free plan includes 1 saved widget and 200 views a month (resets on the 1st, UTC).

What this does not do. It helps you collect and honour consent, but it does not make your site GDPR- or CCPA-compliant: that depends on everything else your site loads, what your privacy notice says and where your visitors are. It is also not a Google-certified CMP, so it is not suitable for AdSense, Ad Manager or AdMob publishers in the EEA and UK, who are required to use one.
Sets the language of the widget's own text — buttons, dates and notices. Text you type stays exactly as you write it.

This banner asks for consent and honours the answer. It does not make your site GDPR- or CCPA-compliant: that depends on everything else your site loads and says. It is also not a Google-certified CMP, so it cannot be used for AdSense, Ad Manager or AdMob in the EEA and UK.

Template

A full-width strip along the edge of the screen. Covers the least of the page.

Bar position

What it says

Linked at the end of the message, and in the preferences.

Buttons

Accept and Reject always look the same, side by side. Regulators treat a bright Accept beside a faint Reject as a dark pattern, so no setting here can make one stand out. An emptied label goes back to its default rather than leaving a blank button.

Live preview
Cookies on this site
Some cookies are needed for this site to work. With your permission we would also like to use others, for example to understand how the site is used. You can change your choice at any time.

Embed on your site

Save to get your embed code
Your widget is ready. Save it above — the code appears here, and editing the widget later updates every site it is embedded on.

The banner releases only scripts you have tagged type="text/plain" data-zyff-consent="analytics" (or preferences / marketing). Anything left untagged runs as it does today. See “Holding scripts back until consent” below.

Holding scripts back until consent

A banner on its own changes nothing: a script tag runs the moment the page loads, whatever the visitor clicks. So tag each script that needs consent. Change its type to text/plain, which browsers do not run, and add data-zyff-consent naming its category: one of preferences, analytics, marketing. Once the visitor allows that category, the banner swaps the tag for a real one, in page order. Anything you leave untagged keeps running exactly as it does today.

<!-- Before: runs on every page load -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXX"></script>

<!-- After: runs only once the visitor allows analytics -->
<script type="text/plain" data-zyff-consent="analytics" async
        src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXX"></script>
<script type="text/plain" data-zyff-consent="analytics">
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());
  gtag('config', 'G-XXXXXXX');
</script>

<!-- An embed that sets marketing cookies: data-src, not src -->
<iframe data-zyff-consent="marketing" data-src="https://www.youtube.com/embed/VIDEO_ID"></iframe>

Several names, separated by spaces, mean the script needs all of them. A misspelt name never matches, so that script stays off and a warning in the browser console names it. A script that loads as a module keeps data-type="module".

To give visitors a way back from a link of your own, such as one in your footer, add data-zyff-consent-open to it. Clicking it opens the preferences.

<a href="#" data-zyff-consent-open>Cookie settings</a>

Where the answer is kept, and what Zyff sees

The visitor’s answer is stored in a single first-party cookie on your own domain, named zyff_consent, holding which categories they allowed and when. It carries no identifier. Zyff never receives it and keeps no log of anyone’s choice; the banner’s only request to Zyff fetches its own settings and sends no cookies.

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 you nothing. If the banner cannot load, is switched off, or your account’s monthly views are used up, every tagged script stays blocked until it can: the banner never guesses on a visitor’s behalf.

About the Cookie Consent Banner

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.

What the Cookie Consent Banner does

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.

At a glance

LayoutsBottom or top bar, corner box, centred dialog
Categories4: strictly necessary (always on), preferences, analytics, marketing
Remembers the answer1-365 days, in one first-party cookie
Script gatingtype="text/plain" plus data-zyff-consent, and data-src for iframes
Google Consent Modev2: default and update commands
Languages32, free on every plan
ComplianceNot a compliance guarantee, and not a Google-certified CMP
OutputOne container div plus one script tag, or a downloadable HTML file
PriceFree 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.

Guides for this tool

Install it on every page, by platform