Troubleshooting
FAQ, debugging, and troubleshooting.
Ads show fewer conversions than your store: where the data goes
Google Ads or Meta report significantly fewer conversions than you have orders. Some data is lost along the way. Where it happens and how to recover most of it.
Consent Mode blocking all measurement: telling it apart from a bug
After deploying consent, conversions stopped coming. Sometimes that's correct (the user declined), sometimes it's a setup bug. How to tell the difference and what to check.
Conversion value is in the wrong currency
Ad revenue matches in count but not in value — because currency is missing or wrong. A common problem for multilingual, multi-currency stores. How to find it.
Conversion value is zero or missing: where the problem is
Conversions are measured, but with no value — or zero. Ads then can't optimize for revenue. The cause is almost always in the data layer. How to find and fix it.
Conversions arriving delayed: is it a bug?
Conversions show up in ads or GA4 hours later. Usually it's not a measurement bug but data processing and the attribution window. When the delay is normal and when it's not.
Conversions counted twice in Google Ads
Google Ads shows more conversions than actually happened. The cause is usually double measurement (gtag + server-side without deduplication) or the conversion-counting setting. How to fix it.
Cookies expire too soon: returning customers counted as new
Returning customers are counted as new and attribution falls apart after a few days. The cause is Safari ITP capping client-side cookies. How to extend their lifetime.
Data split across multiple GA4 properties
Measurement is scattered across multiple GA4 properties and none has the full picture. Why it happens, why it hurts and how to unify data into one property.
Debugging and troubleshooting
How to diagnose and fix server-side tracking problems — Preview Mode, logs, common errors.
Duplicate conversions: causes and fix
GA4, Meta or Google Ads show roughly twice as many conversions as orders in your store. The cause is usually missing deduplication between the pixel and server-side. How to fix it.
Duplicate transaction_id: one purchase counted multiple times
The same order shows up in measurement more than once because the purchase event fires repeatedly with the same transaction_id. Why it happens and how to handle it.
Enhanced Conversions not received: where the problem is
Google Ads reports it isn't receiving Enhanced Conversions or has a low match. The cause is usually missing or badly hashed data. What to check.
Frequently asked questions (FAQ)
Answers to the most common questions about server-side tracking, pricing, setup, and support.
GA4 Realtime shows fewer server-side than client-side events
Eight reasons why server-side shows less data than client-side — from a missing "Send to server container" on the primary GA4 Configuration tag (a page_view gap) through ad-blockers blocking descriptive sGTM subdomains to Consent Mode v2. A 5-minute triage checklist.
GA4 not showing server-side conversions: where to look
You deployed server-side measurement but conversions don't appear in GA4. How to isolate the fault — from GTM preview mode through DebugView to the Measurement Protocol settings.
GA4 report data doesn't match DebugView or realtime
You see an event in DebugView and realtime, but it's missing from standard reports or shows different numbers. Usually it's not a measurement bug but data processing. What to check.
GA4 reports your own domain as the source (self-referral)
GA4 shows your own domain or payment gateway as the visit source. That breaks the session and skews attribution. The cause is usually unconfigured cross-domain. How to fix it.
GA4 shows (not set) or (direct) instead of the source
Visits show in GA4 as (not set) or (direct)/(none) even though they came from a campaign. The cause is usually missing UTMs, a lost referrer or unconfigured cross-domain.
GTM preview mode won't connect
Google Tag Manager's preview mode won't connect or doesn't see your site. The cause is usually third-party cookies, an ad-blocker or consent. What to check.
Low Event Match Quality in Meta: how to raise it
Meta reports a low Event Match Quality and you suspect you're losing accuracy. The cause is missing identifiers in user_data. What to send to raise the score.
Meta Pixel not firing: where to look
The Meta Pixel isn't firing on your site, or Events Manager doesn't see it. The cause is usually consent, an ad-blocker or deployment. How to isolate the fault.
Sklik conversions not tracking: where to look
Sklik conversions arrive wrong or not at all. Because Sklik has no classic CAPI, conversions go via a server-to-server endpoint — and errors tend to sit in a few specific places.
Web GTM not sending data to the server-side container
The server-side container is running but receives no data from the site. The link between web GTM and the server container is configured via a transport URL. Where to look.