
Analytics almost never fails loudly. There is no error, no alert, no empty dashboard. The reports keep arriving, the charts keep having shapes, and the numbers keep looking plausible.
That is precisely the problem. A system that produces no numbers gets fixed on Monday. A system that produces wrong ones gets acted on for a year. Putting that right is what an analytics engagement starts with.
The two faults that cause the most damage
The first is a conversion firing more than once. A thank-you page that visitors reload, a tag installed both directly and through a tag manager, or a single-page checkout that counts a step twice. Reported conversions exceed real ones, cost per acquisition looks better than it is, and budget gets moved towards whichever campaign happens to double-count hardest.
The second is a conversion not firing at all. A form that submits without reaching a confirmation page, a payment that completes on the provider’s domain and never returns, a thank-you page that changed URL during a redesign. These campaigns look like failures and get switched off, which is the more expensive of the two mistakes.
Things that break tracking without anyone touching it
Most analytics does not break because someone edited it. It breaks because something around it changed:
- A redesign changed the confirmation page URL, and the goal still points at the old one.
- A consent banner was added, and tracking now waits for a consent event that never fires.
- Browser privacy changes shortened cookie lifetimes, so returning visitors are counted as new.
- A payment provider moved checkout to its own domain, breaking the referral chain.
- Somebody added a second tag container for one campaign and left it in place.
The test that settles it
Do not audit by reading reports. Audit by performing a real transaction and following it through.
- Complete a real enquiry or purchase yourself, from a device and network you can identify.
- Confirm it appears in analytics exactly once.
- Confirm the value attached to it is correct, including whether VAT should be in or out.
- Confirm it is attributed to the source you actually arrived from.
- Confirm the same transaction reconciles against the CRM or the accounting system.
Most broken setups fail at step two or step five. Step five is the one that matters commercially, because a conversion the finance system has never heard of is not revenue. That reconciliation is the heart of multi-touch attribution.
Consent, and why it is not only a legal question
Consent handling has become a measurement question as much as a compliance one. If tracking is configured to wait for consent and the banner never grants it — or grants it in a form the tag does not recognise — data simply stops, and the report shows a decline that looks like a traffic problem.
Under POPIA the obligation to handle personal information lawfully is yours regardless of what the analytics platform does by default, so this is worth getting deliberately right rather than inheriting from a template.
Give it an owner and a date
The reason analytics drifts is that it belongs to nobody. It was installed during a project, the project ended, and no one owns it now.
The fix is unexciting: one named owner, and a scheduled check after every site change, every new payment method and every campaign launch. The cost of that review is small. The cost of a year of decisions made on double-counted conversions is not.
Frequently asked questions
How do I know if my conversions are being counted twice?
Complete one real conversion yourself and confirm it appears exactly once. Double counting most often comes from a tag installed both directly and through a tag manager, or from a thank-you page visitors reload.
Why do my analytics numbers not match my CRM?
Usually because they are measuring different things at different moments, and sometimes because one of them is wrong. Reconciling a single real transaction through both systems is the quickest way to find out which.
Did a consent banner break my tracking?
It can, and it does so silently. If data dropped sharply around the time a banner was added, that is the first thing to test rather than assuming traffic fell.


