Every example and amount on this page is illustrative. It shows the method and is not a benchmark, a quote or advice.

What TrueProfit Is Actually Measuring

Platform ROAS answers a narrow question: how much tracked revenue is associated with each unit of ad spend. If an ad platform attributes $5,000 in sales to $1,000 of spend, it reports 5.0x ROAS. That figure does not tell you whether those orders were profitable. It usually starts with attributed purchase revenue and ad cost, then stops before the costs that determine what the sale contributed.

A profit-based ad performance view follows the order economics further. It considers realized revenue, product cost, payment and other selling fees, refunds, and advertising spend. Revenue should reflect what the business kept from completed sales, not an unadjusted checkout total. Product cost connects the sale to gross profit; fees and refunds reduce what remains; advertising spend shows whether the acquisition cost was affordable. The result can be assessed at store, product, or collection level, rather than treating every attributed order as equally valuable. See product profitability after COGS, returns and ad spend for the underlying business view.

Attribution is the part that makes the comparison less exact than the arithmetic suggests. Each platform applies its own lookback window, channel rules, and treatment of view-through or assisted conversions. The same order can therefore appear in more than one platform report, while some sales receive no ad-platform credit even though advertising influenced demand. Attributed ROAS is useful for evaluating a channel’s reported efficiency; it is not the same as the store’s blended return on advertising spend.

A reliable reading keeps both measures visible: attributed ROAS for channel reporting and profit after advertising for economic performance. The latter shows whether the revenue credited to advertising still covers product costs, fees, and refunds. This distinction is the core of the P&L view of blended advertising performance: ad platforms explain where they claim credit, while the profit view tests what the business actually retained.

The Formula Behind the Number

The core calculation is simple: profit after ads equals attributed revenue minus the variable costs of generating and fulfilling those orders, minus advertising spend.

In plain language, TrueProfit starts with the sales that an advertising channel or campaign receives credit for. It then subtracts the costs attached to those sales, such as product cost and other variable costs included in the account setup. Finally, it subtracts the ad spend for the same channel and period.

Written as a formula:

Profit after ads = attributed revenue − variable costs − ad spend

The order of the calculation matters. A campaign can show strong attributed revenue while producing little or no profit once the product cost and advertising bill are included. For illustration only, $10,000 of attributed sales is not a $10,000 result. If the associated variable costs are $4,000 and the campaign spent $3,000, the amount left after those costs is $3,000.

That figure is different from platform ROAS. ROAS divides attributed revenue by ad spend; the profit calculation subtracts both ad spend and the costs required to make the sale. The two numbers can therefore move in opposite directions: a campaign may generate more attributed revenue but leave less money after its costs rise.

For the result to be useful, the revenue, costs and spend must cover the same reporting period and use the same attribution scope. If ad spend is channel-level but revenue is campaign-level, or if costs are missing from some orders, the calculation will look precise while describing an incomplete result. For a broader view of how this differs from a blended P&L calculation, see Blended Advertising Performance: The P&L View.

The calculation behind profit after ads
InputWhat it represents
Attributed revenueSales assigned to the selected channel, campaign or ad set
Variable costsCosts that rise with the orders, including the product and other configured order costs
Ad spendAdvertising cost for the same scope and period
Profit after adsAttributed revenue minus variable costs minus ad spend

A Worked Example From Click to Contribution

Take a three-order period for one store. The ad account reports $80 in spend and $300 in attributed purchase value. All three orders came through the campaign, but one was later fully refunded. The order-level inputs are shown below.

Orders A and B were delivered, so their $80 and $120 of sales remain realized revenue. Order C was returned and fully refunded: its $100 sale is removed from revenue, its $35 product cost is not retained because the item returned to inventory, but the store still paid $7 outbound shipping and $3 in payment processing that were not recovered.

The store therefore has $200 of realized revenue, not the $300 shown in the ad platform. Its variable costs are $66 COGS ($24 + $42), $21 shipping ($6 + $8 + $7), and $9 payment fees ($2.40 + $3.60 + $3). Profit before ads is $104: $200 − $66 − $21 − $9. After the $80 ad spend, contribution is $24, or a 12% contribution margin ($24 ÷ $200).

Check the Inputs Before You Trust the Report

Before evaluating a campaign, verify that the report is built from the right Shopify store and the intended trading period. Check that the relevant orders, products and customer records have synced, then reconcile the order count and total sales with Shopify for the same dates. Use one timezone and a fixed date range; comparing ad spend in the platform’s calendar day with Shopify revenue in the store’s timezone can shift orders across periods.

Review every connected advertising account, not just the account you expect to use. Confirm the correct business, ad account, currency and spend period are selected, and check that duplicated accounts or campaigns are not importing the same spend twice. Attribution is another setting to write down before reading the result: platform, campaign and TrueProfit attribution windows must be comparable. A seven-day click window will not produce the same answer as a one-day click window, even when spend is identical.

