New: visitors coming from ChatGPT? Sublim shows you

Broken client tracking: the monthly report is how you find out

Jocerand LeroyJocerand Leroy
9 min read
#agencies#tracking#web-analytics
Tracking is the only thing in a client's stack that can break without anyone noticing, because nothing downstream depends on it. The site still works, the report still looks plausible, and the data you lost cannot be recovered. Here are the seven ways it breaks, why the flattering failures are the ones nobody catches, and why most tracking alerts end up switched off.
Broken client tracking: the monthly report is how you find out

You open a client's report on the 2nd of the month. The conversion line is flat, and it has been flat since the 9th of the month before. Three weeks of data on an account you are paid to watch, and the first person to notice is you, with the report already half written.

The break itself is ordinary. A theme update, a CMS edit, a renamed form field. That is all it takes for the tag to stop firing, the piece of script sitting in your pages that reports every visit to your analytics tool. What makes it expensive is the gap between the day it broke and the day you found out, because analytics is the one thing in your stack you cannot backfill. This article is about closing that gap: the ways client tracking breaks, why the portfolio hides it, and what alerting has to get right before it is worth switching on.

The break is cheap. The delay is not.

Most things that break in a client's stack announce themselves. The site goes down and someone phones. A form stops sending and the client notices the silence. A card payment fails and the money does not arrive.

Tracking is different, because nothing downstream depends on it. The site keeps serving pages, the forms keep working, the client keeps selling. The only symptom is a number that is lower than it should be, in a tool only you look at, and only once a month.

That is also why the loss is permanent. A broken deploy can be rolled back. A lost invoice can be reissued. Visits that were not recorded are simply gone, and no amount of fixing the tag afterwards recovers them. Fix it on day 23 and you still owe the client an explanation for days 9 to 23, which is a worse conversation than the fix.

A month-long timeline. A tag breaks on day 9, marked as a small CMS edit nobody announced. Nothing happens for 23 days. On day 32 the agency opens the monthly report and notices. The span between is labelled the blind window, 23 days of data that cannot be recovered. A note below reads: the fix takes ten minutes, the gap is permanent
The monthly report is a detector with a four-week delay. It is the one most agencies are relying on.

Seven ways client tracking breaks

These are the failures that produce a plausible-looking report rather than an obvious error. Each one has a different symptom, and that matters, because the ones that reduce your numbers get questioned eventually and the ones that raise them never do.

What happened What the report shows Caught by the monthly read?
Tag removed by a CMS or theme edit Everything stops on one date Eventually, because zero is visible
Tag installed twice Pageviews and sessions inflated No. Nobody audits good news
Tag manager loads, your tag does not fire No data at all, exactly like a removed tag The zero shows. The cause does not: GTM is there
Consent banner reconfigured A step down, often 20 to 40% Mistaken for a bad month as often as not
A conversion event renamed or dropped Traffic fine, conversions at zero Only if someone reads past the traffic chart
Redirect or UTM loss Right totals, wrong channels No. The number you check is correct
Checkout on another domain Sessions split, revenue unattributed No. It looks like weak campaign performance

Three of the seven do not show up in a monthly read at all. The uncomfortable one is the single row that raises the numbers rather than lowering them: a tag firing twice produces no complaint, it produces a compliment, and then it sets the baseline that next month gets measured against. Every other failure in the table at least has the decency to look like bad news. The tag manager case is its own thing: the zero is visible, but the reflex check comes back clean, so the cause gets hunted everywhere except where it is.

Two of these have enough going on to deserve their own treatment. Attribution landing in direct or unassigned is a diagnosis in itself, which the traffic drop guide works through. And the consent banner case is less about the banner than about what you measure after it, which the consent article covers.

Why the portfolio hides it

With one site you would notice. You look at it often, you know what a Tuesday looks like, and a flat line stands out.

The arithmetic changes with the roster. Assume one tracking incident per client per year, which is conservative for a site with an active CMS and several people allowed to deploy. At 30 clients that is an incident somewhere in your portfolio every fortnight, spread across accounts you look at once a month each. The incidents are not rarer than before, they are just distributed thinly enough that no single account feels broken.

It gets worse with the accounts that matter least. The small retainer you check briefly is exactly where a break survives longest, and it is also the client most likely to read the one number that moved and ask about it in the renewal conversation.

Two columns comparing failure modes. On the left, breaks that lower the numbers: tag removed, consent rules made stricter, conversion event dropped. These eventually prompt a question because the client dislikes the result. On the right, breaks that raise the numbers: tag installed twice, bot traffic counted, self-referral inflation. These prompt no question at all, and become the baseline the next month is compared against. A note below reads: the failure nobody catches is the flattering one
Breaks that cut your numbers eventually prompt a question. Breaks that inflate them do not, and those are the ones that distort next month's comparison.

Why most tracking alerts get switched off

Everyone who has run alerting at scale has turned it off again. The reason is almost always the same: the alert compared yesterday with the day before.

Do that and you alert every Monday on a B2B site, every weekend on a B2C one, and every public holiday on all of them. After three weeks nobody reads the emails, which is worse than having no alerting at all, because now you believe you are covered.

