What is a good ROAS for a small Shopify store in my industry?
There is no single good ROAS for an industry: the number your store needs is set by your own margin first, and an industry figure only tells you how you compare with similar stores once both numbers measure the same thing. Work out your break-even, check what kind of ROAS the benchmark you found actually measures, and then read your category's range as a reference point, not a target.
It is one of the first things a store owner searches for after a few weeks of ads: is 2x good? Is 3x bad? The answers online disagree wildly, and for a reason — they mix platforms, industries, store sizes and different ways of counting a sale. A figure that is excellent for one store loses money for another. The steps below put your own number and the industry's number on the same footing, so the comparison means something.
Step 1: Work out your floor before you look at anyone else's
Your break-even ROAS is the point where an ad pays back exactly what it cost you. Below it you lose money on every sale, whatever the industry average says. Above it you are profitable, even if you sit below the average.
- Start from what an order leaves you. Take a typical order and subtract the cost of the goods, payment fees, any shipping you pay yourself, packaging and returns.
- Divide one by that share. If you keep 40 out of every 100 in sales, your break-even is 100 ÷ 40 = 2.5x. If you keep 25, it is 4.0x. Two stores in the same industry can need very different numbers.
- Write it down. Everything that follows is compared against it. The full working is in Your ROAS looks healthy. So why is there no money at the end of the month?.
Step 2: Check which ROAS you are comparing
"ROAS" is used for at least two different numbers, and benchmarks rarely say which one they mean.
- Platform ROAS is the revenue an ad platform credits to its own ads, counted by its own tracking, inside its own time window. It is the ROAS column in Meta, Google or TikTok. Most published industry benchmarks are this kind, collected across many ad accounts.
- Store ROAS is your total Shopify sales divided by your total ad spend. It includes sales from returning customers, search and word of mouth that no single platform claims, so it usually sits higher than any one platform's figure. It is the subject of Your blended ROAS looks fine. One of your channels is losing money.
- Compare like with like. Your store ROAS against a benchmark of platform ROAS will flatter you. Your platform ROAS on a week when tracking was broken will look worse than it is.
Step 3: Compare platform by platform, not with one number
A good number on one platform is not a good number on another, because the platforms reach people at different moments.
- Search ads reach people who are already looking for what you sell. They tend to report a higher ROAS, because part of that demand existed before the ad.
- Feed ads on Meta and TikTok reach people who were not looking yet. They create demand, and they get credit for less of the sale they start.
- So look up the range for each platform you run separately, and judge each campaign against its own platform's range, not against an average across all of them.
Step 4: Understand why your industry's range sits where it does
Industry ranges differ for reasons that may or may not apply to your store. Knowing the reason tells you whether the range is relevant to you.
- Repeat purchase. Beauty, food and other products people buy again often show a low first-order ROAS. The ad wins a customer; the profit comes from the second and third order, which the first-order figure does not show.
- Order value and margin. Jewellery and other high-margin products can be profitable at a ROAS that would sink a low-margin store. A category with high margins can look "good" at numbers that would not work for you.
- Decision time. Expensive or considered purchases take days to decide. A short attribution window credits fewer of those sales to the ad, so the reported ROAS looks lower than the ad's real effect.
Step 5: Read a benchmark before you trust it
Before comparing yourself with a figure from a report or a blog post, check what it was built from.
- Who was measured. A benchmark from large brands with known names and repeat customers is not a fair yardstick for a store in its first year.
- Median or average. An average is pulled up by a few very successful accounts. A median describes the typical store and is the safer comparison.
- Which period. ROAS moves with the season — ad costs rise in the weeks before Christmas, and the same campaign returns less. Compare a month with the same month, not with a yearly figure.
- Which platform and which attribution. If the source does not say, treat the number as a rough indication only.
Step 6: Use the range as a check, not a target
Put your break-even, your own ROAS and your category's range next to each other, and read them in that order.
- Below your break-even: you are losing money on ads, whatever the range says. Fix this first.
- Above your break-even but below the range: you are profitable. Stores like yours may be getting more from the same spend, which points to room for improvement in targeting, offer or product page, not to a loss.
- Above both: the ads are paying for themselves and doing well against similar stores. Note what is working before you change anything.
- And compare with your own past months. A ROAS that has fallen from 3x to 2x tells you more than any industry figure. If that is what happened, start with Your ROAS dropped on Shopify.
KPIHelm makes this comparison with your store's own numbers. It takes your Shopify sales over your ad spend and sets that against a range built from published benchmarks for stores in the category you chose, on that ad platform. When you fall below the range, it says so, and it asks you to check the result against your own margin before changing budgets — below your sector is not always a loss. If you have entered your margin and run one ad platform, it also tells you when you are clearly above both your break-even and the top of your category's range: a reading of the period that just closed, not a signal to spend more. Install it free on the Shopify App Store or see a sample report.