Skip to content

Analytics

What attribution can and cannot tell you

Attribution is a rule for assigning credit, not a measure of cause. Where it is reliable, where it is not, and the measurement stack to run instead.

By CartKernel · Published

Attribution is a bookkeeping rule. It takes the touchpoints a system observed before an order and divides credit between them according to a formula somebody chose. That is genuinely useful, and it is a different thing from measuring whether an ad caused a sale. Most disagreements about marketing performance come from treating a bookkeeping output as a causal one.

Knowing where the line sits makes reporting calmer. It also stops the recurring project of trying to make two systems agree when they were never counting the same thing.

What attribution does well

Within one platform, with one consistent rule, attribution answers comparative questions reliably:

  • Which campaigns, ad groups and creatives are performing relative to each other. Every asset is measured the same way, so the ranking is meaningful even if the absolute numbers are not.
  • Which direction things are moving. A stable model applied over time shows change, and change is usually what the decision needs.
  • Where traffic entered the site, and how landing pages, devices and markets differ.
  • What the automated bidding is optimizing toward, which matters because the bid strategy uses the platform’s own conversion data whatever your report says.

That last point deserves weight. Even a store that reports from its own warehouse still needs accurate platform conversion data, because that is what the bidding algorithm learns from. Broken or duplicated tracking degrades bidding regardless of how you report.

What it cannot do

Five limits, none of which are fixable by choosing a better model.

  1. It cannot establish cause. Attribution observes correlation in time: an ad was seen, an order followed. It cannot say whether the order would have happened anyway. That question belongs to incrementality testing.
  2. It cannot see what it cannot measure. Consent choices, browser restrictions, cross-device journeys, app to web transitions, shared devices and offline conversations all remove or fragment touchpoints. What survives is a sample with a bias, not a census.
  3. It cannot value influence that leaves no click. A shopper who watched a video, read a guide, asked an assistant and later typed the store name shows up as direct or organic brand. Modeling can spread credit differently but cannot recover what was never recorded, which is part of why direct traffic is so high in GA4.
  4. It cannot describe saturation. A channel can look efficient at its current spend and be unable to absorb twice that spend at the same efficiency. Nothing in an attribution report warns you before you find out.
  5. It cannot settle disputes between platforms, because each one is applying its own rule to its own observations.

Why the numbers disagree by design

When a store sums platform-reported revenue and finds it exceeds actual revenue, nothing is necessarily broken. Four structural reasons:

Reason What it does
Each platform claims a conversion it touched The same order is counted by more than one platform
Different lookback windows A platform with a longer attribution window claims orders others no longer see
Different credit rules Last click, position-based and data-driven models split the same journey differently
Different definitions of a conversion View-through, engaged view and click-based conversions are not the same event

The store’s own order table has none of these problems and is the only count of what actually happened. Keep it as the denominator. Where the gap is large enough to suggest a genuine tracking fault rather than a definitional one, the reconciliation method is in reconciling GA4 with Shopify orders and the common causes in why does GA4 show less revenue than Shopify.

The three-layer stack

Use each tool for the job it can actually do.

Layer one, platform reporting, for optimization inside a channel. Judge creative against creative and campaign against campaign. Do not sum it across platforms, and do not present it as store revenue.

Layer two, one warehouse view, for reporting to the business. Orders from the store, joined to session and campaign data, with one attribution rule applied consistently so trends are comparable. This is the number in the monthly report, and its value comes from being stable rather than from being correct in some absolute sense. The build is described in attribution reporting.

Layer three, experiments, for causality. Holdouts, geographic tests and scheduled on and off periods. This is the only layer that answers whether spend produced revenue that would not otherwise have arrived, and the designs are covered in how do you measure incrementality for ecommerce ads and incrementality testing for ecommerce.

Stores usually have layer one, sometimes have layer two, and rarely have layer three, which is why so much reporting time is spent arguing about numbers that cannot settle the argument.

Run the business on numbers attribution cannot distort

Three figures survive every measurement gap, because they come from the store’s own records and total marketing spend:

  • Marketing efficiency ratio. Total store revenue divided by total marketing spend, tracked monthly. Nothing about consent, cookies or windows changes it. The MER calculator computes it, and marketing efficiency ratio explains how to read it.
  • New customer count and cost per new customer, computed from store orders rather than platform conversions.
  • Contribution after marketing. Revenue, minus product and fulfillment cost, minus marketing spend. The number the business actually keeps.

Track these alongside the split described in brand versus non-brand, because a rising blended efficiency driven entirely by brand capture is a different situation from one driven by acquisition.

Running an experiment without a large budget

Incrementality testing sounds expensive and often is not.

  1. Choose one question. Usually whether a specific channel or campaign is producing orders that would not otherwise arrive.
  2. Pick a design that fits your data. Geographic splits work for stores with enough regional volume. A scheduled pause works when seasonality can be controlled for. Platform-provided holdouts work when the platform offers them.
  3. Set the duration in advance, long enough to cover a full purchase cycle, and commit to it before seeing results.
  4. Measure with store revenue, not platform conversions, since the platform’s own counting is part of what you are testing.
  5. Accept a wide answer. A test that says a channel is somewhere between mostly and partly incremental is still more informative than a report that assumes it is fully incremental.

Run one or two a year on the largest line items. That is enough to keep the reporting honest without turning measurement into a department.

What to say to stakeholders

The honest version fits in a paragraph, and saying it early prevents most of the friction later. Platform reports are directional tools for optimizing inside a channel and will always sum to more than the store’s revenue. One consistent internal report is the reference for trends. Whole-business efficiency and cost per new customer are the numbers that decide budgets. Causality is established by experiment, not by choosing a different model.

Set the model deliberately, document it, and change it rarely, because every change breaks the trend. Which model to pick is covered in which attribution model should an ecommerce store use, the tracking foundation is in GA4 ecommerce tracking, and the reporting practice sits inside ecommerce analytics.


Sources

Find the leak.

A free Growth Analysis ranks what your store should fix first, by revenue at stake.