GA4 Channel Performance Report: Traffic to Revenue

Build a GA4 channel performance report by default channel group: sessions, engagement, key events and revenue, with sample output and setup in Better Analyst.

Summary

A GA4 channel performance report groups sessions by sessionDefaultChannelGroup (Organic Search, Paid Search, Direct, Email and so on) and shows engagement, key events and revenue for each. Connect your GA4 property to Better Analyst and ask for it in plain English, or build it yourself with the Data API fields listed below.

On this page
  1. Who this report is for
  2. What the report includes
  3. How to build it in Better Analyst from Google Analytics
  4. Questions to ask
  5. Sample output
  6. Charts to use
  7. Keep it up to date
  8. Further reading
  9. FAQ

Who this report is for

Marketing managers and agency account leads who need one table answering 'which channels bring traffic that converts', usually weekly or monthly, without exporting GA4 explorations by hand.

What the report includes

Metrics and dimensions in this report
MetricSource fieldWhy it matters
ChannelsessionDefaultChannelGroupGA4's rules-based grouping of each session's source and medium, so every report uses the same channel definitions.
SessionssessionsVolume of visits each channel delivered in the period.
Engaged sessionsengagedSessionsVisits that lasted over 10 seconds, had a key event or viewed 2+ pages: a quality filter on raw traffic.
Engagement rateengagementRateEngaged sessions ÷ sessions; shows whether a channel sends people who actually look around.
Key eventskeyEventsCount of the events you marked as key events (GA4's replacement for conversions).
Session key event ratesessionKeyEventRateShare of sessions with at least one key event, the fairest conversion comparison across channels of different size.
RevenuetotalRevenuePurchase, subscription and ad revenue attributed to the channel's sessions.
New usersnewUsersSeparates channels that find new audiences from ones that mostly bring back existing visitors.

How to build it in Better Analyst from Google Analytics

  1. In Better Analyst, open Connectors, choose Add Connector, then Google Analytics.
  2. Click Connect with Google and sign in with an account that has Viewer or Admin access to the GA4 property. Better Analyst requests read-only access.
  3. Pick the GA4 account and property from the dropdowns and click Connect. Universal Analytics properties are not supported.
  4. Open a new chat with the GA4 connector and ask for a channel report for a specific range, for example 'last full month compared with the month before'.
  5. Check the generated query and table, then ask for a chart or a web dashboard of the same report.

Questions to ask

  • “Show sessions, engagement rate, key events and revenue by default channel group for last month versus the previous month.”
  • “Which channel had the biggest drop in session key event rate this quarter?”
  • “Compare Organic Search and Paid Search revenue per session for the last 90 days.”
  • “What share of new users came from each channel this year?”
  • “Rank channels by revenue and add a column for change versus the same month last year.”

Sample output

Sample data for illustration, not real account data.

Sample data: channel performance for one month (illustrative, not a real property)
ChannelSessionsEngagement rateKey eventsKey event rateRevenue
Organic Search38,42061.2%1,1523.0%$84,300
Paid Search14,86054.8%6244.2%$51,900
Direct12,30058.1%4183.4%$36,200
Email4,95070.4%2976.0%$28,700
Organic Social9,71038.6%971.0%$5,400

Charts to use

  • Sessions and revenue by channel (Grouped bar chart): Which channels drive volume versus which drive revenue, side by side.
  • Key event rate by channel (Horizontal bar chart): Conversion efficiency per channel, sorted so the best converters sit on top.
  • Channel mix over time (Stacked area chart): How each channel's share of sessions shifts month by month.

Keep it up to date

Save the chat as a scheduled task to rerun the report every Monday or on the 1st of each month and deliver it by email or Slack. To watch a single number, add an alert, for example when Paid Search key events fall by more than 20% versus the previous week.

Further reading

Try Better Analyst free

Frequently asked questions

What is the default channel group in GA4?
It's GA4's built-in classification of each session's source and medium into channels like Organic Search, Paid Search, Direct, Referral, Email and Organic Social. In the Data API the session-scoped dimension is sessionDefaultChannelGroup; firstUserDefaultChannelGroup shows the channel that first acquired the user.
Why don't my channel totals match the GA4 interface exactly?
Small differences usually come from thresholding, date-range time zones, or comparing session-scoped and user-scoped dimensions. Use the same date range, property time zone and scope on both sides.
Can I see Google Ads cost in this report?
Only if your Google Ads account is linked to GA4, which makes cost metrics such as advertiserAdCost available for Google Ads traffic. Better Analyst has no separate ads-platform connector, so costs from other ad networks need to come from a sheet or warehouse table.