By Greg Nowak. Last updated 2026-06-26.
Third-party code is production code
Most business websites do not become slow because the web server suddenly forgot how to serve HTML. They become slow because the browser is asked to do too much after the page starts loading: the consent banner initializes, the chat widget wakes up, the CRM form validates, an A/B testing tool changes the page, review badges load, maps render, and several tracking tags fire on the same visit.
Individually, many of those tools are reasonable. Together, they form a third-party stack. Once that stack is live on revenue pages, it behaves like production infrastructure. If nobody owns it, every campaign, agency handover, plugin install, and vendor trial can leave permanent drag behind.
Google's current framing is useful here. Core Web Vitals matter, and Google recommends LCP within 2.5 seconds, INP under 200 milliseconds, and CLS under 0.1. Google is also clear that page experience is broader than one score, and that good reports do not guarantee top rankings. The business goal is simpler: protect the pages and journeys that create leads, bookings, sales, and trust.
What sits in the third-party stack?
A third party is anything your page depends on that is not really controlled by your own site: analytics, ad pixels, tag managers, consent tools, chat, form integrations, personalization, payment widgets, maps, video embeds, social embeds, review badges, fonts, CDNs, and marketing popups.
The scale is easy to underestimate. HTTP Archive's 2025 Web Almanac found that more than nine in ten pages include at least one third party. The top 1,000 sites carried a median of 129 third-party requests on desktop and 106 on mobile. It also notes that server-side tracking and CNAME cloaking can make some third-party activity less visible in client-side measurements, so a simple waterfall is not always the full picture.
| Stack area | Question to ask | Better operating rule |
|---|---|---|
| Analytics and ad pixels | Who uses the data, and is anything duplicated? | Keep only active measurement, load by consent and page need. |
| Chat, reviews, maps, video | Does this help the user on this template? | Load only where it supports the journey, and lazy-load below-the-fold embeds. |
| Forms and CRM scripts | Can the lead path work if the vendor is slow? | Test quote, booking, and contact flows with vendor domains blocked. |
| Consent and tag managers | Who approves new tags and removes old ones? | Require a named owner, purpose, trigger rule, and review date. |
The risk is commercial, not cosmetic
An unmanaged stack creates several quiet risks. Conversion suffers when menus, filters, quote forms, booking flows, or checkout steps respond late. Search performance can suffer when important templates are slower than the homepage. Reporting becomes harder to trust when old pixels, duplicate analytics libraries, and forgotten experiments all claim credit for the same user action.
There is also an operations risk. A vendor outage, slow ad network, broken consent script, or retired API can affect a journey your team still considers internal. For agency teams, this is where client work gets messy: performance complaints, unclear attribution, and inherited tag manager containers that nobody wants to touch.
What ownership actually means
Operational ownership does not mean banning third-party tools. It means treating them like dependencies with business cases. Every script should have a named owner, a reason to exist, a loading rule, the data it touches, and a review date. If nobody can answer those questions, removal or isolation should be the default until the case is clear.
That ownership has to cover the places where scripts actually enter the site: CMS plugins, theme templates, custom modules, Google Tag Manager, consent platforms, edge rules, embedded forms, and agency snippets. A spreadsheet alone is not enough if the implementation path stays vague.
A practical cleanup workflow
Start with the templates that matter commercially: service pages, landing pages, quote steps, booking flows, product pages, checkout, and contact forms. A fast homepage does not compensate for a slow lead path.
- Measure before debating. Use Search Console, PageSpeed Insights, Chrome DevTools, WebPageTest, and field data if available. Test under realistic network and CPU throttling, not only on a fast office machine.
- Inventory every entry point. Check the CMS, plugins, tag manager, consent tool, templates, custom scripts, server-side tagging, and edge injections. Record owner, purpose, pages, triggers, and renewal date.
- Test vendor impact directly. In Chrome DevTools, use Network request blocking to disable individual vendor URLs or domains and reload the page. WebPageTest also supports
blockDomainsandblockDomainsExcept, plus SPOF testing for slow or failing vendors. - Change loading rules. Remove duplicates and retired tags first. Use
asyncordeferfor non-critical scripts where supported. Lazy-load embeds, maps, reviews, and video when they are not needed for the first view. - Be careful with self-hosting. It can improve caching and control, but it can also create update and security maintenance work. Use it for clear cases, not as a blanket fix.
- Check old lifecycle code. Chrome is actively deprecating reliance on
unload. Replace it withvisibilitychangeorpagehidewhere appropriate, and use DevTools ornotRestoredReasonsto investigate back/forward cache problems.
Where Greg helps
This work usually falls between marketing, development, SEO, compliance, and operations. Greg can help audit the stack, separate useful tools from inherited clutter, agree loading rules with stakeholders, implement safe changes, and leave behind documentation that survives the next campaign.
The outcome is not just a faster report. It is a website with fewer hidden dependencies, cleaner data, more reliable user journeys, and a third-party stack someone can confidently explain. Talk to Greg about a third-party stack audit.
Related on GrN.dk
- WordPress Speculative Loading Needs a Cart, Analytics, and Cache Test
- AI Crawler Control for Business Websites: Protect Content Without Sacrificing Search Visibility
- Cloudflare Page Rules Debt: The Quiet Way Business Websites Break
Need help with this kind of work?
Discuss a third-party stack audit with Greg Get in touch with Greg.