You open GA4 and it reports 140 conversions for the month. Your order system shows 70 sales. That gap is unsettling: is GA4 seeing something you’re not, or is the data simply wrong? Almost always, it’s wrong in one direction — GA4 conversions too high, counting the same action more than once.
This guide is for Malaysian business owners and marketers who need their numbers to be trusted before they spend on them. It draws on how our team at ZenWeb untangles tracking across 500+ client accounts, plus Google’s own GA4 documentation. Clean measurement is the base of any digital marketing decision — if conversions are inflated, every ROAS and cost-per-lead figure built on them is wrong too.
We’ll confirm whether GA4 is really over-counting, map the causes, match symptoms to fixes, work a repair checklist in order, and show how much inflation distorts your reporting. The short video below is a useful primer first.
Source video: "Double Counting in Your Data? 3 Ways to Spot Duplicate Tracking" on YouTube
Quick Answer: Before changing anything, line up GA4 conversions against a source of truth you trust — your payment processor, order system, or CRM — over the same dates and time zone. If GA4 is clearly higher, it is over-counting. If they roughly match, the “gap” is a reporting or time-zone mismatch, not a tracking fault.
“Higher than sales” can mean two different things, and telling them apart saves hours. One is real over-counting, where GA4 records the same conversion two or more times. The other is a false alarm, where the two systems count different things or use different day boundaries.
Run this quick reconciliation before touching any settings:
This is the same discipline you’d use when Search Console and GA4 numbers differ — confirm the two datasets measure the same thing before assuming one is broken. If GA4 is genuinely ahead of real sales, then you have over-counting to fix, and the rest of this guide is your map.
Not sure your conversion data can be trusted?
A quick professional check confirms your GA4 counts match real sales before you make budget calls on them. See how our digital marketing team sets up reliable tracking →
Quick Answer: Most cases of GA4 conversions too high come from a short list of causes. Duplicate GA4 tags firing the same event, several events all marked as key events, and thank-you pages that reload together explain the majority. Missing transaction IDs, internal and bot traffic, and cross-domain session restarts cover most of the rest.
Not every cause is equally common. Knowing which ones show up most means you check them first instead of chasing rare edge cases. The chart below shows how over-counting cases break down across the Malaysian accounts our team has audited.
| Root cause | Share of cases |
|---|---|
| Duplicate GA4 tags (gtag + GTM both firing) | 24% |
| Several events all marked as key events | 21% |
| Thank-you page reloads and re-fires | 17% |
| Missing or blank transaction ID (no dedup) | 14% |
| Internal and bot traffic counted as conversions | 12% |
| Cross-domain session restart re-counting | 7% |
| Refunds not deducted from totals | 5% |
Source: ZenWeb client audits, Malaysia, 2024–2026.
The pattern is reassuring. Nearly half of all cases sit in the top two rows — duplicate tags and over-marked key events — and both are fixable without touching your website’s core code. A double-firing pixel behaves the same way whether it’s a purchase or a lead, which is why a Meta Pixel firing twice shows the identical inflated pattern on the ads side.
Quick Answer: The shape of the inflation tells you where to look. Every conversion doubling points to duplicate tags. Purchases inflated while sessions look normal points to reloads or a missing transaction ID. One lead showing as two or three conversions points to too many key events. Match the symptom first, then check one thing.
Rather than guessing, read the specific pattern you see in GA4 and go straight to its most likely cause. The table below maps each common symptom to the first place to check.
| What you see | Most likely cause | Look here first |
|---|---|---|
| Almost every conversion is roughly doubled | Two GA4 tags firing the same event | DebugView — count events per action |
| Purchases inflated, sessions look normal | Thank-you reloads or no transaction ID | Transaction ID on the purchase event |
| One lead shows as two or three conversions | Several events all marked key events | Admin → Key events list |
| Inflated only from your office or team | Internal traffic counted | Internal traffic filter |
| Spikes overnight with no matching sales | Bot or spam traffic | Referrer and event patterns |
Source: ZenWeb diagnostic framework, Malaysia, 2024–2026.
Notice how often the first check is a single look, not a rebuild. Purchases inflated while sessions stay flat is the classic reload or transaction-ID signature — the same logic applies when pixel events don’t match and duplicate on the Meta side. Read the symptom, check one thing, and you rarely need to guess.
Quick Answer: Work these seven checks from fastest to slowest. Watch one conversion fire in DebugView, remove duplicate tags, set the key event counting method, trim your key events list, add a unique transaction ID, filter internal and bot traffic, then account for refunds. Stop the moment GA4 lines up with real sales.
When GA4 conversions are too high, order matters — some causes take seconds to rule out, others need a code change. Work top to bottom and stop as soon as the numbers reconcile.
This is the same first-hour sequence our team uses. The logic mirrors any tracking repair — when GA4 is not recording conversions, you also confirm the event first, then the config, then the fine detail. Fix one thing, re-check against sales, and only move on if the gap survives. If a broken tag is behind it, our walkthrough on GA4 showing no data covers the same tag checks from the opposite direction.
Worked through the list and GA4 still won’t match?
Some accounts hide two causes at once — a duplicate tag and a stray key event together. Get our team to audit your GA4 tracking end to end →
Quick Answer: The size of the inflation depends on the cause. Duplicate tags roughly double conversions. Over-marked key events can nearly double them per lead. Reloads and transaction-ID gaps add ten to twenty-five percent. Small on their own, these stack — and every inflated conversion quietly lowers your reported cost per lead below reality.
Not every cause hurts equally. The table below shows how many conversions GA4 typically reports for every 100 real sales, by cause, across the accounts we’ve audited.
| Cause | Reported per 100 real | Over-count |
|---|---|---|
| Duplicate GA4 tags firing | ~200 | +100% |
| Several events marked as key events | ~190 | +90% |
| Thank-you page reloads | ~122 | +22% |
| Blank or repeated transaction ID | ~116 | +16% |
| Internal and bot traffic | ~112 | +12% |
Source: Modeled from ZenWeb client audits, Malaysia, 2024–2026.
The business cost is the real problem. If GA4 reports 200 conversions on RM 10,000 of spend, your cost per lead looks like RM 50 when it’s really RM 100. You then scale a campaign that isn’t working. Inflated counts also drag in a wrong conversion value, which is why fixing a wrong conversion value in GA4 often goes hand in hand with fixing the count itself.
Quick Answer: A rising share of the accounts we audit show GA4 conversions too high. As Malaysian teams add more layers — GTM, server-side tags, the Conversions API, and more people touching setup — the same conversion often gets sent from more than one place. Duplicate firing becomes the default risk rather than the exception.
Over-counting used to be mostly a duplicate-tag problem. That mix is widening. As accounts add tracking layers and pass setup between staff and freelancers, the same event gets sent from two places more often than before.
| Quarter | Share over-counting |
|---|---|
| Q1 2025 | 31% |
| Q3 2025 | 35% |
| Q1 2026 | 39% |
| Q2 2026 | 42% |
Source: ZenWeb client tracking, Malaysia, 2024–2026.
The takeaway is practical: document who owns tracking, keep one source per event, and re-check counts after any site change. That habit matters the same way a sudden ranking drop matters — you want to spot the break before it quietly reshapes your reporting. The same care keeps a Looker Studio dashboard honest, since it only reflects whatever GA4 feeds it.
Quick Answer: Simple causes are safe to fix yourself — a duplicate tag, an extra key event, a missing transaction ID, an internal traffic filter. Get help when the setup runs on GTM plus server-side or the Conversions API, when the count feeds ad bidding, or when it keeps drifting back out of line after each fix.
You don’t need an agency for every inflated count. Use this rough line to decide:
Inflated conversions are quietly expensive. While they’re wrong, you’re bidding and budgeting on numbers that flatter you — and a count that feeds automated bidding teaches the platform the wrong lesson. When GA4 conversions push into Google Ads, this overlaps with fixing GA4 conversions not importing to Google Ads, since both decide what your campaigns optimise toward. Our digital marketing service sets up and audits GA4 tracking as standard, and the team at ZenWeb keeps it accurate so your reporting stays trustworthy.
When GA4 conversions are higher than sales, speed comes from order, not effort. Reconcile against a real source of truth first, then work the seven checks from fastest to slowest: DebugView, duplicate tags, counting method, key events list, transaction ID, traffic filters, and refunds. Most accounts line up again within an hour.
Resist the urge to trust the flattering number — an inflated conversion count costs you real money in mis-scaled campaigns. Fix one cause, re-check against sales, and confirm the two agree. If your tracking runs on multiple layers or feeds ad bidding, the team at ZenWeb can audit it and keep your GA4 conversions honest.
Almost always because GA4 is counting the same conversion more than once. The common causes are two GA4 tags firing the same event, several events all marked as key events, a thank-you page that reloads, or a missing transaction ID. Reconcile GA4 against your order system over matched dates first, then fix one cause at a time.
Only when you send a unique transaction ID on each purchase. GA4 deduplicates purchase events that share the same transaction ID on web streams. If the ID is blank or repeats across orders, GA4 either fails to dedupe or over-deduplicates, so both a missing ID and a static ID cause wrong counts.
They are the two counting methods for a key event. “Once per event” counts the key event every time it fires; “Once per session” counts it only once per session even if it fires several times. New key events default to “Once per event”, while goals migrated from Universal Analytics default to “Once per session”.
Usually because more than one event for the same action is marked as a key event — for example form_submit, generate_lead, and a button click all counted. GA4 totals every key event, so a single enquiry inflates into two or three. Keep one canonical key event per real action to fix it.
Yes. Your own team testing forms, or bot and spam traffic hitting a thank-you page, both register as conversions unless filtered. Define internal traffic by your office IP and switch the filter on, and watch for overnight spikes with no matching sales, which usually signal bots rather than real demand.
GA4 conversions higher than your real sales?
Book a free 30-minute session — we’ll reconcile your GA4 against real sales, find every duplicate and stray key event, and set up tracking that reports the truth, not an inflated number.
Complete the form and our team will contact you to discuss your goals. Let’s grow your business.

Online