GA4 reports a source for most sessions. The rest pile into Direct and Unassigned. That is a catch-all that often hides real visitors who were ready to buy.
Why GA4 hides so much traffic
When GA4 can't match a visit to a source, it labels it Direct or leaves it Unassigned. Common causes are visits from AI assistants such as ChatGPT and links pasted into messaging apps (often called dark social). Ad blockers, privacy settings and cookies lost after a consent prompt also hide the source. The visitor is real; the label is missing.
The analyzer above starts with the sessions you already see as Direct or Unassigned. It applies a guess you can change for how many are mislabeled. Then it turns that into sessions and revenue. Treat every number as an example you can change. The point is the rough size of what you can't see, not an exact figure.
What you can do about it
Get sales from the server: browser tags are the first thing ad blockers and privacy settings break. On Shopify, Zyro gets each order straight from Shopify's server, so a blocked script never loses a sale. Zyro's visit tracking still runs in the browser.
Label AI visits: Zyro's Revenue by channel shows visits from AI assistants such as ChatGPT as their own source. Sales it did not see the visit for show as "Not tracked", not guessed. Zyro can also send your sales to GA4 from its server.
Ready to act on what this tool shows? Compare the plans on Pricing, or browse more free calculators in the tools hub.