Your Consent Banner Costs More Than the Tags It Is Supposed to Gate
A consent banner that loads 200 kilobytes of scripts before the shopper can read the page is a performance problem dressed as a compliance tool, and Google Consent Mode v2 does not require it.
A store installs a consent management platform, and the banner that appears is the smallest part of what shipped. Behind it, the CMP loads its own scripts, a scanner script, a tag manager, and a preference center, adding 200 kilobytes or more before the page's own content has finished rendering. The banner is supposed to gate tracking. Instead it has become the heaviest thing on the page.
The irony is that the weight is optional. Google Consent Mode v2, which has been mandatory since March 2024 for sites using Google Ads or Analytics, only needs the consent states signaled to Google tags. It does not need a 200 kilobyte banner to do it. The weight comes from vendors bundling features the store never asked for into the same script.
Where the weight comes from
The CMP script itself is usually 50 to 100 kilobytes, and it loads synchronously, because the vendor wants the banner up before any tag fires. Then comes the scanner, which re-crawls the page on every load to find new cookies, and the preference center, which loads its own styles and scripts even though most shoppers never open it.
The worst case is the CMP that loads its own tag manager, which then loads the marketing tags, which then load their own scripts. The consent tool becomes a second tag manager sitting on top of the first, and the page pays for both. The banner is the visible part; the tag chain behind it is the expensive part.
What it costs
Consent scripts run before the page's largest contentful paint element in most setups, which means they delay the metric Google uses to judge the page. A 200 kilobyte synchronous script on a mobile connection can add half a second or more to LCP, and the store pays for that in search visibility and in conversion, because slower pages convert worse.
The cost is also in the consent rate. A banner that takes two seconds to appear, then blocks the page while it renders, trains shoppers to click accept just to make it go away. The store gets consent, but it gets it from people who did not read the choice, which is the opposite of what the regulation wants.
Making the banner light
Load the CMP asynchronously and defer the preference center until someone opens it. The banner itself needs almost nothing: the text, two buttons, and the consent signal. The scanner should run on a schedule, not on every page load, and its results should be cached, not recomputed for every visitor.
Then measure it. Record the CMP's script weight and its effect on LCP in the same performance report as the rest of the page, and treat a CMP update that adds 50 kilobytes the same way you would treat a theme update that adds 50 kilobytes: as a regression to fix, not a vendor's problem to ignore.
Related reading: Consent Banners That Block the Add-to-Cart Button on Mobile, Cookie Banners and the Back Button: Consent That Breaks Navigation, Global Privacy Control: Is Your Banner Listening to the Signal?.
Frequently asked questions
How heavy is a typical consent banner?
The CMP script is usually 50 to 100 kilobytes, and the scanner, preference center, and tag chain behind it can push the total past 200 kilobytes, often loaded synchronously before the page's main content.
Does Google Consent Mode v2 need a heavy banner?
No. Consent Mode v2, mandatory since March 2024 for sites using Google Ads or Analytics, only needs the consent states signaled to Google tags. The weight comes from vendors bundling extra features into the same script.
How does a heavy banner hurt conversions?
Consent scripts usually run before the largest contentful paint element, so they delay LCP, which hurts search visibility and conversion. A slow banner also trains shoppers to click accept just to dismiss it, which is not meaningful consent.
What makes a consent banner light?
Load the CMP asynchronously, defer the preference center until someone opens it, run the cookie scanner on a schedule instead of every page load, and measure the CMP's script weight and LCP effect in the same report as the rest of the page.