← All articles

What a Shopify brand should judge its Meta ads on

Most arguments about whether a Shopify brand’s Meta ads are working are arguments about ROAS. The agency says it is three. Finance says the bank balance disagrees. Someone pulls up Shopify’s attribution and gets a different number again. Everyone is right about their own figure and nobody is closer to the decision that matters, which is whether to spend more next month or less.

ROAS is the wrong number to run a brand on, and it is worth being precise about why before replacing it.

Why ROAS misleads

It ignores margin. A ROAS of three means three dollars of revenue for each dollar of ad spend. Whether that is wonderful or ruinous depends entirely on what is left of those three dollars after product cost, shipping, payment fees, returns and discounts. Two brands with identical ROAS can be one very profitable and one losing money on every order. The number cannot tell you which one you are.

It is Meta’s count, not yours. Ads Manager credits a purchase to an ad when the buyer saw or clicked it within the attribution window, and the buyer may also have come through your email, a search for your brand, or by typing the address in. Meta is not inventing purchases, but it is taking credit for some that would have happened anyway. The higher your brand awareness and the stronger your email programme, the bigger that gap gets, and the more flattering ROAS becomes at exactly the moment it should be trusted less.

It blends new and returning customers. Returning customers are cheap to convert because they already know you. An account that spends heavily on retargeting and existing customers will show a lovely ROAS while acquiring very few new buyers. The brand looks healthy on the dashboard and is quietly not growing.

The short list that works

Cost per purchase against contribution per order. Work out what an average order contributes after product cost, shipping, payment processing, expected returns and any discount. That is the most you can pay to acquire that order and break even on it today. Cost per purchase against that number tells you, order by order, whether the ads are making or losing money. It is a conversation about dollars, which is a conversation finance will join.

New customer cost per purchase, separately. Split acquisition from retargeting and from existing customers, and watch the new customer number on its own. It will be higher than the blended figure, sometimes much higher, and it is the one that decides whether the brand is growing. If you accept a new customer CPA above today’s contribution because customers come back, that is a legitimate decision, but make it knowingly and with your own repeat purchase numbers, not Meta’s.

Blended cost per order and blended return. Take total Meta spend for the period and total Shopify orders and revenue for the same period, whatever the attribution says. Watch how those move together. If Meta spend rises and total orders rise with it at an acceptable cost, the ads are working no matter what any attribution model claims. If spend rises and total orders do not, the ads are taking credit for sales you already had. This is the number that settles the argument between the agency, finance and Shopify, because it does not depend on any of their models.

Contribution after ad spend, for the period. Revenue minus product cost, shipping, fees, returns and ad spend. It is the only line that says whether the month made money. Everything above feeds into it; this is the one that goes in the board report.

How to use them

Set the thresholds before the month, not after. Know the cost per purchase at which you stop raising budgets and the one at which you pull back, both on the blended figure and on new customers. Decide them from the margin, write them down, and judge the month against them. This takes the emotion out of a bad week and the complacency out of a good one.

Read the trend, not the day. Any single day on Meta is noise. Any seven day stretch is signal. Scaling decisions, in either direction, should be made on the week, and ideally on how the blended numbers moved across the whole period a budget was held.

Let ROAS be a diagnostic, not a target. Inside Ads Manager it is useful for comparing one ad set with another on the same day, because the attribution flaws apply equally to both. It is not useful for deciding whether the brand should spend more. The moment ROAS becomes the number the agency is paid to hit, the account will be optimised to produce it, and the cheapest way to produce it is to retarget people who were going to buy anyway.

What this changes in the account

When an account is judged on cost per purchase against margin, and new customers are watched separately, the way it is run changes. Retargeting gets sized to what it actually adds rather than to what makes the dashboard look good. Budget goes to the campaigns bringing in new buyers at a cost the margin can carry. Scaling decisions follow the blended numbers rather than a model. And the quarterly conversation stops being about whose ROAS is right and becomes about whether the brand made more money this quarter than last from the ads it paid for.

That is the only question the ads exist to answer. If your account is being run on ROAS and nobody can tell you the new customer cost per purchase against your margin, the audit works that out and shows you what the account looks like judged properly.

Common questions

What is a good ROAS for a Shopify brand on Meta ads?

There is no good ROAS in general, only the ROAS your margin needs. A brand with a high contribution margin can be very profitable at a ROAS that would sink a brand with thin margins. Work out the ROAS you have to beat from your own product cost, shipping, payment fees and refunds, then judge against that. For most brands the more useful number is cost per purchase against contribution per order.

Should I look at cost per new customer or cost per purchase?

Both, but separately. Cost per purchase blends new and returning buyers, and returning buyers are cheap to reach because they already know you. If the blended number looks fine while new customer cost is climbing, the account is leaning on your existing customers and growth is stalling underneath a healthy looking average.

Why does Shopify show less revenue from Meta than Ads Manager does?

Because they count differently. Ads Manager credits a purchase to an ad if the buyer saw or clicked it within its attribution window, even if they also came through email, search or directly. Shopify's own attribution and your blended numbers will almost always be lower. Neither is lying; they answer different questions. For deciding whether to scale, the blended view against your margin is the one to trust.

Spending $30K or more a month and the numbers do not add up? Start with the audit.

Book the audit How it works