Acquisition Quality Report
Which Channels Drive Users Who Actually Come Back?
Traffic volume is the wrong metric. A channel sending 5,000 one-off sessions is worth less than one sending 500 users who return. This report shows you the difference — return rate by source/medium, not just session counts.
Free. No credit card. Connects via Google OAuth.
Strength — reddit / social drives a 41.3% return rate — this channel converts visitors into repeat users.
Watch Out — google / cpc sends 4.8K sessions but only 4.2% return — high volume, low retention.
Returning Sessions Over Time
| Source / Medium | Sessions | Return Rate | Acq. Score |
|---|---|---|---|
| google / organic | 12.8K | 29.1% | 58 |
| google / cpc | 4.8K | 4.2% | 18 |
| (direct) / (none) | 3.2K | 42% | 67 |
| reddit / social | 521 | 41.3% | 70 |
| facebook / paid_social | 289 | 6.2% | 15 |
Traffic vs. Acquisition — They're Not the Same Thing
Every channel report in GA4 shows you session counts. What it doesn't show you is how many of those sessions came from users who had been to your site before — and how many were one-time visitors who never returned.
That distinction matters more than the session count itself. A channel with a 40% return rate is building an audience. A channel with a 4% return rate is renting attention. Both look fine in a standard sessions report.
The Acquisition Quality report uses GA4's newVsReturning dimension crossed with firstUserSourceMedium — the channel that originally acquired each user, not the source of their current session. That distinction matters: a Reddit-acquired user coming back via email is counted against Reddit, not email. No alpha endpoints, no custom funnels — just the standard GA4 Data API answering a question it's never been asked.
The number that changes everything
Reddit drives 521 sessions, 41% return rate. Paid search drives 4,821 sessions, 4% return rate. By volume, paid looks 9× better. By acquisition quality, Reddit is outperforming it — for a fraction of the cost.
Why doesn't GA4 surface this by default?
GA4's default reports show new vs. returning as a site-wide split. They don't cross it with source/medium, so you can't see which specific channels are driving each cohort. This report does the pivot for you — and adds trend data, source grouping, and an acquisition score so you can act on it.
What the Report Shows
Connect your GA4 property and get this breakdown in under 10 seconds.
Return Rate by Source / Medium
For every source/medium with meaningful volume, the percentage of sessions that came from returning users. Sortable, color-coded, immediately scannable.
Acquisition Score
A composite score that ranks channels by acquisition quality. Base formula: return rate (60%) + engagement rate (40%). When key events are selected: return rate (40%) + engagement (30%) + normalised key event rate (30%). Sources that drive zero key events lose that 30% — so conversions meaningfully affect rank without collapsing high-engagement sources.
Returning Sessions Over Time
A trend chart showing how your returning session base is growing (or shrinking) per channel over the date range. Spot momentum before it shows up in aggregate reports.
Source Grouping
Search for sources by keyword ("paid", "social", "reddit"), check them, and group them. Groups aggregate stats and appear as single lines in the trend chart — compare Paid vs. Organic vs. Social in one view.
Key Event Tracking
Select any GA4 event and see how many times it fired per source — layered on top of the return rate data. Answers "which channels drive users who come back AND convert?"
Automatic Insights
Strength, Opportunity, and Watch Out callouts from your actual data — hidden gems with high return rates and low volume, volume traps with poor retention, and overall retention health.
How Return Rate Is Calculated
No custom events, no funnels, no configuration. The report uses two standard GA4 dimensions you already have:
firstUserSourceMediumThe source and medium of the user's first ever session — e.g. google / organic, reddit / social, newsletter / email. This is fixed for each user — it never changes regardless of how they return later.
newVsReturningGA4's built-in session classification — new for a user's first session, returning for any subsequent session, regardless of what channel it came from.
Why this combination is important
If a user first arrives via Reddit and comes back the next week via a Google search, their return session is attributed to reddit / social (first touch), not google / organic (current session). That's the key difference from a sessions-by-channel report — you're measuring whether Reddit acquired someone, not just whether Reddit sent traffic.
The formula
Return Rate = returning sessions ÷ (new sessions + returning sessions)Computed per source/medium by pivoting the GA4 response. Sources below 25 sessions (configurable) are excluded to remove noise from low-volume channels with misleading 100% return rates.
Common Questions
How is this different from the New vs. Returning report in GA4?↓
Does this use the GA4 alpha API or any experimental endpoints?↓
What counts as 'returning' in GA4?↓
Should I expect a high or low return rate?↓
What does the Acquisition Score mean?↓
Find Out Which Channels Are Actually Working
Connect your GA4 property and get your acquisition quality breakdown in seconds. Free, read-only access — we never modify your data.
Run My Acquisition Report →
