Attribution

Last-Touch Attribution for E-commerce

What last-touch attribution is, why ad platforms default to it, where it misleads, and how order-based attribution shows the full story behind a sale.

Tilen Ledic

Tilen Ledic

Written by

| | Updated | 27 min
Last-Touch Attribution for E-commerce

You check Google Ads: 45 conversions last week. You check Meta Ads Manager: 30 conversions. Your WooCommerce dashboard shows 52 actual orders. Together, the platforms claim 75 conversions for 52 real orders.

This is not a tracking error. Both platforms use their own version of last-touch attribution, and both claim credit for the same customers. A user who clicked your Facebook ad on Tuesday and your Google Ad on Thursday before buying? Meta says it was their ad. Google says it was theirs. The order only happened once.

Last-touch attribution, the single-touch model that gives 100% of the conversion credit to the final touchpoint before purchase, is the model every ad platform's own dashboard is built on. Marketers know its limits: in a July 2024 EMARKETER survey commissioned by Snap, 74.5% said they are moving away from last-click attribution or would like to. It stays popular because it is simple and available everywhere, not because it gives you the full picture.

This article explains exactly how last-touch attribution works, where it leads you astray, and what you can do about it. For the full map of how every model and tracking approach fits together, see our complete guide to ecommerce attribution.

What Is Last-Touch Attribution?

Last-touch attribution is a single-touch attribution model that assigns 100% of the conversion credit to the final marketing touchpoint a customer interacts with before purchasing.

The logic: the last interaction is what tipped the customer over the edge. Whatever happened before was background context. The retargeting ad that brought them back, the email with the discount code, the branded Google search right before checkout. That is what closed the sale.

Last-touch attribution is closely related to "last-click attribution." Most marketers use the terms interchangeably, though there is a technical distinction (covered in the last-click vs last-touch section below).

How the Last-Touch Model Works (With Example)

Using the same customer journey:

  1. Clicks a Google Ad (Day 1)
  2. Visits from organic search (Day 5)
  3. Clicks a Facebook ad (Day 8)
  4. Opens an email (Day 12)
  5. Visits directly and purchases (Day 14)

Under last-touch attribution, the direct visit gets 100% credit because it was the final interaction:

Attribution modelGoogle AdsOrganicFacebookEmailDirect
Last-touch€0€0€0€0€100
First-touch€100€0€0€0€0
Linear€20€20€20€20€20
Multi-touch (U-shaped)€40€7€7€7€40

In this example, last-touch credits "Direct" with the entire €100 sale. The Google Ad that introduced the customer, the organic visit that built familiarity, the Facebook ad that retargeted them, the email that nudged them. All get zero credit.

Google Analytics 4 addresses this partially with "Paid and organic last click," which ignores Direct as a last touch and instead credits the last non-direct channel. In this case, the email would get credit. The core problem remains.

Under last-touch attribution one channel gets everything and the rest get nothing, however many visits came before the purchase.

In Enalitica's data, last 90 days to 28 September 2026, across more than 6,500 order journeys, the last touch before an order was organic search for 24.8% of orders, a direct visit for 24.4%, Google Ads for 20.4%, Meta Ads for 11.8% and email for 3.3%. Nearly half of all orders close on a visit nobody paid for, and that is exactly the half a last-touch report files under "Organic" and "Direct" with no history attached.

Last-Touch Defaults in Google Ads, Meta, and GA4

Understanding how each platform handles last-touch attribution is critical. Their default settings directly shape what you see in your reports and what decisions you make.

Google Ads switched its default from last-click to data-driven attribution in 2023. New conversion actions now use data-driven attribution by default. However, older accounts and campaigns may still use last-click. If you have not checked your attribution settings recently, you might still be on last-click without realizing it.

How to check: Go to Google Ads > Goals > Conversions > Settings. Look at the "Attribution model" column for each conversion action. If it says "Last click," your reports are using pure last-touch. Switch to "Data-driven" for better accuracy.

Last-touch data in Google Analytics 4

GA4 uses "Data-driven" attribution as its default reporting model. The rules-based alternatives are "Paid and organic last click" (essentially last non-direct click) and "Google paid channels last click"; first click, linear, time decay and position-based were removed in November 2023.