Costs need the same level of attention as revenue. Confirm that product or variant costs are current, that bundles have a defensible component cost, and that missing costs are not silently treated as zero. A $60 sale with a $20 product cost and $15 ad cost has $25 before other variable costs; with a missing product cost, the report can show $45 instead. For a deeper framework, see How to Calculate Product Profitability After COGS, Returns and Ad Spend.

Finally, inspect the order-status rules and currency treatment. Decide whether cancelled, returned, refunded or partially fulfilled orders belong in the comparison, and apply that rule consistently. If you compare against ORVX, its realized revenue includes delivered orders only and excludes returned or cancelled orders, so a difference is not automatically a reporting error. Keep each figure in its source currency or convert once using a documented rate—never add dollar, euro and pound values into one profit total.

  • Reconcile Shopify order count and sales before reviewing campaign profitability.
  • Record the attribution window, timezone, date range and currency used for the report.
  • Check that each connected ad account is the intended account and that spend is not duplicated.
  • Validate product and variant costs, including bundle components and recently changed costs.
  • Document which order statuses are included so the profit figure has a defined scope.

The Mistakes That Make Ad Performance Wrong

Double-counted revenue makes efficiency look better than it is. If Shopify records $10,000 in sales and two ad platforms each claim the same $4,000 order value, adding both platform totals produces $18,000 of reported revenue against the same store sales. ROAS and profit are inflated because the denominator, ad spend, is not duplicated but the revenue is.

Missing costs create the opposite problem: the report can label unprofitable sales as profitable. Suppose attributed revenue is $1,000, ad spend is $300 and product cost is $350. Omitting $100 of fulfilment and payment costs shows $350 after ads; including them leaves $250. The campaign did not improve—the measurement omitted the cost required to deliver the orders. Product-level analysis needs the same discipline; see How to Calculate Product Profitability After COGS, Returns and Ad Spend.

Inconsistent attribution rules make campaigns look comparable when they are not. One report may use a platform's view-through window, another may use click-through attribution, and Shopify may assign the order to a different source. A campaign can therefore receive credit for demand that another report assigns elsewhere. Blended campaigns hide this further: prospecting and retargeting may share spend or revenue, so a strong blended ROAS can conceal a weak segment. Compare the full-store view with Blended Advertising Performance: The P&L View.

Delayed refunds and mismatched reporting windows distort timing. A $120 order counted in March, then refunded in April, makes March look $120 more profitable and April $120 worse unless the report ties the refund back to the original sale. Likewise, March ad spend compared with April revenue can make either month appear unusually efficient or inefficient. Use the same order, refund and spend window, then revisit results after late cancellations and refunds have posted.

How common measurement errors change the result
ErrorWhat the report showsActual effect
Double-counted revenueHigher revenue and ROASProfit is overstated
Missing costsHigher marginProfit is overstated
Inconsistent attributionUnreliable campaign comparisonCredit shifts between channels
Blended campaignsStrong combined performanceWeak segments stay hidden
Delayed refundsRevenue remains too highProfit is overstated until adjusted
Mismatched windowsArtificially high or low efficiencySpend and revenue are not comparable

What to Do With the Answer

Use profit after ads to rank campaigns by the value they leave behind, not by attributed revenue alone. For illustration only, Campaign A may generate $1,000 in sales from $300 in ad spend, but leave $100 after product cost, shipping, fees and returns. Campaign B may generate $800 from $250 in spend and leave $180. B produces less revenue but more usable profit, so it deserves the stronger scaling case. Compare campaigns on the same profit definition and then check whether the result is consistent across products, collections and customer types.

Set a scaling limit before increasing spend. That limit might be a minimum contribution margin, a maximum acceptable cost per delivered order or a minimum dollar contribution per ad dollar. If a campaign currently leaves $12 per order and the business needs at least $10, an increase is reasonable only while that floor holds. Recheck after spend changes; additional traffic can shift the product mix, return rate or acquisition cost.

A weak result is a diagnosis prompt, not automatically a pause instruction. Low profit may come from high COGS, discounts, refunds, shipping cost or a product with too little margin. Review those drivers at product and collection level using product profitability analysis, then decide whether to fix the economics, test a different offer, reduce spend or stop the campaign. Also separate campaign efficiency from overall business performance: attributed ROAS can look acceptable while blended advertising profit remains weak. These numbers inform the decision; they do not replace judgment about cash, inventory, customer quality and testing risk.

Accurate ad performance tracking is less about finding a higher ROAS figure than matching attributed revenue with the costs required to generate and fulfill it. Once the inputs and calculation are consistent, TrueProfit can give operators a number they can use for budget decisions rather than a result that only looks good inside an ad platform.