Alerting that survives contact with a real portfolio has to get four things right, and they are all about not crying wolf:

Compare like with like. The baseline has to be the same weekday over several weeks, not the previous day. Monday is not a quiet Sunday.

Have a volume floor. On a site doing 12 sessions a day, a drop to 5 is noise. Alerting below some minimum is guaranteed false positives, so it should simply not fire.

Close itself. An alert that opens and never resolves becomes a to-do list nobody clears. If the number comes back, the incident should close on its own and say so.

Doubt itself first. If the same anomaly appears on a quarter of the sites being watched on the same night, the likeliest explanation is not that a quarter of your clients broke their sites simultaneously. It is that the measuring tool broke. A system that emails you anyway is training you to ignore it.

How Sublim helps

Every client is a project in one workspace, and the checks run per project without anyone switching accounts. Two run on a schedule. A nightly installation check loads the homepage and records what it actually found: the snippet present, no snippet and no incoming data, a tag manager loading without the Sublim tag firing through it, or a site it could not reach. And a daily pass over yesterday's data looks for five anomalies:

Detection What actually triggers it
Tracking stopped A site that had sessions on at least 5 of the last 7 days goes silent. One email per incident, not one a day
Traffic drop Sessions at or below half the same-weekday average of the previous 4 weeks, and only on sites above 50 sessions. Closes itself at 70% of baseline
Conversion stopped An event that fired at least 5 times a day for 6 days stops. Tracker events like page_view and scroll are excluded, so it watches the ones you defined
Orders at zero Orders stop while carts carry on, which separates a broken purchase event from a quiet week
Abnormal traffic Three times the baseline with one source behind most of it, which is usually a bot or a referral spike rather than a good day
Snippet installed twice More than 30% of pageviews counted twice, on sites above 100 pageviews a day. Resolves when the second script comes off

The last one is the one worth having for its own sake, because it is the break in the table that nobody else is looking for. It inflates rather than deflates, so no client reports it, and it quietly raises the baseline that the following month is judged against.

The self-doubt rule is implemented rather than promised: if an anomaly fires on at least three projects and on a quarter of everything being watched that night, nothing is sent and the incident is logged for the Sublim team to investigate at its own end instead. You will occasionally not be told about a real problem because of that rule. It is the right trade, because an alert channel you trust is worth more than one that is complete.

Alerts arrive by email and in the app, or in Slack if you would rather they landed where the team already works. Which ones reach you is a per-user preference rather than a fixed list, and an incident that recovers sends its own resolution notice so nothing stays open on a list you have to clear by hand.

One limit to state plainly, because it follows from the thresholds above rather than from marketing: the daily alerts need a rhythm to compare against. A client site active fewer than 5 days in 7, or under 50 sessions a day, sits below what a threshold can judge without crying wolf. On those accounts the thing to lean on is the nightly installation status, and reading it in the project list is on you. Those are your smallest clients, and they are also where a break survives longest.

Know the day a client's tracking breaks

Sublim checks every client project nightly and alerts on the breaks a monthly report misses, including the snippet installed twice.

Try Sublim for free

If you are not using Sublim

Most of this is doable with what you already pay for, and it is worth doing whatever you use.

Watch for the script's presence, not just that the site responds. The monitoring tools your agency already runs can do more than check a site is up: they can look for a specific piece of text in the page source and tell you when it disappears. Give them whatever identifies your tracking script, usually the domain it loads from, then do the same for your consent banner. The day a CMS edit strips them out, you get an alert instead of finding out at the report.

Set custom alerts on conversions, not on sessions. Sessions are noisy and conversions are not. An alert on a key event reaching zero catches the renamed form field, which is the failure that leaves traffic looking perfectly normal.

Check for double counting once. Load a client's page with the network tab open and count how many times the tracking request fires. It takes a minute per client and it is the only one of the seven failures that nobody will ever report to you.

Put a data incident line in the report template. Not a section you fill every month, a line you fill only when something broke. It makes the gap explicit to the client instead of leaving them to find it, and it forces whoever assembles the report to look.

The bottom line

Client tracking does not break loudly, because nothing downstream depends on it. It breaks on a Tuesday, in a way that leaves the site working and the report plausible, and the detector most agencies rely on runs once a month. Three of the seven common failures survive that read entirely, and the one that inflates a client's numbers instead of cutting them is the one nobody will ever report to you.

The fix is not more thorough monthly reading, it is moving detection off the reporting cycle. Compare each day with the same weekday, ignore sites too small to judge, let incidents close themselves, and distrust any alert that fires on a quarter of your portfolio at once. Then the conversation with the client is about a day of missing data instead of three weeks, which is a conversation you can actually have.

Jocerand Leroy

Author

Jocerand Leroy
Web Analytics & Privacy Lead

Jocerand writes about privacy-first web analytics, conversion diagnostics, and helping teams make sense of their data without compromising on compliance.

View all articles by this author

Ready to try Sublim?

Simple, fast analytics that respects privacy. It's free to get started.

Business plan · 3 months free at launch · Promo code sent by email