15 October 2026·3 min read
When conversions do not match your order count — key event counting
A hundred orders in your own system, eighty conversions in GA4. The cause may be how the events are counted rather than whether they are collected. What once per event and once per session do to revenue and lead events, and where to change it.
Symptom
Your order management screen shows 100 orders this month; GA4 reports 80 conversions. Events are clearly being collected, and the gap is not a multiple — just consistently, slightly short. It drifts the same way every month, nobody finds the cause, and it settles into "GA4 counts a bit low".
The opposite happens too. Contact-form conversions come in higher than the number of leads the sales team actually received, and cost per lead in the ad report looks correspondingly cheap.
Cause
Every GA4 key event carries a counting method. You choose between counting each occurrence (once per event) and counting at most one per session (once per session), and the choice is made per event.
Get the choice wrong and the events are collected perfectly well while the conversion number stops matching reality.
| Event type | Wrong choice | Result |
|---|---|---|
Revenue (purchase, refund) |
Once per session | Two orders in one session collapse into one |
Lead (generate_lead, sign_up) |
Once per event | One person submitting three times counts as three |
Two payments in one session are more common than they sound: an order split because of stock, a retry after a failure, a B2B buyer ordering line by line. On sites like these, counting revenue once per session quietly shaves the order count.
AnalyticScan takes points off when purchase or refund is set to once per session, and raises a warning when any other key event is set to once per event. The second one is a request to confirm rather than a deduction — for some businesses, once per event is the right answer.
How to check in GA4
1) See how it is counted today. Open Admin → Key events and check the counting method on each event. On a property that has been running for a while, it is common for nobody to have looked at this setting since it was created.
2) Separate counting from collection. In Reports → Engagement → Events, put the purchase event count and the key event (conversion) count for the same period side by side. If the two differ, the difference is in how they are counted, not in what was collected. If the event count itself falls well short of your order count, that is a different problem — look at collection first.
3) Check that the days line up. A day in GA4 runs on the property's time zone. If your order database aggregates on a different one, a whole day shifts and you get a similarly sized gap every time. Always reconcile on the same time zone and the same day boundary.
How to fix it
Leave revenue events on once per event. Each order is money, so there is no reason to fold them into sessions.
For lead events, settle the business definition first. If "one enquiry" means one person, once per session is right; if it means one submission, once per event is. If you are exporting the conversion to an ad platform for bidding, matching that platform's definition comes first. Write down which one you chose — a setting that changes the numbers with no record of the change buys you the same argument next quarter.
Setting changes apply to data collected from then on. If the numbers for past periods look unchanged the day after, that is expected; compare on periods after the change.
Counting is also not the whole story for every mismatch. What an ad platform reports as conversions differing from GA4 is a separate question with several overlapping causes.
In one line
If GA4 conversions sit slightly off your real order count, check the counting method before digging into collection. Revenue once per event, leads by your own definition — it is two clicks to confirm.