KPIHelm — Your KPIs. Our insight. Your future.
All articles

Is $20 a day enough for Meta ads, and when should I stop if there are no sales?

$20 a day is enough to find out whether an ad can sell — if all of it goes into one campaign and one sale costs you a few days of budget, not a few weeks. Decide when to stop in money, not in days: work out before you start what a customer is allowed to cost you, and judge once the ad has spent two to three times that amount.

The question usually arrives after the third or fourth day. The ads are running, Meta reports clicks, the store has no orders, and every day without a sale feels like money thrown away. So the campaign gets switched off — or doubled, or rebuilt, or split into five new tests — and a week later the store owner knows no more than before. People who run ads for a living see both mistakes constantly: ads stopped on day two that would have sold on day five, and ads left running for a month on a budget that could never have produced a verdict. Both come from the same missing number. This guide works it out, and turns it into a stop date you can write down before you spend a cent.

Step 1: Work out what one customer is allowed to cost

Take a typical order and subtract what it costs you to fulfil: the goods, shipping you cover, payment fees, packaging, a share of returns. What remains is what the order leaves you before advertising. If your orders average $50 and $20 is left after those costs, then $20 is the most a new customer can cost on the first order without losing money on it.

That figure is your allowed cost per sale. Some stores accept paying more than this because customers come back and buy again — that is a legitimate decision, but it should be one, made with a known repeat rate, not discovered after the fact. If this number is still unclear, the break-even guide works it out step by step, and the guide on what a customer can cost covers the repeat-purchase side.

Step 2: Turn it into a stop point — in money

One or two sales, or none, after a small amount of spend are mostly luck. A common rule among experienced media buyers is to let an ad spend two to three times your allowed cost per sale before judging it, and to give it at least three days regardless of the money, because delivery takes time to settle.

At $20 a day, that gives you a date:

  • Allowed cost $20: judge after $40–60 — three days.
  • Allowed cost $40: judge after $80–120 — four to six days.
  • Allowed cost $100: judge after $200–300 — ten to fifteen days.

This is the honest answer to "is $20 a day enough?" It depends on your products, not on Meta. If your stop point is more than about two weeks of budget away, $20 a day is too little for that product: the test will take so long that the season, your stock or your patience will change before it ends. The way out is not a cleverer campaign. It is a higher daily budget for a shorter test, or advertising something whose sale leaves enough — a bundle, a set, a higher-priced item.

Write the stop point down before the ads start. Deciding in advance is what stops a bad day from making the decision for you.

Step 3: Put the whole $20 in one place

Small budgets are most often wasted by splitting them. Five ad sets at $4 a day each means five tests, none of which will ever reach its stop point — and Meta has too little data in any of them to learn who buys.

  • One campaign, one ad set, a few ads. Three to five different ads in a single ad set let Meta move the money toward whichever one works, without dividing the budget.
  • Optimise for purchases. A campaign set to traffic or engagement will deliver exactly that: cheap clicks from people who rarely buy. Clicks without sales are the expected result, not a finding.
  • Change nothing until the stop point. Every edit to budget, audience or ads restarts part of the learning. Adding a new ad is fine; rebuilding the campaign on day three resets the clock you are waiting on.

Step 4: Before you call it "no sales," check that it really is none

Zero sales in the ad report and zero sales in the store are not the same thing.

  • Look at your store's orders, not only at Ads Manager. If orders came in but Meta shows none, the ads may be working and the tracking is not — fix the tracking before you judge the ads.
  • Check that the clicks reach the store. Compare link clicks in Meta with visitors from Facebook and Instagram in Shopify. If most clicks never become visits, the problem sits between the ad and the page — see why Meta shows more clicks than Shopify shows visitors.
  • Count the clicks behind the zero. Many stores turn somewhere between 1 and 3 of every 100 visitors into buyers. With 20 clicks, no sales is the most likely result even for a good ad. Zero starts to mean something once a hundred or more people have reached the store and none has bought.

Step 5: At the stop point, read one of three results

No sales, with enough visitors. Stop — and change what people see, not how much you spend. More budget for an ad that converts nobody buys more of nobody. Look at the ad itself, the offer, and the product page it lands on; test a different product or a different angle, with the same stop point.

Sales, but each one cost more than you can afford. That is not a failure yet, especially if it is close. Look at which ad brought the sales, move the budget there, and give it one more stop-point window. If the cost per sale stays above your allowed cost, the product or the price is the problem, not the ads.

Sales below your allowed cost. You have a working ad. Raise the budget in steps — by a fifth or so every few days, rather than doubling overnight — and keep watching the cost per sale as you go.

One more check before you close a test: Meta credits a sale to an ad for days after the click, so purchases can still appear after you have switched it off. Look again a few days later before you write the result down.


KPIHelm judges "no sales" from your store's own orders, not from what an ad platform reports. When your ads bought clicks and the store recorded no sales at all in the period, it names it — and when fewer than 25 clicks stand behind that zero, it says so: a possible issue, not yet enough clicks to call it. Install it free on the Shopify App Store or see a sample report.