Skip to main content

Upstack AttributionMarketing attribution and analytics for DTC

Know what every channel is actually worth

Multi-touch attribution, blended performance and contribution margin in one view, reconciled against the revenue in your Shopify account rather than summed from platforms that each claim the same order.

Reports on Shopify, Meta, Google Ads, TikTok, Amazon, AppLovin, Stripe and Recharge

Attribution source table on a first-click model, comparing channel spend, ROAS, new-customer ROAS, orders, new customers and revenue by source.
Attribution models on one report
3
Reporting lookback
Unlimited
Contribution margin, to operating profit
CM1–CM4
DTC brands on Upstack
1,000+

Brands running on Attribution

Measurement OS

Measurement that changes what happens next. Platform reports and store revenue, grounded in the same buyers, orders and margin.

Orders widget: 6,453 orders, up 117 percent against a prior period of 2,974.
Net sales widget: $1.4 million, up 155 percent.
Facebook spend widget: $353.4 thousand, up 73 percent.
New customer acquisition cost widget: $85.62, down 38 percent.
Cost per acquisition widget: $51.69, down 24 percent.

Each tile compares against the prior period, on one basis across every channel.

Profit & loss

Gross revenue down to operating profit. A campaign at 3× ROAS on a 22% margin product is losing money.

The full ladder is reported, CM1 through CM4, with costs pulled from the systems that already hold them, so margin is a number you read rather than a spreadsheet you rebuild every month.

Income statement Example, last 30 days
Gross revenue
$482,190
Net revenue after discounts and returns
$443,780
CM1 net revenue − COGS
$296,960
CM2 CM1 − shipping, fulfillment and payment gateway fees
$241,520
CM3 CM2 − marketing spend
$72,990
CM4 CM3 − operating expenses
$38,410

CM3 is the number most DTC teams run on: contribution after marketing. CM4 takes it the last step, to operating profit.

New-customer CM3 per order widget showing an hourly contribution-margin chart.
Definition of new-customer CM3 per order as contribution margin three divided by new-customer order count.
Income statement dashboard showing revenue, contribution margin, operating profit, and a P&L overview chart.
Example dashboard. Last 30 days shown inside the product interface.

See your own channels reconciled to store revenue.

Marketing analytics

The numbers you actually run the business on. Attribution answers which channel earned the credit. These answer whether the spend was worth making.

  • New customer ROAS

    Return measured on the customers you did not already have. Returning-customer revenue stops flattering campaigns whose job was acquisition.

    new customer ROAS · blended ROAS · MER

  • New customer CAC

    What it costs to acquire someone new, separated from what it costs to re-acquire someone you already paid for once.

    new customer CAC · blended CAC

  • Ad and product performance

    Every ad you have run and every product you have sold, across the full history pulled from Shopify and each ad account — not just the retention window.

    channel → campaign → ad → product

  • LTV, payback and cohorts

    What each acquisition cohort is worth over time, new-customer LTV against new-customer CAC, and the day a cohort pays back what it cost.

    LTV · new customer LTV · LTV:CAC · payback

  • Event quality

    Match rates and event completeness reported alongside the performance numbers, so you can see the condition of the data the reports are built on.

    match rate · event completeness

  • Custom measures and dashboards

    Define the measure your business actually runs on, then build the view around it. Custom dashboards, saved views, no SQL.

    custom measures · custom views

See every channel reconciled against your Shopify revenue.

Results

What brands did once the numbers agreed.

All customer stories

Reviews

What operators say about the numbers. Word for word, with a link to each original.

  • Mikes @michael_upstack attribution dash has been very very useful lately. Its helped me run continue to run some ads i would have shut off otherwise.

    Johnny Hickey @johnhickey1970 on X · Feb 17, 2025
  • Two biggest things that turned around my ad account was iterating creative until I found the TOF ripper again and using Upstackified's NC Count column for confidence to see it targeting new customers pretty much exclusively.

    Matt Horner @interwebsmatt on X · Nov 18, 2024
  • 5 out of 5

    1. New Customer Data in the FB dashboard is so helpful

    2. They included a dashboard with tons of good info like LTV number and such

    Wholly Pup Shopify App Store · Dec 16, 2024

Integrations

Reads from the stack you already run.

61 integrations across ecommerce, ad platforms, email and your warehouse: 17 sources in, 44 destinations out.

See all integrations

Common questions

Attribution and analytics, answered.

How is this different from the reporting in my ad accounts?

Ad platforms report on the conversions they can see and claim, which is why four platforms can each take credit for the same order. Attribution reconciles every channel against Shopify revenue on one basis, so the totals add up to what actually happened.

Which attribution model should I use?

There isn’t one right answer, which is why the same report switches between all three — first click, last click and any click — rather than making you commit to one. Compare the same campaign across them and look at where they disagree; that disagreement is usually where the interesting spend is.

Do I need a data warehouse?

No. Attribution works on its own. If you already run a warehouse you can send the same resolved events there and reconcile against it.

How far back does history go?

There is no retention limit. Upstack pulls your full history from Shopify and from every connected ad account, so year-over-year, seasonal and long-cohort comparisons stay available instead of rolling off a window.

Can I see it hour by hour?

Yes — granularity runs from hourly through daily, weekly and monthly to yearly, on the same underlying numbers.

Where do my costs come from?

COGS is pulled from Shopify automatically. Shipping, fulfillment, duties, taxes, payment fees and operating expenses are configured once in the cost center and subtracted from then on.

Does this replace Signal, or run alongside it?

Alongside. Signal fixes what reaches the ad platforms; Attribution reports on it. They read from the same resolved events, so the reports and the platforms are finally looking at the same customer.

Can I see channels other than Meta?

Yes — every connected ad platform, plus email and SMS, on the same basis and in the same view.

The rest of the stack

Attribution reports on it. Signal and Audience act on it.

Signal for your ad platforms

Server-side tracking and identity resolution — the resolved events every report on this page is built from.

Explore Signal

Audience for knowing who buys

Demographics and enrichment on every resolved profile, sent back to the platforms.

Explore Audience

See what your channels are really worth.

Connect your store and ad accounts, and compare your own numbers across every model before you change a budget.

21-day free trial, no card. Month to month.