Blog

The third-party tax: what your marketing scripts really cost per order

Every chat widget, pixel and tag manager bills you twice — once in the invoice, once in milliseconds. Here is the 30-minute audit we use to translate the second bill into euros.

Every third-party script on your store bills you twice. The first invoice arrives monthly and has a logo on it. The second one is spread across every visit, in main-thread milliseconds — and nobody itemizes it. On most stores we look at, the second invoice is bigger.

We call it the third-party tax: the conversion you lose to scripts that were installed to help conversion. The uncomfortable part is that no single script looks guilty. A tag here, a widget there, each “just a few kilobytes”. Then you open the performance trace and the main thread looks like a parking lot.

Why milliseconds are money — in your numbers, not Google's

You have seen the industry claims: every extra 100 ms costs some percent of conversion. Those studies are real, but the coefficients belong to someone else's traffic and someone else's checkout. Borrowed numbers make weak arguments in a budget meeting. Your own numbers don't, and they take an afternoon:

The 30-minute audit ritual

This is the exact sequence we run on a store we have never seen before. Everything lives in Chrome DevTools; the tooling budget is zero.

1. Inventory. Network panel, filter to third-party requests, load the checkout — not the homepage, the checkout. Screenshot the list. It is always longer than anyone in the room expects, and at least one entry makes the marketing lead say “wait, we still pay for that?”. That orphan is a free win before any engineering happens.

2. Isolate. DevTools can block requests by domain. Block one vendor, reload, record a trace. Repeat. You are collecting two numbers per vendor: main-thread blocking time and the LCP delta. A four-column spreadsheet — vendor, milliseconds, LCP impact, monthly fee — is the whole deliverable. It reads like a menu of refunds.

3. Find the interaction killers. Long tasks over 50 ms are what make taps feel ignored, and INP is where they surface. The Performance panel shows attribution, and it is rarely your own code. Chat widgets that boot eagerly on every page are the repeat offender — a support tool that makes every customer wait in case one of them has a question.

4. Price it. Multiply the findings against the sticky note. When a session-replay subscription turns out to cost three times its fee in lost orders, the removal conversation takes four minutes.

Here is the part we enjoy telling clients: GDPR accidentally handed you a performance feature. Analytics and marketing scripts may only load after consent — so the legally correct implementation is also the fast one. On our own site, not a single Google byte moves until the visitor accepts the banner; before that click, the main thread belongs entirely to rendering. Compliance calls it consent gating. We call it lazy-loading with legal backup.

If your consent tool loads the trackers first and asks questions later, you are paying the tax and breaking the rules — the worst seat at the table.

What we cut first, every time

Put the budget in the contract

Every project we ship carries a third-party budget next to the speed budget: a hard ceiling on external script weight and main-thread time. Marketing keeps full freedom to add tools — inside the envelope. When the envelope is full, adding something means removing something. It is remarkable how quickly “nice to have” gets triaged once the trade-off is explicit.

Run the ritual on your own checkout this week: thirty minutes, four columns, one sticky note. The spreadsheet usually pays for itself before the coffee goes cold.