A second cookie banner usually comes from your platform, a plugin, or an app, because a second 4.2.0 copy of TermsFeed Free Cookie Consent does nothing. Shopify, Squarespace, Wix, HubSpot, Blogger, BigCommerce, and WordPress consent plugins each ship a consent banner of their own. 2 consent banners ask the visitor twice and store 2 answers that sometimes disagree.

The fix depends on which system shows the other consent banner. Identify that system first, then follow the cause for your platform.

In English, the Cookie Consent banner carries the title "We use cookies" and the buttons "I agree", "I decline", and "Change my preferences". In implied mode, the buttons are "OK" and "Change my preferences". Its Preferences Center, titled "Cookies Preferences Center", shows the credits line "Cookie Consent by TermsFeed" in its footer.

On a page in any language, right-click each consent banner and choose Inspect. The Cookie Consent banner is the element with the id termsfeed-com---nb, and most elements inside it carry a class that starts with cc-nb-. The other consent banner carries the classes of its platform or plugin. Write down its id or one of its classes before you turn it off, to search for it afterward.

Shopify shows its own consent banner to visitors in the regions you select, and that consent banner feeds the Shopify Customer Privacy API. Shopify apps, the pixels you add in the Shopify admin, and Shopify analytics read their consent from that API, not from Cookie Consent.

Open "Settings", then "Customer privacy", in the Shopify admin, and click "Cookie banner". A consent banner set up there for your regions is the second consent banner on your site.

Click the horizontal menu icon, select "Remove cookie banner", and click the "Remove" button, as the Shopify customer privacy settings page describes. Select every region in "Customer privacy", so Shopify tools still wait for consent. Forward the answer from Cookie Consent to the Customer Privacy API, so Shopify apps still follow the choice: grants from scripts_specific_loaded with "callbacks_force": true, refusals from user_consent_saved. Set up that callback with Add a Cookie Banner to Shopify.

Squarespace shows its own consent banner, which you turn off in the cookies panel of your site settings. Squarespace names the panel "Cookies & visitor data" or "Cookies and data privacy", and the Squarespace cookies article links it.

Open the cookies panel. A switched-on toggle beside "Cookie Banner" means Squarespace shows its consent banner.

Switch off the toggle beside "Cookie Banner". Squarespace analytics never receives the answer from Cookie Consent, so select the "Restrict" option next to "Non-essential Cookies" under Advanced Privacy settings. Set the restriction, and move Google Analytics out of the built-in field, with Add a Cookie Banner to Squarespace.

Wix shows a consent banner managed under "Privacy & Cookies" in the site dashboard, and newer sites get the Usercentrics for Wix consent banner there. Wix tools and its own analytics follow that consent banner, not Cookie Consent.

Open "Privacy & Cookies" in the Wix dashboard. A switched-on "Show banner" toggle in the consent banner settings means Wix shows its consent banner.

Wix runs Google Analytics, Google Tag Manager, and the Meta and TikTok pixels only from Marketing Integrations, which follow the Wix consent banner. On a site that uses Wix Analytics or Marketing Integrations, keep the Wix consent banner on. Visitors then answer one consent banner for Wix tools and one for your Custom Code. On a site that uses none of them, turn off the "Show banner" toggle, as the Wix help page on Usercentrics for Wix describes. Read what Cookie Consent holds on Wix in Add a Cookie Banner to Wix.

A WordPress consent plugin adds its own consent banner beside the Cookie Consent banner. Each consent plugin blocks scripts its own way, and 2 consent tools together leave scripts held by one and released by the other.

Open the Plugins screen in the WordPress admin. An active consent plugin beside the plugin or block that loads Cookie Consent is the source of the second consent banner.

Deactivate every consent plugin that does not load Cookie Consent. The Cookie Consent kit of TermsFeed AutoTerms, under TermsFeed > Compliance Kits, does not add a second consent banner. Beside your block, it loads the same Cookie Consent 4.2.0 script a second time. Set the kit up instead of the block with Add a Cookie Banner to WordPress With TermsFeed AutoTerms, or keep your block with Add a Cookie Banner to WordPress.

HubSpot, Blogger, and BigCommerce show consent banners of their own, each turned off in a different place. The HubSpot tracking code follows the HubSpot consent banner, so HubSpot needs the answer from Cookie Consent once its own consent banner is off.

Read the id and classes you wrote down for the second consent banner, which usually carry the name of the platform that adds it. Turn off the consent banner of each platform with these settings.

  • HubSpot. Set window.disableHubSpotCookieBanner = true in a script near the top of the <head>, before the HubSpot consent banner loads, as the HubSpot consent banner API describes. Then forward the answer to HubSpot with the callback in Block HubSpot Tracking Until Consent.
  • Blogger. Google shows its own cookie notice to EU visitors of Blogger blogs. Add a script with cookieChoices = {}; to the <head> of the theme, as Blogger documents.
  • BigCommerce. With the trackers you need in the control panel integrations, keep the BigCommerce consent banner and remove Cookie Consent. BigCommerce states that its Google Analytics 4 integration sends Google Consent Mode signals from that consent banner. Otherwise, clear the "Cookie consent tracking" checkbox under "Your Customers' Privacy" in the Security and Privacy settings. Google describes that setting in Set up BigCommerce to obtain user consent.
  • Other platforms. Look for a cookie, privacy, or consent setting in the site settings, and turn off its consent banner.

The tracking to handle after you turn off the consent banner differs from platform to platform. Look up the setting and the tracking for each platform in Add a Cookie Banner to Other Platforms.

2 Cookie Consent 4.2.0 blocks on one page show one consent banner, because the first copy on the page keeps running and the second does nothing. A second loader snippet does nothing when the page already has Cookie Consent or the cookieconsent object that an earlier loader sets to queue run() calls. A second copy of the script file does nothing. The first run() keeps its options, and the options of the second block are ignored. Versions 4.1.0 and older lack that check: a self-hosted copy of one, added after 4.2.0, takes over the cookieconsent global, and later run() calls reach that old copy.

Open the page source with Ctrl+U and search for cookie-consent.js. A second match means the page carries 2 Cookie Consent blocks. Keep the block that carries the options you configured, or the Cookie Consent kit of the AutoTerms plugin when you manage Cookie Consent there, and remove the other.

Where you turned the other consent banner off, a clean setup shows the Cookie Consent banner alone in a new private window, on every page type of the site. Check the home page first, then the other page types. Publish your change and clear any page cache first.

  1. Close every private window, open a new one, open DevTools with F12, and load your home page.
  2. Open the Network tab, type cookie-consent in the filter, and confirm that cookie-consent.js appears once, from www.termsfeed.com or from your own server.
  3. Confirm that only one consent banner shows on the page.
  4. Open the Elements tab, search with Ctrl+F for the id or class you wrote down, as a selector such as #id or .class, and confirm that nothing matches.
  5. On Shopify, open "Settings", then "Customer privacy", and confirm no "Cookie banner" is set up, because test windows outside the regions you select do not show a Shopify consent banner.
  6. Repeat the check on a product page, a blog post, and the contact page, and confirm one consent banner on each.