TL;DR:Sending raw order total as your conversion value tells Meta, Google, and TikTok to optimize for revenue. The algorithm chases the highest-revenue buyers, scales your worst-margin products, and over-rewards discount converters. Send margin instead. The audiences shift toward profitable buyers within weeks.

Your dashboard looks solid. ROAS is up. Campaigns are scaling. But the margins are quietly slipping away in the background.

This is one of the most common and least visible problems in ecommerce performance marketing. The numbers that look healthy on the surface mask a profitability problem underneath. The root cause is almost always the same: you're telling your ad platforms to optimize for revenue, and they're doing exactly that.

What revenue-based bidding actually optimizes for

When you set a Target ROAS strategy and send order total as your conversion value, the algorithm prioritizes one objective: find buyers who generate the highest revenue per conversion.

That sounds reasonable. You find buyers, conversions go up, revenue looks better than ever. But that's not the same as finding buyers who generate the highest profit. Revenue and profit diverge in ways that matter for ecommerce brands.

Here's what this looks like in practice. A $200 order with a 15% margin generates $30 in profit. A $120 order with a 60% margin generates $72 in profit. The algorithm optimizing for revenue chases the $200 order every time.

  • It bids more aggressively to reach audiences that look like that buyer.
  • It scales campaigns toward high-revenue, low-margin SKUs.
  • It deprioritizes and eventually discards the $120 buyer who was actually worth more to the business.

This distortion compounds. The more the algorithm scales toward high-revenue conversions, the more your customer mix shifts toward low-margin buyers. The result: rising CAC and falling contribution margin.

How revenue-based bidding distorts your campaigns

It scales your worst-margin products.

Ad platforms optimize delivery toward the conversion profile that matches your highest-value events. If your highest order values come from low-margin products, the algorithm scales toward buyers of those products. Your best-margin SKUs get deprioritized because their revenue is lower, even when their profit is higher.

It over-rewards discount-driven conversions.

A buyer who purchases a $150 product at full price generates a $150 conversion event. A buyer who uses a 40% off code on a $250 product generates a $150 conversion event after the discount. Same revenue. Completely different margins.

The algorithm treats them identically. It builds lookalike audiences from both. Over time it finds more people who respond to promotional offers, because those buyers show up consistently and convert reliably. Your audience shifts toward discount-sensitive buyers, leaking margin every time you scale.

It ignores lifetime value entirely.

Revenue-based bidding optimizes for the transaction in front of it. A buyer who purchases once at high revenue and never returns looks identical to a buyer who purchases at lower revenue but comes back six times a year.

The algorithm has no way to know which one is worth more to you. Left on its own, it optimizes toward the transaction, not the customer.

What you should be optimizing for instead

The fix is not a new campaign structure or a different ad platform. It's sending the algorithm a more accurate signal of what each conversion is actually worth.

Send margin as the conversion value instead of order total

This is the single highest-impact change most brands can make. Instead of sending the order total to Meta, Google, and TikTok, send the margin on that order. Your ROAS targets then optimize for profit, not revenue.

For example: a Target ROAS of 3x on margin is a very different objective than a Target ROAS of 3x on revenue. The audiences the algorithm finds, the products it scales, and the bidding decisions it makes all shift toward profitability.

Filter discount conversions from your optimization signal

Don't send orders where a coupon code reduced margin below a defined threshold as optimization events. You're not hiding the sale from your reporting. You're removing it from the template the algorithm uses to find more buyers. The lookalike audiences it builds shift toward full-price buyers over time.

Tag new customers separately from repeat buyers

A repeat customer converting through a prospecting campaign inflates your acquisition metrics and trains the algorithm to find more people who look like existing buyers. Tagging purchases as Purchase_NC for new customers and Purchase_RC for repeat buyers lets your prospecting campaigns optimize for net-new acquisition only.

Your real customer acquisition cost becomes visible. Your budget stops flowing toward re-acquiring customers you already have.

Weight high-LTV segments in your conversion data

If you have enough purchase history to identify which customer profiles generate the highest lifetime value, that signal belongs in your conversion data. Sending higher conversion values for customers who match high-LTV profiles tells the algorithm which acquisitions were worth the most. Over time it finds more buyers who look like them.

This compounds in both directions

The campaigns you're running today reflect the signal you gave the algorithm months ago. Every input compounds.

Better signal design improves over time. When the algorithm understands which conversions are actually valuable, it builds better audiences, finds better buyers, and generates more data about high-margin converters. That data improves the next round of optimization.

The inverse also holds. Every week of revenue-based bidding on generic purchase events is another week the algorithm doubles down on the wrong customer profile. Reversing that drift takes time, because you're retraining a model with months of prior learning.

EdgeTag sends margin, not revenue, to every platform

EdgeTag captures purchase events server-side via Shopify webhooks with the full order record at the point of capture. Margin data, discount codes, customer purchase history, and product-level identifiers are all available before the event leaves your infrastructure.

  • Margin-adjusted conversion values sent to Meta, Google, and TikTok automatically
  • Discount-filtered optimization signals per platform
  • New vs. repeat customer tagging across all standard ecommerce CRMs
  • High-value conversion recovery for buyers missed by client-side pixels

Most brands making this switch see their reported ROAS dip initially as the algorithm recalibrates toward margin. Within a few weeks, contribution margin improves and the customer mix shifts toward buyers who are actually worth acquiring.

Your ad platforms can find your best customers. They just need to know who that is.

Live in 15 minutes. No GTM. No engineers.

Book a Demo →