- Performance
- Google Tag Manager
- Consent
A slow site made fast again in two days
I cut script blocking time from 4.4s to 0.3s in two days, without removing a single tool.
2 min read
- Scope
- Page speed optimisation on a live marketing site
- Timeline
- 2 days
- Team
- Solo
- My role
- Built the site originally, came back for the optimisation
- Stack
- Webflow, Google Tag Manager, HubSpot, GSAP, Finsweet
Blocking time from third-party scripts
From 4.4s to 0.3s
- Analytics1.2s → 0s
- Finsweet Attributes1.4s → 0s
- GSAP1.8s → 0.3s
I built this site from scratch. It was only about five months old, but the client’s team had connected their own marketing and analytics tools to it, and the site had become slow. They came back to me with one ask: make it fast again.
My first audit showed where the time went. Around eight analytics and marketing integrations, HubSpot among them, loaded up front, along with GSAP and Finsweet Attributes. Together they added about 4.4 seconds of blocking time before the page could respond to anything.
I moved HubSpot and Finsweet to load on the visitor’s first interaction, so they cost nothing on load. GSAP had to stay, because the page animates as it loads, but I brought its cost down from 1.8 seconds to 0.3.
That left the analytics integrations. They all came through Google Tag Manager and loaded on every page, straight away, before anyone clicked anything. Even visitors who declined tracking in the cookie banner got all of them.
So the cookie banner became part of the speed fix. If those tags waited for consent, they would stop slowing down the first load — and “Decline” would finally mean decline.
The container was older than the site: it came over from the client’s previous website and had been in use for about a year. Several people had added tags to it, and some fired on triggers nobody remembered setting up. Before I changed how anything loaded, I went through every tag to work out what it did and when it fired.
Then I rebuilt the setup. I didn’t remove anything — every service still runs. But marketing and analytics tags now wait for a real yes, and nothing loads before the first render unless the page needs it.
It took two days. The page no longer waits for tools the visitor hasn’t asked for, and the banner does what it says.
What this means for you
Third-party scripts are usually the cheapest speed win on a marketing site, and nothing has to go. If your clients sell into Europe, the same fix makes their cookie banner actually work.