How to see last-touch data in GA4:

  1. Go to Acquisition > Traffic acquisition. This report shows "Session" dimensions, which represent the last-touch channel for each session.
  2. In Explore, use the "Session default channel group" dimension to see last-touch attribution per transaction.
  3. Compare with "First user default channel group" to see first-touch alongside last-touch for the same users.

Key distinction: GA4's "Traffic acquisition" report = last-touch perspective. "User acquisition" report = first-touch perspective. Looking at both gives you a more complete picture than either alone.

Meta Ads attribution windows (7-day click, 1-day view)

Meta Ads Manager reports on a last-touch basis inside an attribution setting, and on most purchase ad sets that setting is 7-day click, 1-day view (check the attribution setting on your ad set, it can differ). If someone clicks your ad and converts within 7 days, Meta claims the conversion. If they only viewed the ad (no click), they must convert within 24 hours for Meta to take credit.

This means Meta will attribute conversions that happened up to a week after a click, even if the customer interacted with other channels in between. A customer who clicked your Meta ad on Monday and then clicked a Google Ad on Wednesday before buying on Thursday? Meta claims it (within 7-day window). Google Ads also claims it (data-driven or last-click). Double-counting happens silently.

Why Meta and Google claim the same conversion

Each ad platform runs its own last-touch model in isolation. They do not see each other's data. The result: if a customer touches multiple paid channels before buying, every platform with a touchpoint inside its attribution window claims the conversion.

Customer actionMeta claims?Google Ads claims?Actual orders
Clicks Meta ad Monday, buys Monday✓✗1
Clicks Meta ad Monday, clicks Google Ad Wednesday, buys Thursday✓ (7-day window)✓ (last click)1
Views Meta ad Monday, clicks Google Ad Tuesday, buys Tuesday✓ (1-day view)✓ (last click)1
Platform-reported total323

Three actual orders, but the platforms collectively report 5 conversions. This is why your ad platform numbers always add up to more than your actual order count. You need a single source of truth that starts from real orders, not from each platform's self-reported numbers.

This is not a hypothetical. 10,453 conversions reported by the two platforms against 10,458 orders in the stores' own databases: that is Enalitica's data for the last 90 days to 28 September 2026, from stores with Meta and Google Ads connected, more than 10,000 orders and over €700,000 in revenue.

Meta and Google Ads together claimed as many conversions as the stores had orders in total, including every order that came from email, organic search or a direct visit.

Last-touch attribution double-counting problem: Meta and Google Ads both claim 1 conversion for the same order, 2 claimed vs 1 real

First-Touch vs Last-Touch: Key Differences

Both models are single-touch, both are simple, and both have significant blind spots. Here is how they compare:

AspectFirst-touch attributionLast-touch attribution
CreditsFirst interaction before conversionFinal interaction before conversion
Answers"What introduced this customer?""What made them buy?"
ValuesAwareness channels: display, social, content, SEOConversion channels: retargeting, email, branded search, direct
IgnoresMiddle and bottom of funnelTop and middle of funnel
Best forJustifying awareness budgetsOptimizing conversion campaigns
GA4 reportAcquisition > User acquisitionAcquisition > Traffic acquisition
GA4 dimension"First user default channel group""Session default channel group"
RiskOver-investing in awareness, under-investing in closingCutting awareness spend that feeds the funnel
Platform defaultNone of the major platformsMeta Ads (7d click/1d view), Google Ads (was default until 2023)

The core trade-off: Last-touch measures demand capture, the channels that convert existing purchase intent. First-touch measures demand generation, the channels that create that intent. Cutting awareness channels because last-touch shows them at zero conversions is one of the most common budget mistakes in e-commerce. For models that credit both the introduction and the close, see our guide to multi-touch attribution.

When the Last-Touch Model Makes Sense

Despite its limitations, last-touch attribution provides useful signal in specific scenarios:

Your situationWhy last-touch helps
Direct response campaigns (single session, buy now)The last (and only) touch IS the full journey
Simple funnel with 1-2 channelsLimited touchpoints mean last-touch is reasonably accurate
Promotional campaigns (flash sales, limited stock)Recent interaction drives urgency, last-touch captures this
Small store with limited budgetSimple to implement, no additional tooling needed
Conversion rate optimizationIdentifies which landing pages and creatives close the most sales
Low-price impulse products (<€30)Customers often buy in a single session, so last touch = only touch

