Analytics & Reporting
November 2, 2026

Contribution Margin by Channel: How to <blue>Calculate It for Meta, Google, and Amazon</blue>

Troy Diffenderfer
Troy Diffenderfer
Title card: Contribution Margin by Channel: How to Calculate It for Meta, Google, and Amazon
Table of contents

Scale Smarter with

Connect your sources, clean your data, and watch performance marketing soar with a flat fee and zero drama. Get started with a discovery call

Contribution margin by channel is the revenue a channel's orders actually produced, minus the variable costs of fulfilling those orders, minus what you spent on that channel's ads. The formula is the same for Meta, Google, and Amazon. What changes is where the revenue comes from, which costs apply, and how much you can trust the platform's attribution. Getting those inputs right is what turns a ROAS report into a profit report.

Key takeaways

  • Channel contribution margin uses one formula, but Meta and Google drive orders to your own store while Amazon sells on a marketplace with its own fee stack.
  • Start from backend orders, not platform-reported revenue. Meta, Google, and Amazon each count conversions in ways that can overlap or inflate results.
  • The channel with the highest ROAS is not always the most profitable. Marketplace fees, fulfillment, and returns can reverse the ranking.
  • Branded search and Amazon's organic halo need to be separated, or the channel gets credit for demand it did not create.

What is contribution margin by channel?

Contribution margin by channel measures how much profit each advertising channel contributes after variable costs and ad spend, before fixed costs such as salaries and rent. It answers a simple question: if you spent one more dollar here, would the business keep any of it?

That question is why teams running margin-focused paid media use channel contribution margin as the budget signal instead of platform ROAS. ROAS tells you revenue per ad dollar. Contribution margin tells you what is left after the product ships and the fees are paid.

Onward and 500 LEVEL graphic reading: Stop scaling on ROAS. Start scaling on profit.
The core idea behind channel-level contribution margin.

The base formula

For any channel, over a defined period:

  • Net revenue from orders attributed to the channel (after discounts)
  • minus COGS for the units in those orders
  • minus fulfillment and shipping costs
  • minus payment or marketplace fees
  • minus returns and refunds
  • minus the channel's ad spend

If you need a refresher on which costs belong in each line, start with the contribution margin formula. The sections below focus on what is different for each channel.

How do you calculate contribution margin for Meta?

For Meta, calculate contribution margin from the backend orders Meta actually drove, not from the revenue Meta Ads Manager reports. Meta's attribution can include view-through conversions and can count the same order that Google also claims, so platform revenue usually runs higher than what your store recorded.

In practice, match orders to Meta using UTMs and order IDs in your ecommerce platform, then pull each order's real costs: product cost by SKU, shipping, payment processing, and any later return. Meta also tends to skew toward new customers, so it helps to split new and returning buyers. A Meta campaign with thin first-order margin can still be worth funding if those customers come back, but that is a lifetime value decision, and it should be made on purpose.

Hypothetical example: Meta reports $150,000 in revenue on $40,000 of spend. Backend orders matched to Meta total $120,000. After $42,000 in COGS, $9,000 in shipping, $3,600 in payment fees, and $8,000 in returns, Meta's contribution margin is $17,400.

How do you calculate contribution margin for Google?

Google's calculation works like Meta's because Google Ads also sends shoppers to your site, but the biggest adjustment is branded search. People who type your brand name were often going to buy anyway, so branded campaigns can make Google look far more profitable than its incremental contribution.

Report Google in at least two buckets: branded search and everything else (non-brand search, Shopping, Performance Max). Performance Max can also serve branded queries, so check its search terms before assuming it is pure prospecting.

Hypothetical example: Google drives $110,000 in backend revenue on $30,000 of spend. After $38,500 in COGS, $8,000 in shipping, $3,300 in payment fees, and $6,000 in returns, contribution margin is $24,200. But if $45,000 of that revenue came from branded search, the non-brand campaigns are carrying much less of the profit than the total suggests.

How do you calculate contribution margin for Amazon?

Amazon needs a different cost stack because the sale happens on Amazon's marketplace, not your store. Instead of payment processing and your own shipping, you pay Amazon a referral fee on each sale and, if you use Fulfillment by Amazon, per-unit fulfillment fees plus storage. Referral fee rates vary by product category, and Amazon updates its fee schedule periodically, so pull current rates from Seller Central rather than using a rule of thumb.

Attribution is the other challenge. Amazon Ads reports ad-attributed sales, but sponsored ads also lift organic rank, and some attributed shoppers would have found the product anyway. Use settlement reports for actual fees and returns, and compare ad-attributed sales to total sales over time to see how much demand the ads are really adding.

Hypothetical example: Amazon Ads reports $100,000 in sales on $25,000 of spend. Assuming a 15% referral fee ($15,000), $12,000 in FBA fees, $1,500 in storage, $35,000 in COGS, and $4,000 in returns, Amazon's contribution margin is $7,500.

What the three examples show side by side

Using backend revenue for Meta and Google and ad-attributed sales for Amazon, the hypothetical channels rank this way on ROAS: Amazon at 4.0, Google at 3.7, and Meta at 3.0. On contribution margin, the order flips: Google produces $24,200, Meta $17,400, and Amazon $7,500. The marketplace fees that never show up in a ROAS report absorb most of Amazon's advantage.

That reversal is the whole case for this work. As covered in contribution margin vs. ROAS, a budget plan built on ROAS alone would move money toward the channel that keeps the least.

Common mistakes when calculating channel contribution margin

  • Using blended COGS. If Meta sells your low-margin bundles and Google sells full-price hero products, one average cost hides the difference. Use SKU-level costs.
  • Ignoring returns timing. Returns arrive weeks after the sale. Recalculate prior periods, or apparel and other high-return categories will look better than they are.
  • Double counting. Summing Meta and Google platform revenue often exceeds actual store revenue. Deduplicate at the order level.
  • Leaving Amazon in a separate spreadsheet. If Amazon data never joins your Shopify data, nobody sees the full picture. Unifying Shopify and Amazon data is usually the first fix.

How Onward calculates contribution margin by channel

Onward connects ad platforms, ecommerce, marketplace, and cost data in a marketing data warehouse, applies SKU-level costs and channel-specific fees, and reports contribution margin by channel, campaign, and creative. The media team then uses those numbers to move budget.

That setup can go deep. Songfinch, for example, reached 99%+ backend reconciliation against Stripe and contribution-margin visibility down to the ad set, as shown in the Songfinch single source of truth case study.

500 LEVEL stat card: plus 156% D2C revenue growth year over year, profitably
500 LEVEL's year-over-year D2C revenue growth with Onward.

For 500 LEVEL, a DTC licensed sports apparel brand, optimizing paid acquisition to profit rather than platform ROAS supported 156% year-over-year revenue growth and new customers rising from about 6,900 to 19,000. The details are in how 500 LEVEL grew revenue 156%.

The bottom line

Calculating contribution margin by channel is not complicated math. The hard part is the inputs: backend orders instead of platform revenue, SKU-level costs instead of averages, and the right fee stack for each channel. Once those are in place, Meta, Google, and Amazon can be compared on the same terms, and budget can follow profit.

If you want to see what your channels look like on contribution margin, schedule a free audit with Onward.