What counts as direct?
Sessions with no identifiable source: no referral, no tagged campaign, no clear ad click. The bucket is real, but it is too often a catch-all for visits that were never attributed properly.
The 40% is invisible. Not missing because it doesn't exist, missing because your tracking setup never captured it. MarchiteQ audits, repairs, and rebuilds conversion tracking so every decision you make is grounded in complete data.
Most businesses assume their tracking is working because numbers appear in the dashboard. Numbers appearing is not the same as numbers being accurate.
Here is what broken conversion tracking looks like in practice:
These are not edge cases. They are the norm. And every marketing decision made on top of broken tracking compounds the error.
High direct traffic usually means sessions are landing in the wrong bucket, not that “everyone typed your URL.” Here is the pattern we see most often:
Sessions with no identifiable source: no referral, no tagged campaign, no clear ad click. The bucket is real, but it is too often a catch-all for visits that were never attributed properly.
In a solid setup, direct is usually less than 50% of total traffic (brand and channel mix matter). When direct is consistently higher, especially as a top “channel”, something is usually wrong.
Paid and partner links without consistent UTM parameters send traffic into direct. Campaign reporting looks clean; channel mix does not.
HTTPS → HTTP and similar handoffs can remove referrer data, so analytics loses the real source.
Multi-domain funnels without proper configuration break the chain from ad click to conversion, visits surface as direct.
Journeys that move from app to web without an attribution link often arrive as direct in your reports.
Newsletter and lifecycle email without UTM tracking reads as direct, even when it drove the session.
Conversions that paid campaigns actually drove can appear as direct. Organic and direct look stronger than they should; paid ROAS looks weaker. Teams cut budget, and revenue drops with no obvious explanation in the dashboard.
Inflated direct traffic is systematic misattribution. It drives the wrong budget decisions, every month.
Event taxonomy, conversion event configuration, cross-domain tracking, session attribution model, and data stream setup. We check what's being tracked, what's being missed, and what's being counted twice.
Tag implementation (Google Tag / GTM), conversion action configuration, import vs native tracking, value-based conversion setup, and cross-device attribution. We reconcile Google Ads data against GA4 to isolate discrepancies.
Pixel health check, event deduplication between browser pixel and CAPI, event match quality scores, and standard event coverage. For most businesses, Meta is seeing 30–50% fewer conversions than actually occur, directly degrading campaign performance.
Which attribution model is your business actually using across platforms? Data-driven, last-click, and linear models produce radically different credit allocations. We map what each platform is reporting and build a reconciled view.
Every paid channel, email campaign, and partner link is checked for consistent, correct UTM parameters. This is frequently the root cause of inflated direct traffic.
Recovering 40% of your invisible conversion data is not a technical achievement. It is a business decision that changes everything downstream:
Google Ads attributes a conversion to the day the ad click happened. GA4 attributes the conversion to the day the conversion event actually happened. So a click on March 1st that converts on March 10th shows up in Google Ads under March 1st, and in GA4 under March 10th. When you compare date ranges, especially near the edges of a reporting window, the numbers will never match cleanly.
First User is about acquisition, which channel brought this person to your brand for the first time ever, persisting until cookies reset. Session is about engagement, what brought them here in this specific 30-minute window, with GA4 ignoring direct traffic and looking back 90 days for the last non-direct source. Source/Medium is the channel when the key event happened. For campaign performance you almost always want Session Source/Medium, and for conversion attribution you need the Advertising section or Event Reporting.
GA4 does apply a 90-day lookback window that tries to replace direct traffic with the last known non-direct source. But that lookback depends entirely on the client ID surviving in the browser cookie. If the user cleared their cookies, switched browsers, switched devices, or if ITP on Safari already wiped the cookie after 7 days, GA4 has no record of any previous session to look back into. With no prior source available, it has no choice but to label the conversion as Direct. This is broken attribution. Only server side tracking can fix it.
Data-driven attribution in GA4 exists in exactly one place, the Attribution Report under the Advertising section. That is it. Every single standard report in GA4, your Acquisition reports, your Engagement reports, your Conversion reports, all of them use non-data-driven dimensions.
Ad platforms count clicks, GA4 counts sessions. A page that loads too slowly registers as a click in your ad platform but never becomes a session in GA4. Bot traffic is filtered out in GA4 but counted as clicks in ad platforms. UTM parameters get stripped by browser restrictions, redirects, or overwritten by ad identifiers like the gclid.
Every week you run campaigns on incomplete data is a week of decisions you can't trust. The audit takes days. The impact lasts.