The honest take: For stores with under €2,000/month in ad spend and primarily US traffic (high consent rates), last-touch attribution through GA4 is often sufficient. The data gaps are manageable at this scale. The problems compound as you grow, add channels, and sell into privacy-conscious markets.

The 6 Drawbacks of Last-Touch Reporting

1. Last-touch systematically overvalues closing channels

Branded search, retargeting, and email are common bottom-of-funnel "closers." They catch customers at the end of their journey. Under last-touch, they get all the credit. But they are only effective because awareness and consideration channels filled the funnel. If nobody had heard of your brand, nobody would search for it.

The reverse also hides. In Enalitica's data, last 90 days to 28 September 2026, among orders where an email click appeared in the journey, email was not the last touch for 35.6% of them; for Google Ads the share was 26.7%, for organic search 25.9%, for Meta Ads 16.3%. A third of the orders email helped never appear in an email column under last-touch, because a later branded search or direct visit took the credit.

2. Last-touch creates a dangerous budget spiral

Here is the pattern that plays out repeatedly. Last-touch shows display ads driving zero conversions, so you cut display spend, and branded search conversions drop two months later because fewer people discover your brand. Last-touch then says branded search is declining, so you increase spend there. Meanwhile, the actual problem (no new customers entering the funnel) goes undiagnosed.

3. Last-touch ignores the full customer journey

Customers interact with a store across several channels before purchasing, and last-touch reduces the whole journey to a single data point. In Enalitica's data, last 90 days to 28 September 2026, 23.2% of orders had a different first touch than last touch, 25.5% touched two or more channels and 6.4% three or more, and that counts only the touches consent and cookies let us see. You see the finish line but not the race.

4. Privacy gaps make last-touch less accurate than it appears

Last-touch seems simpler to track because you "only" need the converting session. But even this has problems: ad blockers, declined consent and browsers that drop scripts mean the converting session itself may never fire a GA4 event. How often that happens is in Enalitica's data: over more than 10,000 orders in stores where both are connected (last 90 days to 28 September 2026), a GA4 purchase existed for 76.6% of the orders, for 68.5% in the median store, and for just 47% in the weakest. The order happens, the customer pays, and for roughly one order in four that last-touch data point simply does not exist.

5. Every platform claims to be the last touch

As shown in the double-counting section above, Meta, Google, and TikTok all run independent last-touch attribution. Without a unified, order-level view across platforms, you cannot reconcile their claims. You are left adding up platform-reported conversions that exceed your actual order count, with no way to untangle which platform actually deserves credit.

6. Last-touch penalizes long customer journeys

For higher-priced products the decision takes days or weeks. In Enalitica's data, last 90 days to 28 September 2026, among more than 1,500 orders with a paid ad click in the journey, 29.5% were placed more than a day after the first ad click, 9.3% more than 7 days after and 1.4% more than 30 days after. In those journeys the final touchpoint is often a branded search or direct visit. The customer already decided to buy. They just navigated to your site. Last-touch credits that navigation as if it caused the sale, while the ad campaign that spent weeks building their intent gets nothing.

Last-Click vs Last-Touch: Are They the Same?

These terms are often used interchangeably, but there is a technical distinction in credit assignment worth understanding.

Last-click attribution credits the last clicked interaction. If a customer clicked a Google Ad, then saw (but did not click) a Facebook ad, then clicked an email link and purchased, the email gets credit.

Last-touch attribution credits the last interaction of any kind, including ad impressions and views. In the same scenario, if the Facebook ad impression was the most recent interaction before purchase, Facebook could claim credit under a last-touch model with view-through attribution.

In practice: Meta Ads uses last-touch with view-through (the 1-day view window on most purchase ad sets). Google Ads used last-click by default until 2023 and now defaults to data-driven. GA4 defaults to data-driven, with "Paid and organic last click" as the rules-based alternative that ignores Direct visits. The terminology matters because view-through attribution lets Meta claim conversions even when the customer never clicked a Meta ad. This is one reason Meta often reports higher conversion numbers than Google Ads for the same traffic.

Last-Touch vs Multi-Touch Attribution

If last-touch is too narrow for your needs, here is how it compares to multi-touch models that distribute conversion credit across the full customer journey:

