GA4 Guide April 2026

GA4 Attribution Models Explained (And When They Are Wrong)

Ayoub Kaddouri
By Ayoub Kaddouri
Growth Hacker for B2B SaaS · €1M+ revenue tracked · LinkedIn
Updated Apr 2026

GA4 gives you 6 attribution models and defaults to Data-Driven. For most B2B SaaS and SMB DTC, GA4 Data-Driven is wrong for reasons Google does not advertise. Here is how to read GA4 attribution honestly and when to supplement it.


In This Guide

  1. 1. GA4 Data-Driven Default
  2. 2. The 6 Models Available in GA4
  3. 3. When GA4 Attribution Is Wrong
  4. 4. How to Read GA4 Attribution Reports
  5. 5. Supplementing GA4 (Server-Side + Custom SQL)
  6. 6. Monthly Workflow

GA4 Data-Driven Default

Since mid-2023, GA4 defaults to "Data-Driven Attribution" for conversions. This replaces the old Last-Click default from Universal Analytics. The algorithm is Google s proprietary machine-learning model that assigns fractional credit across touchpoints based on your site s conversion patterns.

On paper this is an upgrade: data-driven beats rule-based when you have enough data. In practice, most sites do not meet Google s own threshold to run the algorithm effectively, and Google silently falls back to a rule-based model.

Google s published threshold for data-driven attribution: 600 conversions in the selected channel grouping within 30 days, 3,000+ conversions total in 30 days across your property. Below that: data-driven results are based on a smaller data sample and are statistically shaky.

For most B2B SaaS sites, you will never hit 3,000 conversions/month. GA4 shows you data-driven results anyway, but they are noise.

The 6 Models Available in GA4

You can switch models in GA4 under Advertising → Attribution → Model comparison.

ModelHow GA4 implements itUse when
Data-DrivenProprietary ML on your data3000+ monthly conversions
Last Click (ex-Direct)100% to last non-direct touchChecking DR baseline
Last Click100% to last touch including directRarely useful
First Click100% to first touchDemand creation analysis
LinearEqual credit all touchesShort simple funnels (see linear guide)
Position-based40% first, 40% last, 20% middleB2B SaaS default (see model ranking)
Time DecayHalf-life of 7 daysSales-led, 30–90 day cycles

Note: GA4 removed "W-Shaped" and other advanced models that existed in Universal Analytics. If you need W-shaped for B2B, you build it outside GA4 in your CRM or with HockeyStack.

When GA4 Attribution Is Wrong

1. Small data volume

Under 3,000 monthly conversions, data-driven is noisy. Numbers bounce between reporting periods without real business changes. You may conclude a channel is declining when it is just statistical wobble.

2. Consent-loss and cookie-less environments

GDPR consent banners, Safari s Intelligent Tracking Prevention, Firefox s enhanced tracking, and cookie wipes all reduce the data GA4 sees. In EU traffic, consent rates of 40–60% are normal. which means 40–60% of your data is missing. GA4 models on the visible data but calls it your total.

3. Cross-device journeys

Without signed-in users or Google Signals enabled (and opted-in to by users), GA4 cannot stitch a session on mobile to a session on desktop for the same user. Each device looks like a new user. For B2B SaaS buyers who research on their phone and buy on their laptop, this is catastrophic.

4. Long consideration cycles

GA4 s default lookback window for acquisition is 30 days. Many B2B SaaS buyers take 60–120 days. If the first touch was 90 days ago, GA4 does not see it. that first touch gets reclassified as "direct" or "organic" on subsequent sessions. Your demand-creation channels get systematically under-credited.

5. Offline conversions

Deals that close via phone call, email, or Zoom. without touching your checkout. are invisible to GA4 unless you manually push them back via the Measurement Protocol or a CRM integration. Most teams never do this.

How to Read GA4 Attribution Reports

In GA4, go to Advertising → Attribution → Model comparison. Open two models side-by-side: Data-Driven and Position-Based.

What you are looking for:

  1. Agreement on channel rankings: if both models rank channels in roughly the same order, trust the ranking. Use Data-Driven for the numbers, Position-Based as confidence.
  2. Disagreement on rankings: if models rank channels differently, you have a funnel where model choice matters. The direction to trust is usually Position-Based for B2B SaaS (see model ranking).
  3. Massive "Direct" attribution: if Direct looks unrealistically large, your branded search is likely paid-driven (direct = people typing your URL after seeing an ad). Compare Direct to paid ad spend trends. they usually correlate.

