Stay privacy compliant with an easy-to-customize cookie consent bar. Show a consent banner to visitors in regulated regions, block tracking apps until consent where the law requires it, and keep an audit log of every decision.
How it works
The Cookie bar shows a consent banner and acts as the consent gate for your tracking apps (Meta Pixel, TikTok Pixel, Google Analytics, and so on). It applies one of two consent models depending on the visitor’s region:
-
Opt-in (EU/EEA and the UK, plus any region you target manually) — tracking apps do not load until the visitor accepts. No consent, no tracking.
-
Opt-out (California) — tracking apps load right away, and a rejection tells them to stop tracking.
The visitor’s choice is remembered for 180 days, so the banner is only shown until they decide. Every explicit accept or reject is also recorded in an append-only consent log, giving you an audit trail for legal and compliance purposes.
The Cookie bar works everywhere: funnels, blogs, customer portals, and stores.
Legacy pages are not supported
This app does not work properly on pages built with the legacy (v1) page builder. You must upgrade those pages to the new editor first. The legacy builder reaches end of life on October 31st, and upgrading will not be possible after that date. Upgrading is free, automatic, and takes one click. See the Upgrading legacy pages section below.
Set it up once, at the account level
The Cookie bar is different from most apps: it’s the one app we recommend configuring globally, on the Global Apps page (top-right of the header → Apps), instead of per funnel.
Why: your cookie banner should look and behave the same across your whole workspace. Configure it once globally, then simply enable it inside each funnel, blog, portal, or store where you want it. The global configuration applies automatically — nothing else to set up.
Step 1: Configure globally
-
Open the Global Apps page.
-
Find Cookie bar and open its settings.
-
Configure the banner (see Settings below) and save.
Step 2: Enable it where you need it
-
Open your funnel, blog, portal, or store and go to its Apps tab.
-
Click Cookie bar and turn on the toggle. The status changes from Inactive to Active.
-
Click Save changes. The banner now runs with your global configuration.
Overriding the global config (optional)
If one funnel needs a different setup — a different language, theme, or region behavior — turn on Override global config inside that funnel’s Cookie bar panel. This unlocks the full settings for that funnel only; its settings are applied on top of the global ones. All other funnels keep following the global configuration.
Settings
Regions
Controls where the banner is shown and how tracking is gated:
-
Automatic (recommended) — visitors from the EU/EEA and the UK get the opt-in banner: tracking apps are blocked until they accept. Visitors from California get the opt-out banner: tracking loads immediately, and they can reject at any time to stop it. Visitors everywhere else see no banner and are tracked normally. This covers GDPR, UK GDPR, and CCPA/CPRA behavior out of the box.
-
Manual — pick the exact countries where the banner is shown (you can select “EU” as a group). All manually targeted regions use the strict opt-in model: tracking is blocked until the visitor accepts.
Show when
When the banner appears, for example on the visitor’s first visit. Once a visitor accepts or rejects, the banner doesn’t show again for 180 days.
Dismiss options
What closes the banner: on accept, on reject, or both. This also controls which buttons are shown — if you select only On accept, the Reject button is removed from the banner, and the other way around. Selecting both keeps both buttons.
Position
Where the banner sits on the page: bottom or top.
Theme
The banner’s visual style: light or black.
Title and Message
The banner’s heading and text. Defaults are provided (“We value your privacy” and a standard cookies message), and you can fully customize both.
Cookie policy label and link
Add a link to your cookie policy page. The label is the link text shown in the banner. The link only appears when both the label and the URL are set.
Accept and Reject buttons
Customize the button labels (defaults: “Accept all” and “Reject all”).
Use the Preview button at the top of the settings panel to see exactly how the banner will look before saving.
For developers: consent API
The Cookie bar exposes a small JavaScript API on the funnelish global, useful if you run custom scripts on your pages:
-
funnelish.hasConsent()— returnstruewhen tracking is currently allowed for this visitor. -
funnelish.consent— the current consent state:{ granted, status, mode, required }. -
funnelish.openCookieBar()— re-opens the banner so the visitor can change a saved choice. -
funnelish.on('consent', fn)— runs your callback when consent is resolved and again on every change. Use this to gate your own custom tracking code the same way the built-in apps do.
A common use: add a “Cookie settings” link in your page footer that calls funnelish.openCookieBar(), so visitors can change their choice at any time — several privacy laws require offering this.
<a href="#" onclick="funnelish.openCookieBar(); return false;">Cookie settings</a>
Upgrading legacy pages
The legacy (v1) page builder is being deprecated and reaches its end of life on October 31st. After that date, pages can no longer be upgraded, so we strongly recommend doing it now.
Upgrading takes one click:
-
Open your funnel and find the page.
-
Click the edit (pencil) icon.
-
Choose Upgrade to new editor (recommended).
The upgrade is free and automatic. Your page is converted to the new page builder, and you get access to all the latest features, including this app.
FAQ
Do I have to configure it in every funnel?
No — that’s the point. Configure it once at the account level, then just enable it in each funnel, blog, portal, or store. Only use Override global config when a specific funnel genuinely needs different settings.
Does it block tracking pixels before consent?
Yes, in opt-in regions. Visitors from the EU/EEA, the UK, and any manually targeted country must accept before tracking apps like Meta Pixel, TikTok Pixel, and Google Analytics are loaded. For California visitors, tracking loads immediately and stops if they reject (the opt-out model that CCPA follows).
Will it show to all my visitors?
No. With Automatic, only visitors from the EU/EEA, the UK, and California see it — everyone else browses normally with no banner. Use Manual regions if you want different coverage.
Can visitors change their choice later?
Yes. Their decision is saved for 180 days, and you can add a “Cookie settings” link that calls funnelish.openCookieBar() to let them change it at any time (see the developer section above).
Is there a record of consents for compliance?
Yes. Every explicit accept or reject is recorded in an append-only consent log, so you have an audit trail of decisions.
Does this make me fully GDPR/CCPA compliant?
The Cookie bar handles consent collection, tracking gating, and the audit log, which are core requirements. Full compliance also depends on your privacy policy, data handling, and other practices — we recommend reviewing your obligations with a legal advisor.
Which contexts support it?
All of them: funnels, blogs, customer portals, and stores.
Troubleshooting
The banner isn’t showing
-
Check the app toggle is Active in that funnel and you clicked Save changes.
-
Check your Regions setting — with Automatic, the banner only shows to visitors from the EU/EEA, the UK, and California. Use a VPN or switch to Manual regions to test from elsewhere.
-
If you already accepted or rejected once, the banner won’t show again for 180 days. Test in an incognito/private window.
-
Check the page is built on the new page builder, not the legacy editor.
Settings changes aren’t applying in a funnel
-
If Override global config is on in that funnel, its settings win over the global ones. Turn it off to follow the global configuration, or edit the funnel-level settings instead.
-
Check the app wasn’t disabled at the account level on the Global Apps page — disabling it globally turns it off everywhere.
A button is missing from the banner
- Check your Dismiss options — selecting only one option hides the other button. Select both to show both buttons.
Related topics
Got feedback or found an issue with this app? Use the Let us know link inside the app panel, or reply below if it’s related to this topic. For anything else, post your question in the Ask the community category and we’ll help you out.




