GA4 Attribution Models: Data-Driven vs Last Click and What the Difference Actually Means
GA4 has three models left, two lookback settings that most teams have never opened, and since January 2026 a per-key-event override that changes what Google Ads bids on. What data-driven attribution actually computes, which reports the model touches and which it does not, how the August 2026 custom lookback windows work, and how to read a GA4 attribution report next to a Google Ads report without concluding one of them is broken.
every quarter someone compares a ga4 channel report to a google ads campaign report, finds a gap, and opens a ticket that says tracking is broken. usually nothing is broken. the two systems are answering different questions with different models, different lookback windows, and different date conventions, and ga4 itself applies its attribution model to some dimensions and not others. this guide is the map.
what a ga4 attribution model actually is
an attribution model is the rule ga4 uses to split credit for a key event across the traffic sources that preceded it within a lookback window. since november 2023, ga4 has exactly three:
- data-driven attribution (dda). the default. it distributes credit "based on data for each key event," using a model that compares the paths of users who completed the key event with the paths of users who did not, and weighs factors including time since interaction, device, number of interactions, order of exposure, and creative asset type (google analytics help, attribution models).
- paid and organic last click. all credit to the last non-direct touch. direct is ignored unless it is the only touch in the window.
- google paid channels last click. all credit to the last google ads click in the path; if there is none, it falls back to paid and organic last click.
first click, linear, time decay, and position-based were removed in november 2023 and are not coming back.
here is what most guides get wrong: the model is not applied everywhere. google is specific that the reporting attribution model applies to key event reports and explorations that use event-scoped traffic dimensions such as source, medium, campaign, and default channel group. user-scoped and session-scoped dimensions, such as session source or first user medium, are unaffected (google analytics help, attribution settings). a traffic acquisition report keyed on session source is showing you session attribution, which is effectively last non-direct click at the session level, no matter what the property's model says. only reports on event-scoped dimensions, and the advertising workspace reports, use dda.
the second thing they get wrong: dda "may leverage aggregate data from data sharing settings," and conversions can be reattributed for up to 7 days after they happen. a dda number pulled the morning after is not final.
the fundamental shift: from one property setting to per-key-event settings that feed bidding
before: one attribution model and one lookback window per property, set in admin. every key event shared them. what ga4 exported to google ads for bidding used those same settings.
after january 16, 2026: google shipped improved web conversion management in beta with the note that "conversion attribution settings are now adjustable independently for every conversion, enabling customers to fine-tune their bidding strategies in google ads" (google analytics release notes, january 2026). the per-conversion settings live in the advertising workspace under conversion management, not in the admin attribution settings. a newsletter signup and a purchase no longer have to share a model or a window. the property-level setting remains the default; per-conversion settings override it for specific key events, and those overrides carry into the conversions you import to google ads (1clickreport, march 2026).
after august 11, 2026: the conversion lookback presets became integers. "google analytics conversions now support custom integer lookback windows for click-through conversions and engaged-view conversions," with click-through settable from 1 to 90 days and engaged-view from 1 to 30 days, where engaged-view had previously been fixed at 3 days (google analytics release notes, august 2026).
the shift is this: attribution in ga4 used to be a reporting preference. now it is a per-conversion bidding input. the model and window you choose for the purchase key event change what smart bidding in google ads is optimizing toward.
what this broke in existing accounts
1. reports that disagree with themselves
a team compares the traffic acquisition report (session-scoped, session attribution) with the advertising workspace attribution report (event-scoped, dda) and finds paid social credited with 40% more purchases in one than the other. both are correct. one is last click at the session level, the other is data-driven at the event level.
2. lookback windows nobody set
the key event lookback window in admin defaults to 90 days for most key events (30 and 60 available) and 30 days for first_open and first_visit (7 available), and google notes changes apply going forward only (google analytics help, attribution settings). a 90-day window on a product with a 4-day purchase cycle credits touches that had nothing to do with the sale. a 30-day window on a 6-week b2b cycle drops the touches that started the deal.
3. per-conversion overrides that changed google ads bidding without anyone noticing
since january 2026 an override on the purchase key event's model or window changes the imported conversion google ads bids on. a settings change made for a cleaner report shifted smart bidding's inputs, and the campaign went into learning with no change in the ads account's own change history.
4. dda treated as a fixed calculation
dda is a model that learns from the property's own paths. in a thin property it has less to learn from. google's ga4 documentation publishes no minimum threshold; the google ads dda documentation recommends at least 200 conversions and 2,000 ad interactions in 30 days for the model to work well, while stating every conversion action is eligible regardless of volume (google ads help, about data-driven attribution). the 400-conversion and 20,000-conversion thresholds repeated across third-party guides do not appear in google's current documentation. treat dda on a low-volume key event as an estimate with wide error bars, not as truth.
5. google ads and ga4 compared on the same date range
google ads records a conversion against the date of the click. ga4 records it on the date the key event happened. a 30-day click-to-purchase lag moves a conversion into a different week in each system. comparing calendar-week totals across the two will never reconcile, and the gap widens with the conversion lag (dataslayer, google ads and ga4 discrepancies).
6. modeled conversions on one side only
ga4 exports observed conversions to google ads, and google ads applies its own modeling on top. so google ads can show more conversions for a ga4-imported key event than ga4 shows for the same event. this is by design and is documented by google, but it reads as a discrepancy in every reconciliation deck.
the documented facts
there is no public dataset comparing dda and last click outcomes across properties. the numbers below are google's documented rules.
- three models remain: data-driven, paid and organic last click, google paid channels last click. rule-based models were removed november 2023. (google analytics help, attribution models.)
- the reporting attribution model affects event-scoped traffic dimensions only; session-scoped and user-scoped dimensions ignore it. model changes apply to historical and future data. lookback changes apply going forward. (google analytics help, attribution settings.)
- default key event lookback: 90 days, options 30 and 60. acquisition events: 30 days, option 7. (same.)
- google notes that changing which channels are eligible for credit "may impact the conversions you create bidding and reporting in google ads" and may take a few days to reflect. (same.)
- january 16, 2026: per-conversion attribution settings in beta; conversion attribution analysis report in beta with an assisted conversions view (last click) and a refined funnel analysis view (dda); cross-channel budgeting beta. (google analytics release notes.)
- august 11, 2026: integer lookback windows, click-through 1 to 90 days, engaged-view 1 to 30 days, previously presets and a fixed 3-day engaged-view. (same.)
- google ads offers two models, data-driven and last click; data-driven is the default for most conversion actions and recommends 200 conversions and 2,000 interactions per 30 days for best results. (google ads help, about data-driven attribution.)
- dda reattributes conversions for up to 7 days after they occur. (google analytics help, attribution models.)
what changed in 2026 specifically
january 16, 2026: per-conversion attribution settings (beta), conversion attribution analysis report (beta), cross-channel budgeting (beta), all in the advertising workspace. the attribution decision moved from one admin toggle to a per-key-event decision with bidding consequences.
june 2026: google ads relabeled target strategies (target cpa and target roas as standalone names). no attribution change, but the bidding guide explains why attributed conversion counts matter more now that targets are enforced on budget-limited campaigns from august 17, 2026.
august 11, 2026: custom integer lookback windows for conversions. the first time you can match the window to your actual purchase cycle rather than pick the nearest preset.
still true and still ignored: the admin key event lookback setting uses presets and also governs session attribution. two lookback settings now exist in two places. an audit has to read both.
what actually works now
1. decide what each report is for before you pick a model
- reporting on channel contribution to the business: dda, read in the advertising workspace attribution reports, on event-scoped dimensions.
- reporting on what the last touch was, to match a crm or a platform: paid and organic last click, or the session-scoped traffic acquisition report.
- feeding google ads bidding: whatever model and window is set on the key event you import. that is now a per-conversion decision.
write down which of the three each stakeholder report uses. most reconciliation arguments end there.
2. set the lookback from the purchase cycle, not from the default
measure the median and 90th percentile days from first session to purchase in the conversion paths report. set the purchase key event's click-through window at roughly the 90th percentile, using the integer setting available since august 11, 2026. keep the admin preset lookback consistent with it (30, 60, or 90) so session attribution and event attribution are not using wildly different horizons. remember both changes apply going forward, so give the new window a full cycle before comparing.
3. use per-conversion settings deliberately, and log them
a lead key event with a 30-day window and dda, a purchase key event with a 45-day window and dda, a newsletter signup on last click with 7 days: fine. but every override on an imported key event changes google ads bidding. change one at a time, record the date in the google ads account as a note, and expect a learning period.
4. reconcile ga4 to google ads by cohort, not by calendar
pull google ads conversions by click date and ga4 key events by event date, then compare on a cohort of clicks with a 30-day maturity. when the two are within 10 to 15% after maturity, the tracking is fine and the rest is model and modeling. the ga4 and google ads linking guide has the setup side.
5. read the attribution reports in this order
model comparison first, with dda against paid and organic last click for the key event you care about. channels whose credit moves the most between models are the ones doing early-path work. conversion paths second, to see path length and time lag; that number sets your lookback. the new conversion attribution analysis report third, assisted conversions view for stakeholders who think in last click, refined funnel view for dda.
6. do not use session-scoped dimensions to argue about attribution
if the report is keyed on session source or first user source, it is not using the model. that is fine for acquisition reporting. it is the wrong artifact for a "what deserves credit" conversation.
7. keep the utm layer clean or the model has nothing to work with
dda splits credit across sources it can identify. sessions filed under unassigned get no credit and teach the model nothing. the utm standard is prerequisite to any attribution model meaning anything.
what to stop doing immediately
- stop comparing traffic acquisition (session-scoped) to advertising attribution (event-scoped) as if they should match.
- stop leaving the 90-day default lookback on a product with a one-week purchase cycle, and stop leaving 30 days on a two-month cycle.
- stop changing a key event's attribution model or window without treating it as a google ads bidding change.
- stop quoting dda thresholds that are not in google's documentation.
- stop reconciling google ads and ga4 on the same calendar week. use click cohorts.
- stop treating a google ads conversion count above the ga4 count as a bug. modeling is applied on the ads side.
- stop reading yesterday's dda numbers as final. reattribution runs for 7 days.
the orbit agent instructions
{
"guide": "ga4-attribution-models",
"agent_tasks": {
"audit_reporting_model_and_lookback": {
"check": "read the property's reporting attribution model and the key event lookback window from attribution settings, then compare the lookback to the observed median and 90th percentile days-to-conversion for the primary key event over the last 90 days",
"flag": "a lookback window shorter than the 90th percentile lag, or more than 3x the 90th percentile lag, or a non-dda model set without a documented reason",
"recommend": "set the click-through lookback near the 90th percentile lag using the integer window, align the admin preset to the nearest of 30, 60, or 90, and record the change date because it applies going forward"
},
"audit_per_conversion_overrides": {
"check": "for every key event, read whether a per-conversion attribution model or lookback override exists in conversion management and whether that key event is imported into google ads as a conversion action",
"flag": "an override on any key event that google ads bids on, changed within the last 30 days, with no matching note in the google ads account or change log",
"recommend": "document the override, notify the user that smart bidding inputs changed on that date, and hold further attribution edits for one conversion cycle"
},
"audit_dda_data_sufficiency": {
"check": "count key events per 30 days for each key event using dda, and count ad interactions in google ads for imported ones",
"flag": "fewer than 200 conversions or fewer than 2,000 ad interactions in 30 days on a key event used for bidding with dda",
"recommend": "report dda credit for that key event as directional, consolidate key events where possible, and compare against last click before making budget decisions"
},
"reconcile_ga4_to_google_ads_by_cohort": {
"check": "for the primary imported key event, pull google ads conversions by click date and ga4 key events by event date for a click cohort at least 30 days old, and compute the ratio",
"flag": "a matured gap larger than 25% in either direction, or a gap that widened by more than 10 points versus the prior cohort",
"recommend": "check consent mode and modeling settings, confirm the same key event is imported, confirm the conversion window in google ads matches the ga4 lookback, and only then treat the residual as a tracking issue"
},
"audit_scope_of_dimensions_in_reports": {
"check": "for each saved report, exploration, or dashboard query the brand relies on for channel credit, identify whether it uses session-scoped, user-scoped, or event-scoped traffic dimensions",
"flag": "any report presented as attribution that is keyed on session source, session medium, or first user dimensions",
"recommend": "relabel it as acquisition reporting and add an event-scoped or advertising workspace view for attribution conversations"
},
"monitor_model_comparison_shifts": {
"check": "monthly, run model comparison for the primary key event, dda versus paid and organic last click, and record the credit share per default channel group",
"flag": "any channel whose dda share moved more than 10 points month over month, or whose dda-to-last-click ratio inverted",
"recommend": "check for utm drift or a new campaign type before interpreting the move as a real change in channel contribution"
}
}
}
the bottom line
ga4 has three models, and the model only touches event-scoped dimensions. session reports are last click no matter what admin says. since january 2026 the model and window are set per key event and flow into google ads bidding, and since august 2026 the window can be any integer, so set it from your real purchase lag.
reconcile ga4 to google ads by click cohort, not by calendar week, and stop opening tickets for gaps that are just two systems answering two different questions.
built by orbit - the performance marketing intelligence layer. questions? jose@orbitllm.com