ModelHow credit worksAwareness channelsClosing channelsAccuracy for multi-channel
Last-touch100% to final interactionInvisible (0%)Over-credited (100%)Low
First-touch100% to first interactionOver-credited (100%)Invisible (0%)Low
LinearEqual splitFair shareFair shareMedium
Time-decayMore credit to recentUnder-creditedOver-creditedMedium
U-shaped40/20/40 first-last-middle40% (fair)40% (fair)Good
Data-drivenML-basedVaries by dataVaries by dataBest (with enough data)

For most e-commerce stores, multi-touch attribution provides a more complete picture. Data-driven is the default in Google Ads, and Google recommends at least 200 conversions and 2,000 ad interactions in 30 days for it to work well. Below that threshold, U-shaped is a strong default.

But regardless of model, the underlying challenge remains: your attribution is only as accurate as the data feeding it. If a quarter of orders never reach GA4, even the best model produces incomplete results.

How Enalitica Reveals What Last-Touch Hides

The problem with last-touch attribution is not that closing channels do not matter. They absolutely do. The problem is that last-touch is the only thing most reporting shows you. You see what closed the sale but not what started it, what influenced it, or how many other channels were involved.

Enalitica solves this by starting from your actual orders, not from analytics events that can be blocked, sampled, or double-counted by competing platforms.

First-touch, last-touch, and click IDs on every order

When an order syncs from your WooCommerce or Shopify store into Enalitica, it captures:

  • The last-touch channel: Which channel the customer used in the purchasing session (session channel group from GA4)
  • The first-touch channel: How this customer originally discovered your store (first user channel group from GA4)
  • Click IDs with timestamps: Any GCLID (Google Ads) or FBCLID (Meta Ads) associated with the order, including when the click happened

For every single order, you know both how the customer was introduced and what closed the sale. Not modeled. Not estimated. Actual data tied to an actual order you can click through and verify.

Enalitica order enrichment table with 1ST CHANNEL and LAST CHANNEL columns per order

Direct vs influenced revenue: seeing the full picture

The Porocila (Reports) tab shows every channel with two revenue numbers side by side. Here is the Google Ads view of Opremisidom, my own furniture store, for February 2026:

Enalitica Reports tab showing Direct Revenue vs Multi-Touch Revenue per Google Ads campaign with keyword-level ROAS breakdown

Direct Revenue: €15,011 from 28 orders at ROAS 3.1x. This is your last-touch number. It approximately matches what Google Ads self-reports.

Multi-Touch Revenue: €22,929 from 44 orders at ROAS 4.7x. This includes every order where a Google Ad click appeared at any point in the customer journey, whether it closed the sale or just introduced the customer.

The gap: 16 additional orders worth €7,918 where Google Ads contributed to the sale but another channel got the last touch. Under standard last-touch reporting, those 16 orders are invisible. Your ROAS looks like 3.1x when the true picture is 4.7x. If you are making budget decisions on the 3.1x number, you are undervaluing Google Ads by over 50%.

Drill into one campaign (chairs, in this case) and it gets concrete. Last-touch shows 7 orders worth €5,000 (ROAS 5.1x) across a handful of generic chair keywords. But Multi-Touch reveals 5 more orders worth €1,877 where those keywords introduced the customer. Click one and you see the order number, the town, the products and the path: the customer first clicked a generic keyword, then came back later through a different channel to buy. Last-touch gives that keyword zero credit for the sale.

The same direct-plus-multi-touch pair now exists for profit. Enalitica imports what each product costs you (from Shopify, WooCommerce, your price lists or your ERP), adds shipping, payment fees and packaging, and shows POAS (profit on ad spend) next to ROAS: direct POAS is the last-touch profit number, MT POAS adds the profit of every order the campaign assisted. Last-touch reporting undervalues assist campaigns on revenue and profit alike, so the pause rule is: act only when both POAS figures sit below 1.0.

Keyword-level Google Ads data for every order

For orders attributed to Google Ads (whether last-touch or influenced), Enalitica queries the Google Ads API to retrieve:

  • The exact keyword that triggered the ad
  • The campaign and ad group
  • The cost-per-click for that keyword
  • The ad headline that was displayed

This lets you answer: "Which keywords close sales directly (last-touch), and which keywords introduce customers who buy later through other channels (first-touch influence)?" This question is impossible to answer with Google Ads or GA4 reporting alone.

