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.

Analyze My Acquisition →

Free. No credit card. Connects via Google OAuth.

↗Acquisition Quality by Source
Last 30 days
●

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

google / organic(direct) / (none)reddit / social
Source / MediumSessionsReturn RateAcq. Score
google / organic12.8K
29.1%
58
google / cpc4.8K
4.2%
18
(direct) / (none)3.2K
42%
67
reddit / social521
41.3%
70
facebook / paid_social289
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.

01

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.

02

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.

03

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.

04

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.

05

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?"

06

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:

firstUserSourceMedium

The 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.

newVsReturning

GA4'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.

≥ 30%Strong retention — this channel builds an audience
15–29%Average — room to improve retention from this source
< 15%One-off visits — traffic without lasting acquisition

Common Questions

How is this different from the New vs. Returning report in GA4?↓
GA4's built-in New vs. Returning report shows the split site-wide — 70% new, 30% returning. It doesn't break that down by channel. This report shows you the return rate for each individual source/medium, so you can compare reddit/social at 41% against google/cpc at 4% on the same screen.
Does this use the GA4 alpha API or any experimental endpoints?↓
No. The report uses only the standard v1beta GA4 Data API — the same endpoint used by the GA4 interface itself. No alpha dependencies, no risk of breaking on endpoint changes.
What counts as 'returning' in GA4?↓
GA4 classifies a user as 'returning' when they have at least one previous session on your property, identified via the GA4 client ID stored in a first-party cookie. If a user clears their cookies or switches browsers, GA4 won't recognize them as returning. The newVsReturning dimension reflects this — it's GA4's best assessment given available signals.
Should I expect a high or low return rate?↓
It depends heavily on content type. News sites and viral content naturally have low return rates — people come once from a share and leave. SaaS products, newsletters, and tools should see higher return rates. The value isn't in comparing to a benchmark — it's in comparing your channels to each other and tracking how return rate changes over time.
What does the Acquisition Score mean?↓
Without key events: Return Rate × 0.6 + Engagement Rate × 0.4. With key events selected: Return Rate × 0.4 + Engagement Rate × 0.3 + Normalised Key Event Rate × 0.3. The key event rate is normalised against the best-performing source in your data, so you're comparing channels to each other rather than to an external benchmark. Sources with zero key events lose the full 30% KE component, which is the intended behaviour — if you've told the report conversions matter, a channel that drives none of them should rank lower.

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 →
✓Free
✓Read-only GA4 access
✓No credit card
✓Results in seconds
✓No GA4 data stored