The question behind this is always "where should we spend more?" Sessions alone can't answer it โ a channel with half the traffic and triple the conversion rate is the better channel.
Steps
-
Pull channel-level performance.
google_analytics.run_reportwithdimensions: ["sessionSourceMedium"],metrics: ["sessions", "totalUsers", "newUsers", "engagementRate", "averageSessionDuration", "conversions"](add"totalRevenue"if the property tracks it), over a 30-day window,limit: 50. -
Compute per-channel efficiency. Conversions รท sessions per channel. This ratio, not raw sessions, is what should drive the recommendation.
-
Add a trend. Re-run with
dimensions: ["date", "sessionSourceMedium"]to see whether each channel is growing or shrinking. A small but fast-growing channel is often the real finding. -
Break organic down further (if Search Console is connected). GA4 collapses all organic search into one bucket.
google_search_console.querywithdimensions: ["query"]splits it into branded vs non-branded โ filter by whether the query contains the brand name. Branded organic mostly reflects demand you created elsewhere; non-branded is what SEO actually earned. Reporting them as one number consistently overstates SEO. -
Report. One table sorted by conversions: channel, sessions, engagement rate, conversions, conversion rate, and 30-day trend. Then name the highest-efficiency channel, the biggest-volume channel, and where they differ โ that difference is the recommendation.
Gotchas
- Never rank channels by sessions. It always flatters whatever is cheapest to buy.
- Direct traffic is a junk drawer. It absorbs untagged campaigns, app opens, and lost referrers. A large direct share usually means a UTM tagging problem, not genuine type-in traffic โ say so.
- GA4 conversions depend on configured key events. If conversions come back as zero everywhere, the property likely has none configured. Report that finding rather than concluding nothing converts.
- Attribution is last-click by default. Channels early in the journey (organic, social) get systematically undercredited. Flag this before recommending anyone cut spend.
- Don't join GA4 organic sessions to Search Console clicks and expect them to match. They count different things (sessions vs clicks) with different bot filtering. Trends are comparable; absolute numbers aren't.