Skip to main content
CM2 ROAS is how many dollars of margin you keep, after product, fulfillment and payment costs, for every dollar of ad spend. At 1.0x your ads consume all of that margin. Above 1.0x, something is left for marketing costs and overhead.

Formula

Formula Components


How it works

Upstack starts from Net Revenue (line-item sales minus discounts and refunds, without shipping charges or tax). It then subtracts every cost you’ve set up in Cost Settings that belongs to the CM1 and CM2 tiers: product cost, shipping cost, handling fees, payment processing fees, and order fees in the COGS, Fulfillment or Transaction categories. Ad spend isn’t part of CM2. It’s the denominator, so the metric shows how much variable margin each ad dollar sits on top of. A cost you haven’t configured counts as zero. If you haven’t set up shipping or payment processing fees, CM2 is overstated and so is CM2 ROAS. Product cost falls back to your Default COGS % when a variant has no manual or Shopify cost.

Example

An outdoor gear store spends $42,000 on ads in July. The store also pays affiliate commissions, entered in Cost Settings as an order fee in the Marketing category: $4,200 for July. CM3 is $113,370 − $4,200 − $42,000 = $67,170, so CM3 ROAS is 1.60x. The same month shows a revenue ROAS of 6.36x on $267,000 Total Revenue. That figure includes shipping and tax and ignores every cost, which is why it looks so much better.

How to interpret it

  • 1.0x is break-even on ads. Upstack calculates CM3 ROAS as (CM2 − Marketing Cost − Ad Spend) ÷ Ad Spend, which equals CM2 ROAS − 1 − Marketing Cost ÷ Ad Spend. In the example, 2.70 − 1 − 0.10 = 1.60.
  • Your floor is 1.0x plus marketing costs as a share of spend. In the example that’s 1.0 + $4,200 ÷ $42,000 = 1.10x. Below it, CM3 is negative.
  • Compare it across months, not across stores. It depends on your product costs and fees as much as on your ads.
  • If CM2 ROAS falls while ROAS holds, costs rose or discounts deepened. Check CM2 % before changing campaigns.

Why it differs from ad platform ROAS

Ad platforms divide the conversion value they attribute to themselves by their own spend, and they don’t know your product, shipping or payment costs. CM2 ROAS uses every Shopify order and your configured costs, divided by spend from all connected platforms, matched by date.

FAQ

Anything above 1.0x plus your marketing costs as a share of spend leaves positive CM3. How far above you need to be depends on the fixed costs that CM3 still has to cover.
POAS (profit on ad spend) is a general term for profit divided by ad spend. CM2 ROAS is one specific version: margin after variable product, fulfillment and payment costs, before ad spend and overhead.

See all Performance metrics →