Every ad platform reports a number that makes it look good. That is not a conspiracy; it is what the platform can see. Meta knows what Meta influenced, Google knows what Google influenced, and neither knows what your products cost, what came back, or what the business spends to keep the lights on.

Add the three dashboards together and you will usually find they claim more revenue than the store actually took. ORVX reads the spend and sets it against figures that come from your own commerce data.

Three questions, three different metrics

What each one actually answers Attributed ROAS attributed revenue ÷ ad spend "did this campaign work, as the platform sees it" MER whole-business revenue ÷ total ad spend "is advertising carrying the business" Contribution gross profit − allocated ad spend after ads "did this leave any money behind"

Only the third is a profit number. The first two are useful and neither of them knows your margin: a 4× ROAS on a product with a 20% gross margin is a loss, and the platform will report it as a success every time.

Break-even ROAS, from your own costs

The target ROAS most stores work to came from a blog post or a previous job. The real one is implied by the margins you actually run, and it is different for every product.

ORVX computes break-even against your own gross margin, so the threshold for a 62% margin product and a 24% margin product are not the same number — which is why a single account-wide target quietly overspends on one half of the catalogue and starves the other.

MER against the whole business

MER is the honest counterweight to attribution, because its denominator is total ad spend and its numerator is revenue the business actually took — not revenue a platform claimed. It cannot be inflated by three platforms taking credit for the same order.

It is deliberately blunt: it will not tell you which campaign to cut. What it will tell you is whether the account as a whole is buying growth at a price the business can pay, and that is the question a rising ROAS in three dashboards is least able to answer.

Where the platforms connect

  • Meta Ads — campaigns, ad sets and ads, with spend, impressions, clicks and conversions.
  • Google Ads — campaign performance and spend.
  • TikTok Ads — campaign performance and spend.

All three are read-only. ORVX has no code that writes to an ad platform: it cannot change a budget, pause a campaign or edit a creative. When it tells you a campaign is below break-even, you make that call and you make the change in the platform.

That is a deliberate product boundary, not a missing integration. Automated bid changes driven by a margin figure that turns out to be based on a missing product cost is a failure mode that spends real money.

What tends to come out of it

  • A campaign with a respectable ROAS and negative contribution, because it sells the thinnest-margin product in the catalogue.
  • An account where MER has been flat for a quarter while individual campaign ROAS has "improved" — the definition of attribution drift.
  • A product whose break-even ROAS is above what the account has ever achieved, which is a pricing problem rather than a media-buying one.

Currency, stated

Ad account currency and store currency are checked rather than assumed. Where they differ, ORVX says so instead of comparing two currencies as though they were one — which is one of the easier ways to compute a ROAS that is wrong by a factor.