UTM coverage calculator
A session that arrives without a UTM still buys; GA4 just cannot say which campaign sent it. Enter your GA4 numbers and see how much of your traffic and revenue that is.
Result
Fill in sessions, all traffic, sessions that arrived with a utm to see the result.
How it works
UTM parameters (utm_source, utm_medium, utm_campaign and the rest) on a link tell GA4 where a visit came from. GA4 fills its Session manual dimensions from them. The calculator sets the sessions and revenue that arrived with a UTM against the total for the same dates.
This measures how much arrives tagged. To tag the next link so it lands in the right GA4 channel, use the UTM builder and GA4 channel checker.
tagged share of sessions = sessions with a UTM ÷ all sessions × 100 sessions without a UTM = all sessions - sessions with a UTM Unassigned share = Unassigned sessions ÷ all sessions × 100 tagged share of revenue = revenue with a UTM ÷ all revenue × 100
What each term means
- Sessions with a UTM
- Sessions whose Session manual source was set by a utm_source parameter on the link.
- Direct
- GA4's channel for sessions with source (direct) and medium (not set) or (none): a visit with no source GA4 can see. See direct traffic.
- Unassigned
- What GA4 uses when no channel rule matches a session. A tag GA4 does not recognise lands here.
- gclid
- The click ID Google Ads auto-tagging adds to a link. It is not a UTM, so those sessions count as untagged here.
Where to find the numbers in GA4
- All sessions and revenue: Reports, Acquisition, Traffic acquisition: the totals for your date range.
- Sessions with a UTM: the Manual report. Google's path is Reports, Life cycle, Acquisition, Overview, then View Manual campaigns on the Sessions by Session manual source card. It shows data only for sessions that arrived with UTM parameters. Add up the sessions, and the revenue, on every row except (not set).
- Unassigned: in Traffic acquisition, the Unassigned row of the Session default channel group.
- Google Ads auto-tagging: auto-tagged clicks carry a gclid, not a UTM. Add their sessions to the tagged numbers if you want to measure all campaign traffic.
As described in Google's Analytics help, read on 26 September 2026:
- Google Analytics Help, [GA4] Manual report. Read on 26 September 2026.
- Google Analytics Help, [GA4] Analytics dimensions and metrics. Read on 26 September 2026.
- Google Analytics Help, [GA4] Default channel group. Read on 26 September 2026.
- Google Analytics Help, Traffic-source dimensions, manual tagging, and auto-tagging. Read on 26 September 2026.
Worked example
Example numbers, round on purpose, not a real store:
- Sessions, all traffic
- 40,000
- Sessions that arrived with a UTM
- 26,000
- Sessions in Unassigned
- 1,200
- Revenue, all traffic
- €120,000
- Revenue from sessions with a UTM
- €72,000
- 1Tagged share of sessions: 26,000 ÷ 40,000 × 100 = 65.0%
- 2Sessions without a UTM: 40,000 - 26,000 = 14,000
- 3Unassigned share: 1,200 ÷ 40,000 × 100 = 3.0%
- 4Tagged share of revenue: €72,000 ÷ €120,000 × 100 = 60.0%
- 5Revenue without a UTM: €120,000 - €72,000 = €48,000
Two in every five euros of this example store's revenue arrive on sessions GA4 cannot tie to a campaign. Not all of that is a tagging gap: search, referrals and people typing the address never carry a UTM. The part you can fix is your own links: emails, ads, social posts, influencer and affiliate links.
Frequently asked questions
What is UTM coverage?
The share of your sessions, or of your revenue, that arrives on a link with UTM parameters. GA4 can tie those sessions to the source, medium and campaign you chose. The rest it has to classify from the referrer, or cannot classify at all.What is a good UTM coverage?
There is no fixed target, because some traffic never carries a UTM: organic search, referrals and people typing your address. Aim for every link you control to be tagged, such as emails, ads, social posts and influencer or affiliate links, then watch Direct and Unassigned for what slips through.Why do some tagged sessions end up in Unassigned?
GA4 puts a session in Unassigned when no channel rule matches it. A UTM with a medium or source GA4 does not recognise, such as a made-up medium, lands there. The UTM builder shows which channel a link will land in before you use it.Does a missing UTM lose the sale?
No. The order still happens and still counts in your revenue. What is lost is its source: GA4 cannot say which campaign sent the session, so it shows up under Direct, a referrer or Unassigned instead.Do Google Ads clicks need UTMs?
With auto-tagging, Google Ads adds a gclid to each click, and GA4 uses it for its Google Ads dimensions. Those sessions carry no UTM unless you add one, so count them separately here if you want the coverage of all your campaign traffic.
Related tools
- UTM builder and GA4 channel checkerBuild a tagged link, or paste one, and see which GA4 channel it lands in, and why a link ends up Unassigned.
- Click fraud calculatorPaid clicks that never became a session: how many, what share, and what they cost.
- Customer journey credit calculatorOne journey, four attribution rules: what each gives the same touchpoint.
Next: which channels do your buyers actually touch?
Your GA4 export already holds how long your buyers take and which channels they touch. First finding free, in your browser; the full read is €99.