How Enalitica resolves platform double-counting

Because Enalitica starts from the actual order, each order is attributed to exactly one primary channel using a transparent, deterministic rules engine:

  1. Purchase session was Paid Search + valid GCLID → Google Ads (direct)
  2. Purchase session was Paid Social + valid FBCLID → Meta Ads (direct)
  3. Valid GCLID exists but from a different session → Google Ads (influenced)
  4. Valid FBCLID exists but from a different session → Meta Ads (influenced)
  5. Both GCLID and FBCLID exist → Most recent click gets primary attribution
  6. No valid click IDs → Session channel (last-touch)
  7. Fallback → First channel (first-touch)

One order, one primary attribution, no double-counting, with full visibility into every channel that touched the journey.

You can click into any order and see exactly why it was attributed the way it was.

Attribution that works when cookies do not

FactorGA4/Platform last-touchEnalitica order-based
Ad blocker activePurchase event never fires, order invisibleOrder captured from WooCommerce/Shopify database
Cookie consent declinedNo session data, no attributionClick IDs in order metadata still attribute the sale
Safari ITP purgeCookie-based attribution breaks after 7 daysClick IDs persisted in order metadata indefinitely
Revenue accuracyGA4 missed roughly one order in four in Enalitica's data (90 days to 28 September 2026)Actual order totals from your store
Platform double-countingCannot detect or resolveOne order = one primary channel, always
Keyword-level ROASNot available in GA4Exact keyword → order → revenue chain via GCLID

Enalitica onboarding takes just a few minutes. For e-commerce stores, your last 30 days of orders are imported and enriched with click ID and Google Ads data instantly. Service businesses get all tracked events imported immediately. Want to see exactly which channels close your sales and which channels silently fill your funnel, backed by your real orders? Book a demo and we will show you the full picture.

How to Move Beyond Last-Touch Measurement

Whether or not you use Enalitica, here are practical steps to reduce your dependence on last-touch:

  1. Compare platform conversions to actual orders. Run this check monthly: total Google Ads conversions + Meta conversions vs actual orders. If platform totals exceed orders by 20%+, you have significant double-counting. This is the simplest proof that last-touch across multiple platforms is misleading.

  2. Use GA4's two acquisition reports together. The "User acquisition" report shows first-touch data. The "Traffic acquisition" report shows last-touch data. Looking at both in the same analysis reveals which channels create demand vs which channels convert it. The gap between them is where budget insights hide.

  3. Capture click IDs for every order. This is the foundation of order-based attribution. See our step-by-step guide to capturing GCLID and FBCLID in WooCommerce. Also make sure you capture GBRAID and WBRAID for iOS traffic.

  4. Run a simple holdout test. Pause a channel for 2-4 weeks that last-touch says drives zero conversions. If other channels' performance drops, the paused channel was contributing to the top of your funnel. This is basic incrementality testing and it often reveals that "zero-conversion" channels were actually essential.

  5. Look at GA4 Attribution paths. Go to Advertising > Attribution > Attribution paths. This report shows which channels appear early or in the middle of multi-step paths without being the last touch. It is the closest GA4 gets to multi-touch insight without additional tooling.

  6. Audit your attribution windows by market. If you sell into EU markets, check how much data you are actually losing. Our country-by-country attribution guide shows consent rates and realistic tracking coverage for every major market.

Frequently Asked Questions

In the _____ attribution model, the first touchpoint receives less credit and the last touchpoint receives the most credit.

The answer is time-decay. In the time-decay attribution model, credit increases as touchpoints get closer to the conversion. The first touchpoint receives the least credit, and the final touchpoint receives the most. This model is useful for short purchase cycles or promotional campaigns where recent interactions are most influential in driving the purchase decision.

How do I calculate true ROAS when ad platforms double-count conversions?

Start by comparing total platform-reported conversions to actual orders for the same period. If Google reports 40 conversions and Meta reports 25 but you only had 50 orders, there are at least 15 orders claimed by both. To calculate true ROAS per platform, you need a single source of truth (like your e-commerce order database) that attributes each order to exactly one primary channel. Without this, any ROAS calculation using platform-reported numbers is inflated, and you cannot reliably compare platform performance.

Should I trust Google Ads or Meta Ads conversion numbers?

