# How to add a cookie consent banner to Unbounce landing pages

> In Unbounce, add the snippet under Settings, then Script Manager, with the placement set to Head, on your custom domain: it then runs on every page published there. Script Manager scripts load after page-level scripts, so mark the scripts in your pages with type="text/plain" and a data-cq-category, and use either Unbounce's built-in cookie banner or Cookiequiet on a domain, not both.

Source: https://cookiequiet.com/platforms/unbounce
Published: 2026-10-21
Publisher: Cookiequiet

## Steps

1. **Copy your snippet** In the Cookiequiet dashboard, open your website and copy the install snippet: one script tag with your site key, data-consent-mode and data-auto-block set to 1, and defer.
2. **Open Script Manager** In Unbounce, click Settings in the left menu, then Script Manager, then Add a Script. Script Manager needs your own custom domain; it does not work on unbouncepages.com.
3. **Add the snippet in the Head** Name the script, set Placement to Head and Included on to both main pages and confirmation dialogs, paste the snippet, tick your domain and click Save Changes.
4. **Mark page-level scripts** Script Manager scripts load after the scripts added in each page. In every page's JavaScripts, change tracking scripts to type="text/plain" with a data-cq-category, or move them to Script Manager below the snippet, marked.
5. **Turn off Unbounce's cookie banner on the domain** Under Settings, then Cookie Banner, switch the banner off for the domain that uses Cookiequiet and click Publish, so visitors see one banner.
6. **Add the Cookie preferences link** In the builder, add a text link or button whose action is Go to URL with #cq-preferences, opening in the same tab, then republish the page.
7. **Test on the custom domain** Open a published page on your domain in a private window, click Reject all and check that no _ga or _fbp cookie is set. Accept all, reload, and check the consent log.

## Where to paste the snippet in Unbounce

Unbounce's **Script Manager** applies a script to every page of one or more custom domains, including pages you publish later. Click **Settings** in the left menu, then **Script Manager**, then **Add a Script**, and:

1. Name the script and click **Add Script Details**.
2. Set **Placement** to **Head**.
3. Set **Included on** to main pages and confirmation dialogs (both).
4. Paste the snippet:

```html
<script src="https://cookiequiet.com/cq.js" data-site="YOUR_SITE_KEY" data-consent-mode="1" data-auto-block="1" defer></script>
```

5. Tick the domains on the right and click **Save Changes**.

Script Manager requires your own custom domain: Unbounce does not support it on the `unbouncepages.com` test domain, so connect a domain before you go live with the banner.

## Why page-level scripts must be marked

Unbounce documents that global scripts from Script Manager load after the scripts added in your page variants. A Google tag or Meta Pixel pasted into a page's **JavaScripts** panel therefore runs before Cookiequiet, and it would set its cookies before anyone answers the banner. Two ways to fix it:

- **Mark them where they are.** Change each opening tag to `<script type="text/plain" data-cq-category="analytics">` (or `marketing` for ad pixels). A marked script does not run until Cookiequiet starts it after consent, whatever its position.
- **Move them to Script Manager**, below the snippet, marked the same way, and remove them from the pages. Unbounce recommends removing page-level copies when you move a script, so it does not run twice.

For the Google tag, both script tags change:

```html
<script type="text/plain" data-cq-category="analytics" src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXX"></script>
<script type="text/plain" data-cq-category="analytics">
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());
  gtag('config', 'G-XXXXXXX');
</script>
```

Conversion scripts on confirmation dialogs or thank-you pages need the same marking. If you run Google tags through Google Tag Manager, Cookiequiet's `data-consent-mode="1"` sets Google's defaults to denied and its `cq_consent` dataLayer event can trigger the tags; see the [Google Tag Manager guide](/platforms/google-tag-manager). More patterns are in the [guide to blocking scripts until consent](/guides/block-scripts-until-consent).

## Unbounce's cookie banner or Cookiequiet?

Unbounce has a built-in banner under **Settings**, then **Cookie Banner**, switched on per domain. It offers Accept All, Reject All and Manage Preferences, with Strictly Necessary, Experience Consistency (the cookie that shows a returning visitor the same A/B or Smart Traffic variant), Analytics, Marketing and Preferences. When it is on, Unbounce serves its own cookies only after consent, and it sets Google Tag Manager's consent state to denied until the visitor chooses. Unbounce also lists its limits: the banner's style cannot be changed, it is in English with no translation setting, and it does not manage third-party cookies such as those of ad platforms.

Use one banner per domain. If you choose Cookiequiet, switch Unbounce's banner off for that domain and click **Publish**. Be aware of the trade-off: Unbounce's own cookies (A/B variant consistency and visitor counting) are controlled by its banner only, so without it they are set as before. In exchange you get a banner in 24 languages styled to your brand, a consent log, a cookie scan and policies written from it, and Consent Mode v2 for the tags you mark. The free [cookie scanner](/tools/cookie-scanner) lists what your pages set either way.

## How to add the Cookie preferences link

In the Classic Builder, select a text link or button, open its action, choose **Go to URL**, enter `#cq-preferences` and set the target to the same tab, then save and republish. Unbounce documents the same pattern for relaunching its own banner, and Cookiequiet opens its preferences centre from any link with that address.

## How to test

1. Publish, then open a page on your custom domain in a private window.
2. Click **Reject all** and check the cookies in the developer tools: `cq_consent` and nothing from Google or Meta.
3. Submit a form and check the confirmation dialog: no conversion pixel fires before consent.
4. Clear the cookies, click **Accept all**, reload: the marked tags run. Check the consent log in the dashboard.

Cookiequiet is free for one website with geo-targeting included, and Starter costs €3 per website per month with no pageview limit, however much paid traffic your pages get.

## Questions

### Why can I not use Script Manager on my Unbounce page?

Script Manager works only on your own custom domain, not on the unbouncepages.com test domain. Connect a domain in Unbounce, then add the snippet to it in Script Manager.

### Why does my page's Google tag run before the banner?

Unbounce loads page-level scripts before Script Manager scripts. Mark the page's tags with type text/plain and a data-cq-category, or move them to Script Manager marked, so they wait for consent.

### Should I keep Unbounce's built-in cookie banner?

Use one banner per domain. Unbounce's banner is the only one that controls Unbounce's own A/B testing cookies. Cookiequiet adds languages, styling, a consent log, scans and policies, and controls the tags you mark.

### Does the banner appear on confirmation dialogs?

Yes, when Included on is set to both main pages and confirmation dialogs in Script Manager. Mark any conversion script on those dialogs so it waits for consent.

## Sources

- [Unbounce Documentation: Adding Your Custom Scripts Using Script Manager](https://documentation.unbounce.com/hc/en-us/articles/360035250491-Adding-Your-Custom-Scripts-Using-Script-Manager)
- [Unbounce Documentation: Adding a Cookie Banner to Unbounce](https://documentation.unbounce.com/hc/en-us/articles/13204374131476-Adding-a-Cookie-Banner-to-Unbounce)
- [Unbounce Documentation: Does Order Matter When I'm Adding Custom Scripts to My Landing Page?](https://documentation.unbounce.com/hc/en-us/articles/360028392612)
