Analytics Without Illusions: Which Events You Must Track to See Where the Money Comes From

Most reports we see at a first meeting look fine: traffic is up, impressions are multiplying, time on page is respectable. And then the owner says the sentence that makes the conversation honest: “The numbers look good, but there isn’t more money.”

This is not a problem with analytics as a tool. It is a problem with an event set assembled on the principle of “let’s have something in place”: a counter was installed, a goal was set on form submission, and the rest was left to automatic collection. That kind of setup describes visitor behaviour reasonably well – and says almost nothing about where the money comes from.

Why the dashboard grows while the till does not

Metrics like sessions, impressions and scroll depth rise easily without affecting revenue at all. Referral spam, a change in search rankings, one lucky social post, a campaign simply restarted against a broad audience – all of it lifts the chart.

The danger is not that these numbers are useless. The danger is that decisions start being made on them: scaling a channel that delivers plenty of visits and zero deals, or cutting one that brings five leads a month – all five of which close, at an average order value half again higher than everything else.

A textbook case from practice: a client spent two quarters increasing budget on the channel responsible for 60% of all traffic. Once CRM statuses were finally connected, it turned out that channel accounted for 8% of revenue. The money was coming from a narrow segment that made up 4% of visits.

Count backwards: from money to events

The practical way to build analytics is to start not with tools but with the question “what exactly do we earn on”. Then work backwards along the chain: which customer action precedes payment, which precedes that one, and so on to the first touch.

For a service business the chain usually looks like this:

payment → invoice → meeting → qualified lead → lead → service or case study page view → first visit

Every step in that chain is a candidate for an event. Anything that did not make it into the chain does not go into tracking. This is the main filter that saves you from a hundred unnecessary events and from a container nobody can navigate six months later.

The minimum set that answers 90% of questions

For most service and B2B sites, seven events are enough. Not seventy.

EventQuestion it answersWhen it fires
form_startDoes anyone even begin filling the form?Focus on the first field
generate_leadHow many leads, and from which sourceSuccessful form submission
contact_clickHow many enquiries bypass the formClick on phone, email, Telegram
key_page_viewWhich services actually draw interestService or case study page view
content_engagedIs the content read or closed60% scroll + 30 seconds
file_downloadWho is at the evaluation stagePrice list or deck download
qualified_leadHow many leads were realStatus change in CRM

The last event is the most important and the most frequently missing. Without it you optimise advertising for lead volume rather than for money. The gap between those two strategies is usually measured in tens of percent of budget.

Three attributes without which an event is useless

The bare fact “a lead happened” gives you almost nothing. An event starts working when it carries three things with it.

Source

UTM tags, referrer, campaign name – captured at the moment of the first visit and preserved through to conversion. If the source is read at the moment of form submission, you will see “direct traffic” where advertising actually did the work: someone arrived from an ad, thought about it for three days, came back by brand name and left a request. Formally that is a direct visit. In reality the ad earned the money.

Identifier

A single ID understood identically by the website, the analytics platform and the CRM. It is the bridge that carries closed-deal data back to the channel that produced it. Without it, analytics and CRM live in parallel universes and never agree on any figure.

Value

At least approximate. A support request and a build-from-scratch enquiry are not the same event, and collapsing them into a single number means deliberately corrupting your own statistics. If the exact amount is unknown at lead time, substitute the average order value for that service category – that alone is an order of magnitude better than assigning one to everything.

A worked example

Three channels, the same month, the same budget of 30,000 each. Here is how the picture looks in two different coordinate systems.

ChannelLeadsCost per leadClosed dealsRevenueCost per deal
Channel A60500390,00010,000
Channel B201,5008320,0003,750
Channel C35857248,00015,000

Read the first three columns and the best channel is A, the worst is B. Read the last three and it is exactly the other way round. The first three columns are what analytics without offline conversions shows you. The last three are analytics carried through to the end. Decisions made on the left half of this table would have cost the business its main source of revenue.

Offline conversions: where the real money hides

Online analytics sees the website and stops at the lead. Everything interesting happens afterwards: the call, qualification, estimate, negotiation, contract, payment. Until those statuses flow back from CRM into analytics, any conclusion about the “best channel” is guesswork.

Technically it is simpler than it sounds: an identifier is attached to the lead, the CRM returns it along with status and amount, and the data is uploaded into analytics on a schedule. After that the report finally answers not “where is the traffic from” but “where is the money from”.

Attribution: why last click almost always lies

By default most systems assign all credit to the last source before conversion. In a short cycle that is acceptable. In service sales with a two- to three-week cycle and five to seven touchpoints it is a systematic error that devalues upper-funnel channels every single time: content, organic search, display.

You do not need to build complex models straight away. It is enough to look at first-touch conversions alongside last-touch. If a channel barely appears in “last click” but shows up consistently in “first touch”, you have found something you must not switch off, whatever the report says.

Five mistakes we see most often

  • An event on every click. Two hundred events in a container is not analytics, it is noise nobody can interpret by month two.
  • No shared naming convention. Lead, lead, form-2 and Form Submit in one project make consolidation impossible.
  • Duplicates from GTM and code. One event fired twice quietly doubles conversions and breaks every cost calculation.
  • Ignoring cookie consent. Without a correct consent mode part of the data simply will not be collected, and part of what is collected becomes a legal problem.
  • A goal on the thank-you page. It can be opened directly, reloaded, bookmarked. That is not a conversion, it is a URL.

How to check whether yours is sound

Three questions worth asking yourself or your contractor:

  • Can you state the cost of a closed deal per channel – not the cost of a lead?
  • Does the lead count in analytics match the count in CRM for the same period? A gap under 5% is normal; 30% means one of the systems is lying.
  • Would a new team member understand what each event is for from its name alone, without explanation?

If the answer is yes to all three, your analytics works. If it is no to even one, the issue is almost never the tool – it is that nobody designed the event set backwards from money.

Where to start

Not by rebuilding everything. Take one chain – from your most profitable service through to payment – and carry it all the way: event, source, identifier, CRM status. One complete chain delivers more than twenty events that each break off halfway.

Once it works you will not get a prettier report. You will get a different quality of decision: it becomes visible which channel to feed, which to fix and which to close – and it will be visible from the numbers rather than from instinct.