Supplementing GA4 (Server-Side + Custom SQL)

Two tactics to make GA4 attribution more honest:

Server-side tracking for paid channels

Install Meta Conversions API, Google Ads Enhanced Conversions, LinkedIn Conversions API. These send conversion events from your server to each ad platform, which restores some of the signal lost to iOS 14, Safari ITP, and consent banners. Every major ad platform has this. no excuse not to have it.

Custom SQL layer on top of GA4 BigQuery export

Enable GA4 s free BigQuery export. Write SQL queries to build attribution models GA4 does not offer natively. W-shaped, custom weighting based on your funnel stages, segment-specific attribution. This is the "graduate" move when rule-based models stop meeting your needs. See my custom attribution model guide.

Monthly Workflow

15-minute monthly GA4 attribution review:

  1. Open GA4 Model Comparison: Data-Driven vs Position-Based
  2. Check channel rankings and flag any divergences
  3. Check "Direct" share. if it has crept above 30%, investigate branded search + paid demand gen
  4. Spot-check a few closed deals against GA4 s attributed path to confirm sanity
  5. Document one budget decision for the month based on this review

That is the whole process. You do not need a $2k/month tool to do attribution well with GA4. you need discipline, awareness of GA4 s blind spots, and a willingness to look at two models in parallel rather than trust any single default.

More attribution reads

From the field

Every GA4 audit I run finds at least one of these three: a default attribution window that's shorter than the actual sales cycle, missing server-side conversions API on one or more paid channels, or Google Signals not enabled for cross-device stitching. Fix those three before blaming GA4 for 'bad data.' Most teams I've audited discover that GA4 is directionally correct once configured properly. it's just that nobody configured it properly to begin with.

Frequently Asked Questions

What attribution models does GA4 support?

GA4 supports two models in standard reports: data-driven attribution (DDA) and last-click (paid/organic and Google paid channels). Rule-based models. first-click, linear, time-decay, position-based. were deprecated in 2023. They still appear in the Model Comparison and Conversion Paths reports for some properties. For reliable access to deprecated models, export raw events to BigQuery and reconstruct the logic in SQL or with the ChannelAttribution Python package.

What is GA4 data-driven attribution?

GA4 DDA uses ML to assign credit based on which touch sequences statistically increase conversion probability. It compares converters' journeys to non-converters' to identify touchpoints with genuine incremental impact, accounting for touch order, time-since-touch, and channel mix. It requires sufficient volume. Google's documented threshold is 600 conversions and 400 paths per conversion event over 30 days. Below that, GA4 falls back to last-click. DDA is the default for most newer properties.

How do I change the attribution model in GA4?

Go to Admin > Property > Attribution Settings. Switch the reporting attribution model between data-driven and last-click at the property level. The change is retroactive. historical data is recalculated. You can also adjust the lookback window: 30 or 90 days for acquisition conversions, 60 days for other events. Ads-linked conversions can use a different model than reporting. For per-report flexibility, use the Model Comparison report under Advertising > Attribution.

Why are GA4 attribution numbers different from my ad platform?

Three reasons. First, scope: Google Ads counts a conversion if any Google touch occurred in window; GA4 splits credit cross-channel. Second, lookback windows differ. Google Ads defaults to 30 days for clicks and tracks engaged-views; GA4 uses its own. Third, identity: ad platforms use platform-specific IDs; GA4 stitches via user_pseudo_id and User-ID. Discrepancies of 20-40% are normal. Treat GA4 as cross-channel source of truth and ad platforms as channel operating dashboards.

Can I export attribution data from GA4 to BigQuery?

Yes. GA4's BigQuery export is free for standard properties (1M events/day) and unlocks raw event-level data including session_traffic_source_last_click and collected_traffic_source. The export does not include the data-driven model's calculated credits, but you have all the inputs to rebuild attribution from scratch. Enable via Admin > BigQuery Links. Once flowing (24-48h), query touchpoint sequences, build any custom model, and join with CRM data.

Is GA4 data-driven attribution accurate for B2B?

Generally no. First, most B2B properties don't hit the 600-conversion threshold for DDA to activate, so GA4 silently falls back to last-click. Second, B2B journeys involve offline touches (sales calls, events, demos) GA4 can't see. so even a working DDA model only attributes the visible portion. Treat GA4 DDA as a directional input and pair it with CRM-based attribution that captures the full journey. Better: push CRM events back into GA4 via Measurement Protocol.