Real performance problems I see in Webflow projects and practical solutions that actually work. GTM, cookie scripts, CSS loading, and more.

Webflow sites can be fast. Really fast. But I keep seeing the same performance issues over and over again—and they're almost never Webflow's fault.

After fixing dozens of slow sites, I've noticed patterns. The same mistakes. The same quick fixes that everyone tries but don't actually work. And the same real solutions that actually move the needle.

Here's what I see breaking performance in real Webflow projects, with actual numbers.

The Cookie Consent Script Problem

This is the big one. Cookie consent scripts are killing PageSpeed scores more than anything else.

Real example:

A client site dropped from 92 to 58 on mobile PageSpeed after adding Cookiebot. The script alone was 247KB—bigger than their entire homepage HTML.

Cookiebot's script blocks rendering for 1.2-1.8 seconds on a 3G connection. OneTrust is similar at around 280KB. CookieYes is lighter at ~60KB but still render-blocking.

Why it matters:

That's your entire LCP budget gone before your site even starts loading.

What actually works:

Defer the script so it doesn't block render. Use lighter alternatives (Cookie Consent by Finsweet). Or accept that EU compliance has a performance cost and optimize everything else harder.

What doesn't work:

Just accepting "cookie scripts are slow." The difference between a 280KB script and a 15KB custom solution is massive.

Google Tag Manager Gone Wild

GTM containers I've audited average 8-12 tags. The worst I've seen had 23 tags firing on every page load.

Each tag adds weight. Facebook Pixel alone is ~45KB. LinkedIn Insight Tag is another 35KB. Google Analytics (GA4) is about 50KB. Add five marketing tools and you're easily over 200KB of JavaScript that blocks interactivity.

Real impact:

A site with 15 tags had a Total Blocking Time of 890ms. After removing unnecessary tags and deferring non-critical ones, we got it down to 210ms. That's a 76% improvement.

What actually works:

Audit ruthlessly. Most B2B sites don't need Facebook Pixel on every page. Use GTM's triggers to fire tags only where needed. Defer anything that isn't critical for the first 3 seconds.

CSS and Webflow's Generated Files

Webflow generates one CSS file per site. On a typical marketing site, that's 80-150KB. On complex sites with lots of components, I've seen 300KB+.

Here's what matters:

Browsers can handle large CSS files fine if they're cacheable. The problem is when that CSS blocks rendering and you're loading 300KB of styles for a page that only uses 40KB worth.

Real numbers:

A 200-page site I worked on had a 340KB CSS file. After splitting templates and cleaning unused styles, we got it down to 180KB without changing the design. First Contentful Paint improved by 0.4 seconds.

What actually works:

Keep your class structure clean. Remove unused components. Split large sites into different templates so each page loads only what it needs.

Perfection kills progress, but you have to care of data. Fix what's possible. Speed Insights of petrbilek.com site as example.

Images Kill Performance More Than You Think

Webflow has responsive images and lazy loading built in. But I still see sites uploading 4MB PNGs for hero sections.

Real example:

A hero image was 3.2MB. After converting to WebP and compressing, it was 180KB. That's 94% smaller with no visible quality loss. LCP improved from 4.1s to 1.8s.

The data:

Images account for 60-70% of total page weight on most sites I audit. Optimize them and you'll see the biggest performance gains.

What actually works:

Compress before uploading. Use WebP. Don't upload images wider than their container. For hero images on desktop, 1920px wide is plenty.

Layout Shifts (CLS) Are Sneaky

Your site loads fast but PageSpeed Insights shows a CLS score of 0.25 (poor is anything over 0.1).

Common causes:

Cookie banners that push content down (adds 0.15-0.25 to CLS), images without dimensions (0.05-0.10 per image), web fonts loading late and reflowing text (0.05-0.15).

Real fix I've done:

Reserved 60px of space for a cookie banner, set explicit dimensions on all images, and preloaded fonts. CLS dropped from 0.28 to 0.04.

What actually works:

Set width and height on every image. Preload critical fonts. Reserve space for anything that loads dynamically. Test on real devices, not just desktop Chrome.

The Overview

Why is my PageSpeed score lower than my actual site speed?

PageSpeed Insights tests under throttled, worst-case conditions. Your real users probably experience faster load times. Focus on Core Web Vitals (LCP, CLS, FID) rather than the overall score. Those metrics reflect actual user experience better.

Do Webflow interactions slow down my site?

Not really. CSS-based interactions are handled by the browser's GPU and don't block rendering. Even GSAP animations perform well if you're not doing something extreme. The bigger performance issues are almost always third-party scripts, not interactions.

How do I reduce my Webflow CSS file size?

Keep your class structure clean. Remove unused styles. Avoid creating unnecessary combo classes. Split large projects into multiple pages with different templates so each page only loads the CSS it needs. Webflow's CSS generation is efficient if your project structure is clean.

What's the best way to handle cookie consent without killing performance?

Use a lightweight solution. Load the script asynchronously if possible. If you're stuck with a heavy solution like Cookiebot, defer it and accept the slight delay in banner appearance. Just don't let it block your entire page render.

Should I worry about Webflow's "generated code" being bloated?

No. Webflow's code is actually pretty clean. The performance issues I see are almost never because of Webflow's HTML or CSS structure. They're from third-party scripts, unoptimized images, or bad site architecture decisions.