Neither, exclusively. Each platform reports from its own perspective using its own attribution window and model. Google Ads (data-driven) and Meta (7-day click/1-day view) will both claim conversions that the other also claims. The only reliable number is your actual order count from WooCommerce or Shopify. Use platform data for relative performance trends (which campaigns improved, which declined), but always reconcile total conversions against your order database before making budget decisions.

What attribution window should I set in Meta Ads Manager?

Most Meta purchase ad sets run on 7-day click, 1-day view. For most e-commerce stores, the 7-day click window is reasonable since most purchases happen within a week of the ad click. The 1-day view window is more controversial because it counts conversions from people who only saw your ad but never clicked it. If your Meta conversion numbers seem inflated compared to Google Ads, try switching to "7-day click only" (removing view-through) for a more conservative baseline. You can change this in any campaign report by clicking "Compare attribution settings."

Does last-touch attribution work differently for subscription vs one-time products?

For subscriptions, last-touch only attributes the initial signup, not recurring revenue. A customer who signed up via a Google Ad and pays €29/month for 12 months shows as one €29 conversion under last-touch, even though the lifetime value is €348. This makes subscription acquisition channels appear far less valuable than they are. If you sell subscriptions, tracking customer lifetime value alongside last-touch attribution is essential. Enalitica does this with LTV cohorts: customers are grouped by their acquisition month, so you see what a new customer cost, what they buy again in the following months, and when they pay back their acquisition cost. Otherwise you will consistently under-invest in acquisition because the model only sees the first payment.

What are the best last-touch attribution alternatives?

The most common alternatives are: U-shaped attribution (40% first touch, 40% last touch, 20% middle), which is a strong default for most e-commerce stores. Data-driven attribution in GA4 or Google Ads, which uses machine learning to assign credit based on actual patterns in your data. Order-based attribution, which starts from actual orders and enriches them with channel data from GA4 and ad platform APIs, giving you both first-touch and last-touch data per order without relying on browser-side tracking. The best choice depends on your data volume, the markets you sell into, and what budget decisions you need to make.

How do I explain attribution double-counting to non-technical stakeholders?

Use this framework: "We had 100 orders this month. Google Ads claims 70 conversions, Meta claims 50. That is 120 claimed conversions for 100 actual orders. Neither platform is lying. They each see the customer journey from their own perspective, and 20 orders were touched by both platforms. Each one claims full credit for those 20 shared orders. To set accurate budgets, we need to deduplicate by starting from actual orders and assigning each one to one primary channel."

Why is last-click attribution a problem for ecommerce brands?

Last-click attribution is a problem for ecommerce brands because it pays only the channel that closes, so the channels that create demand (prospecting on Meta, generic search, YouTube) look unprofitable and get cut first. The cut shows up months later as fewer new customers and a shrinking brand search volume, which last-click then blames on the closing channels. Add the double counting between platforms and the orders that never fire a pixel, and the report you make budget decisions on is both biased and incomplete. Order-based attribution fixes the second part outright and gives you both the first and the last touch per order to correct the first.

Our agency says organic looks small because the model is last touch. Is that real or an excuse?

Both can be true, so check it rather than argue. The effect is real: under last-touch, organic search is often the first touch that a paid retargeting or brand-search click later closes, so organic loses credit it earned. But the size of the effect is measurable. In GA4 compare the Last click and Data-driven models for the organic channel; in Enalitica open the first-touch view and count how many paid-attributed orders started with an organic visit. If organic gains a lot under first touch, the agency is right about the mechanism; if it barely moves, the small organic number is simply small, and the model is not the reason.

Sources

The outside pages this article relies on. Links checked on 28 September 2026.

  1. 74.5% said they are moving away from last-click attribution or would like to (forbusiness.snapchat.com)
  2. switched its default from last-click to data-driven attribution (support.google.com)
  3. "Paid and organic last click" (essentially last non-direct click) and "Google paid channels last click" (support.google.com)
  4. 7 days (webkit.org)
  5. Attribution paths (support.google.com)

Figures marked "in Enalitica's data" are aggregates from the real orders of the stores we measure, with no names and no individual orders. How we measure.

See your real numbers

Import 30 days of orders or leads during a 5-minute onboarding. Works for e-commerce and service businesses.

See plans and pricing