What Good ROAS Looks Like for a Shopify Store in NZ (By Channel)
Realistic ROAS ranges for NZ Shopify stores on Meta and Google Shopping, and how to calculate the only ROAS number that actually matters: your break-even.
Key Takeaways
- There is no single “good” ROAS for a Shopify store. It depends on your margin, your channel, and whether the traffic is cold or warm. A 4x that’s profitable for one store is a loss-maker for another.
- The only number that matters first is your break-even ROAS. That’s 1 divided by your profit margin (as a decimal). Work this out before you look at a single benchmark.
- Meta and Google Shopping behave differently for Shopify stores. Meta is largely a demand-generation channel working cold and warm audiences. Google Shopping mostly captures demand that already exists, so it typically converts at a different rate to Meta’s cold prospecting.
- Shopify’s own reporting can inflate ROAS if you’re not careful. Attribution windows, discount codes, and returns all move the number without changing how much cash you actually banked.
- We’ve covered the seasonal and channel pattern for NZ e-commerce more broadly in our e-commerce ROAS benchmarks post. This post applies the same logic specifically to Shopify stores and the calculation you need to run before you compare yourself to anyone else’s numbers.
If you run a Shopify store in New Zealand, you’ve probably typed some version of “what’s a good ROAS for Shopify” into Google. What comes back is a wall of confident-sounding numbers: 3x, 4x, 10x, all presented as universal truths.
None of them are wrong, exactly. They’re just incomplete. ROAS on its own tells you almost nothing about whether your store is making money. A 4x ROAS on a product with 70% margin is very healthy. A 4x ROAS on a product with 20% margin could be quietly bankrupting you.
This post covers what realistic ROAS ranges look like by channel for a Shopify store, and more importantly, how to work out the ROAS number your store actually needs before you compare yourself to anyone else’s benchmark.
What ROAS actually measures on Shopify
Return on ad spend (ROAS) is revenue divided by ad spend. If you spent $500 on Meta Ads and those ads are attributed with $2,000 in Shopify sales, that’s a 4x ROAS.
The reason this number gets misused so often is that it looks like a profitability metric when it’s actually a revenue metric. It says nothing about your cost of goods, shipping, payment processing, Shopify subscription and app costs, discount codes, or returns. Two stores can post an identical 4x ROAS on Meta and one can be profitable while the other is losing money on every sale.
That’s why the useful question isn’t “what ROAS is good?” It’s “what ROAS does my store need to be profitable, and what’s the range above that where I’d call it good, great, or exceptional?”
How to calculate your break-even ROAS
Your break-even ROAS is the point where your ad-attributed revenue exactly covers your ad spend and product costs, with nothing left over. Below it, every sale from that channel is costing you money. Above it, you’re in profit territory.
Break-even ROAS = 1 / profit margin
Profit margin here means your contribution margin: revenue minus cost of goods sold, shipping, packaging, and payment processing fees, expressed as a decimal. It is not your headline retail markup.
Worked example: say a product sells for $100. COGS is $35, shipping and packaging cost you $10, and payment processing takes roughly $3. Your contribution margin is $100 − $35 − $10 − $3 = $52, or 52%. Your break-even ROAS is 1 / 0.52 = 1.92x.
That means any Meta or Google Shopping campaign selling that product needs to clear roughly 1.92x just to avoid losing money. It doesn’t need to hit 4x or 10x to be “working”. It needs to clear break-even, then you decide how much margin above that you want to bank as profit versus reinvest into growth.
| Contribution margin | Break-even ROAS | Target for 2x profit above break-even |
|---|---|---|
| 25% | 4.00x | 8.00x |
| 35% | 2.86x | 5.71x |
| 45% | 2.22x | 4.44x |
| 55% | 1.82x | 3.64x |
| 65% | 1.54x | 3.08x |
The lower your margin, the higher the ROAS you need just to break even, and the less room you have for error on targeting or creative. This is why two Shopify stores in completely different categories (say, a low-margin homeware brand and a high-margin skincare brand) should never be comparing their raw ROAS numbers against each other. Their break-even lines are in completely different places.
Factor in your CAC, not just ROAS
ROAS and customer acquisition cost (CAC) are two views of the same spend, and looking at only one leaves a gap in the picture.
CAC is simply your ad spend divided by the number of new customers acquired. If you spent $1,000 on Meta and it brought in 20 new customers, your CAC is $50.
The number that ties ROAS and CAC together is your average order value (AOV) and, ideally, your customer lifetime value (LTV). If your CAC is $50 and your average first order profit (after COGS, shipping, and processing) is only $30, you’re losing $20 on every new customer at the point of acquisition. That can still be a sound strategy if repeat purchase rate is high and LTV comfortably clears CAC over time. It’s a poor strategy if most customers only ever buy once.
Run this check alongside your ROAS: does my contribution margin on the first order cover my CAC? If not, do enough customers come back to make up the difference? For a Shopify store, your repeat purchase rate (visible in Shopify’s own customer reports) is the number that tells you whether a sub-break-even first-order ROAS is a problem or a deliberate acquisition investment.
What ROAS looks like on Meta Ads for a Shopify store
Meta (Facebook and Instagram) works primarily as a demand-generation channel for Shopify stores. You’re mostly interrupting people’s scroll and creating interest in a product they weren’t necessarily searching for, rather than capturing an existing search. That has direct implications for what ROAS to expect and how to read it.
Cold audience prospecting typically returns a lower ROAS than warm retargeting, because you’re doing more work to create the sale. This is normal and expected. Don’t compare your cold prospecting ROAS to your retargeting ROAS and conclude the prospecting campaign is failing. It’s doing a different job.
Warm retargeting (people who’ve visited your site, viewed a product, or added to cart) converts more easily because intent is already established. ROAS here is naturally higher, but the sales volume is capped by how much warm traffic you’re generating upstream through prospecting.
Seasonal campaigns built around gifting periods or sale events typically outperform always-on campaigns, because buyer intent is already elevated before your ad is even seen. Our broader ROAS benchmarks post breaks down actual seasonal-versus-always-on results across NZ e-commerce campaigns, including a Cookie Collective campaign that achieved 9.7x ROAS on Meta Ads alongside +156% revenue growth. That’s a genuine outcome, not a benchmark to expect by default. It reflects a specific store, product, and margin profile.
The point to take from Meta specifically: judge your ROAS against your own break-even and against your own cold-versus-warm split, not against a flat industry number. A cold-audience Meta campaign clearing 3x on a 45% margin product (break-even 2.22x) is healthy. The same 3x on a 25% margin product (break-even 4x) is a loss-maker.
What ROAS looks like on Google Shopping for a Shopify store
Google Shopping (via Performance Max or standalone Shopping campaigns) sits at the other end of the intent spectrum from Meta. Someone searching “merino wool jumper NZ” and clicking your Shopping ad has already decided to buy something in that category. You’re capturing existing demand rather than creating it.
Because of that, Google Shopping traffic for a Shopify store tends to convert at a different rate to Meta’s cold prospecting, and the two channels typically aren’t directly comparable on ROAS for that reason. Shopping is closer to the bottom of the funnel by default; Meta prospecting is closer to the top.
A few things specific to Shopify stores running Google Shopping:
Feed quality drives everything. Shopify’s product feed (via Google’s channel app or a feed management app) needs accurate titles, categories, GTINs where available, and current pricing. A messy feed means Google shows your ads for the wrong searches, which drags ROAS down for reasons that have nothing to do with your targeting or bids.
Performance Max blends signals across Search, Shopping, Display, and YouTube inventory, which makes it harder to isolate a pure “Shopping” ROAS. If you’re running PMax, look at the channel-level reporting where available rather than assuming the blended number tells the whole story.
Branded search inflates Shopping ROAS. If your feed and campaigns aren’t excluding or segmenting branded queries, some of what looks like Shopping-driven ROAS is actually people who already knew your brand and searched for it directly. That’s real revenue, but it’s not incremental in the way a cold Meta conversion is. Segmenting branded from non-branded Shopping performance gives you a much more honest read.
As with Meta, the number to hold your Google Shopping ROAS against is your own break-even, not a generic benchmark. Because Shopping captures existing intent, it will often run a higher ROAS than cold Meta prospecting for the same store. That’s expected and doesn’t mean Shopping is “better” than Meta: they’re doing different jobs in the funnel.
Why we’re not giving you a single “good ROAS” number
We could give you a number. Plenty of posts do. The problem is that a flat “aim for 4x” benchmark ignores the two things that actually determine whether that number means anything for your store: your margin and your funnel position.
A 4x ROAS is exceptional for a 15% margin store and barely break-even for a 60% margin store. A 4x ROAS on cold Meta prospecting is a strong result; the same 4x on branded Google Shopping traffic might just mean your existing customers found you again.
Rather than anchor you to a number that may not apply to your store, work through the break-even calculation above with your actual margin, split your reporting by channel and by cold-versus-warm audience, and set your target as break-even plus the profit margin you want to reinvest or bank. That’s the version of “good ROAS” that’s actually useful.
Getting your Shopify reporting to tell you the truth
A few reporting habits matter more than any benchmark, because a wrong number dressed up as ROAS is worse than no number at all.
Check your attribution window. Meta’s default attribution can credit conversions that would have happened anyway through other channels. Compare platform-reported ROAS against Shopify’s own order data and your bank account. If there’s a large gap, your attribution window is doing some of the work for you.
Net down discount codes and returns. A sale made at 20% off with a discount code, or a sale that’s later returned, still shows up as ad-attributed revenue in most reporting until you specifically exclude it. Build a habit of checking net revenue (after discounts and returns) against ad spend periodically, not just gross.
Separate new customer ROAS from returning customer ROAS. Shopify’s customer reports let you see first-time versus returning buyers. A campaign with a strong blended ROAS that’s mostly returning customers is a retention result wearing an acquisition campaign’s clothes. It’s still valuable, just not evidence that your prospecting is working.
Look at blended ROAS across channels, not each platform in isolation. If a customer sees a Meta ad, later searches your brand on Google, and buys through a Shopping ad, both platforms may claim some credit for that sale. Total ad spend against total attributed revenue across all channels gives you a more honest number than adding up each platform’s self-reported ROAS.
Getting this reporting layer right is closely tied to how your site is set up to convert that traffic once it lands. If your break-even math checks out but your ROAS still isn’t where it should be, the gap is often on the landing page and checkout flow rather than the ad account. Our conversion rate optimisation service covers that side specifically, and if the issue is closer to organic search feeding your paid remarketing pool, our SEO service is the other lever worth checking.
Frequently asked questions
What is a good ROAS for a Shopify store?
There’s no single good ROAS for a Shopify store because it depends entirely on your profit margin and which channel and audience temperature you’re measuring. The number that matters is your break-even ROAS, calculated as 1 divided by your contribution margin (revenue minus COGS, shipping, and payment processing, as a decimal). A store with a 40% margin needs to clear 2.5x just to break even; a store with a 20% margin needs 5x. Compare your actual ROAS to your own break-even, not to a flat industry figure.
How do I calculate break-even ROAS for my Shopify store?
Work out your contribution margin first: take your product’s sale price and subtract cost of goods sold, shipping and packaging, and payment processing fees. Divide the result by the sale price to get your margin as a decimal. Your break-even ROAS is 1 divided by that decimal. For example, a $52 contribution margin on a $100 product is a 52% margin, giving a break-even ROAS of 1 / 0.52, or 1.92x.
Is ROAS or CAC more important for a Shopify store?
Neither on its own gives the full picture. ROAS tells you the revenue return per dollar of ad spend; CAC tells you what it costs to win a new customer. The number that connects them is whether your contribution margin on a customer’s first order covers your CAC, and if not, whether your repeat purchase rate makes up the difference over time. A low first-order ROAS can still be a sound acquisition strategy if customer lifetime value is strong.
Should Meta Ads and Google Shopping have the same ROAS target for my Shopify store?
Not necessarily. Meta largely works as a demand-generation channel, especially for cold audiences, so it’s doing more work to create a sale that wasn’t already in motion. Google Shopping typically captures demand that already exists, since someone has actively searched for a product like yours. That difference in funnel position often shows up as a difference in ROAS between the two channels, and it’s not a fair like-for-like comparison unless you’re segmenting by audience temperature and branded versus non-branded search.
Why does my Shopify ROAS look different in Shopify than in Meta or Google Ads?
This usually comes down to attribution windows, discount codes, and returns. Ad platforms often use attribution windows (such as 7-day click) that can credit a sale to an ad even when other factors influenced the purchase. Shopify’s own order data reflects what was actually sold, which may be net of returns and discounts in ways the ad platform’s dashboard isn’t. Checking net revenue in Shopify against ad spend periodically gives a more reliable picture than trusting either platform’s self-reported ROAS alone.
For a personalised look at what your Shopify store’s break-even ROAS should be and how your current campaigns measure up, book a free consultation with our paid ads team.
Jason Poonia