Comparing Attribution Reports
Overview
UltraCart shows campaign revenue in several places, and your ad platforms report their own figures on top of that. For the same month and the same campaigns, these numbers can differ a lot. None of them is wrong. Each one answers a different question, because each one uses a different attribution model: a rule for deciding which marketing touch gets credit for an order.
This page explains how each figure is calculated, so you can pick the right one for the question you are asking and explain the differences when someone compares them.
The Attribution Models
| Where you see it | Model | How credit is split | Which visits count |
|---|---|---|---|
| Dashboard: Total sales attributed to marketing campaigns | Last touch | 100% to the most recent campaign visit before the order | Campaign visits since the customer first visited, or since their previous order |
| UTM Clicks and Weighted Revenue report | Position based | Shared across up to 5 touches; the newest and oldest get the most | The converting session plus non-converting sessions from up to one month before |
| Smart Attribution (Alpha) | Position based, configurable | 40% originator, 20% assist, 40% closer by default, with per-platform overrides | Touchpoints within the configured lookback window |
| Ad platforms such as Meta or Google Ads | The platform's own model | Whatever the platform's attribution setting says, often including view-through | Ad clicks and, for many platforms, ad views |
A campaign visit is a visit whose landing URL carries UTM parameters or an ad platform click ID such as gclid or fbclid. See Tracking Campaigns for the full list.
Dashboard campaign widgets
The dashboard gives each order to the last campaign visit before it, using the full order total including shipping and tax. It is the quickest answer to "which campaign closed this sale?", and it combines every source: paid ads, email, SMS, affiliates, and any other tagged traffic. Orders with no campaign visit at all, such as direct visits and organic search, are left out. See How Sales Are Attributed to Campaigns.
UTM Clicks and Weighted Revenue report
This report spreads each order across the touches that led up to it, so a campaign that started the journey gets credit alongside the one that closed it. Revenue is fractional: the same order appears on several rows at different weights. Use it to understand which campaigns open journeys and which close them.
Smart Attribution
Smart Attribution rebuilds each customer journey at order time and applies a configurable position-based split, with separate rules for paid and owned channels. It is in Alpha and runs in Report Only mode, so you can review the results in the Integration Log and BigQuery before anything is sent to an ad platform.
Ad platform reporting
Ad platforms report the conversions they credit to their own ads. Most include view-through conversions: a shopper saw an ad, did not click it, and bought later through another route. UltraCart never sees an ad view, so it cannot credit those orders. Platforms also link a click on one device to a purchase on another, add statistically modeled conversions, and date each conversion by the day of the click or view rather than the order. Expect platform figures to be higher than any UltraCart figure. Why Facebook Reports More Conversions Than UltraCart walks through this for Meta in detail.
Which Figure to Use
| Your question | Use |
|---|---|
| How much revenue did I actually earn? | Order reports or exports, not any attribution figure |
| Which campaign closed the most sales? | Dashboard campaign widgets |
| Which campaigns start journeys, and which finish them? | UTM Clicks and Weighted Revenue report |
| How would a position-based split credit each platform? | Smart Attribution |
| How many sales did an ad platform's clicks lead to? | The platform's click-only results, checked against the ad reconciliation queries |
| How much influence does the platform claim overall? | The platform's own reporting, including view-through |
| What happened on one specific order? | Attribution Analysis on that order |
Why the Totals Never Match Exactly
Even after you pick comparable figures, expect some difference:
-
Different models. Last touch gives one campaign the whole order. Position based splits it across several. An ad platform credits its own ads and ignores every other channel.
-
Different lookback windows. Each model looks back a different distance for qualifying touches.
-
Different dates. UltraCart dates sales by order date. Ad platforms date them by the click or view.
-
Different revenue. UltraCart widgets and reports use the order total. The purchase value UltraCart sends to Meta is the item subtotal after discounts, without shipping or tax, so Meta's revenue figures start lower.
-
Different visitor identity. UltraCart identifies a visitor by a browser cookie. Ad platforms can identify a logged-in person across devices.
To build your own model, each order in the BigQuery uc_orders table carries a utms array with first-click, last-click, linear, and position-based revenue for every touch. See Affiliate, UTM, and Analytics Queries.
Related Documentation
- Using UltraCart Analytics: how campaign visits are tracked and how the dashboard widgets attribute sales
- UTM Clicks and Weighted Revenue Report: the position-based report in detail
- Smart Attribution: configuring the multi-touch attribution system
- Facebook / Meta Integration Guide: pixel, Conversions API, and why Meta reports more conversions
- Attribution Analysis: order-by-order tracking diagnostics