You're spending money every day. The dashboard shows clicks, maybe even decent click-through rates. But sales aren't showing up, or they're too thin to justify the spend. If that's you right now, you're not broken and your product probably isn't the problem—your ad system is missing one or two specific pieces, and this guide is going to help you find exactly which ones.
Quick bit of proof before we dig in, because “trust me” isn't good enough when it's your money on the line: we took one Shopify home decor brand from $3,609 to $40,408 in tracked ad revenue—a 23x ROAS in their first 7 days, sustained at 11.5x over the following weeks. Same product, same market conditions, just a system that actually converts. Nothing in this guide is theory—it's the exact diagnostic process we run on every new ad account before we touch a single campaign.
Before you check, test, or fix anything, you need to know which side of the funnel is actually broken. Every underperforming ad account falls into one of two buckets:
Here's the fast way to tell which one you're dealing with:
This one distinction changes everything about where you spend your next hour of troubleshooting. Don't rebuild your landing page if the real issue is that nobody's clicking. Don't rewrite ad copy if people are clicking just fine and dropping off at checkout.
This is, by far, the most common reason ad accounts “don't work.” If your Meta Pixel or Google Ads conversion tag isn't firing correctly, the algorithm is optimizing blind—it has no idea who actually buys, so it can't find you more people like them. Symptoms of broken tracking: your ads platform shows way fewer conversions than your actual sales, or zero conversions despite real orders coming in.
How to check it: use Meta's Events Manager test tool or Google Tag Assistant, place a real test order, and confirm the purchase event fires with the correct value. Do this before anything else—it takes 10 minutes and it's the single highest-leverage check on this entire list.
Most ad traffic—often 70%+ for ecommerce—is on mobile. If your page takes more than 3 seconds to load, you're losing a meaningful chunk of visitors before they even see your offer. Run your landing page URL through Google PageSpeed Insights and check your mobile score specifically, not just desktop.
If your ad promises “30% off your first order” and someone lands on a generic homepage with no mention of that offer, you've broken trust in the first two seconds. The headline, offer, and imagery on your landing page should mirror what the person just clicked on almost exactly.
Audiences that are too narrow starve the algorithm of data and inflate your cost per click. Audiences that are too broad waste spend on people who were never going to buy. For Meta specifically, most cold audiences should land somewhere between 500K and a few million people unless you're running highly specific retargeting.
If the same people are seeing your ad 4, 5, 6+ times and still haven't bought, performance drops fast—not because your offer got worse, but because the ad became invisible. Check your frequency metric; above 3-4 in a short window on a cold audience is usually a sign it's time to refresh creative.
“Shop Now” and a product photo isn't an offer—it's a catalog listing. A real offer answers “why should I buy this right now, from you, instead of waiting or going elsewhere?” in one glance. Price anchoring, urgency, guarantees, and specificity all do heavy lifting here.
If people are adding to cart but not completing checkout, look at surprise shipping costs, forced account creation, too many form fields, and a lack of visible trust signals (reviews, secure checkout badges, clear return policy). Cart abandonment sitting above 70% is normal industry-wide, but if yours is closer to 85-90%+, something specific in your checkout is pushing people out.
Curious how this looks when it's actually built out for your business rather than done piecemeal? This is the exact audit we run for every new client before launching a single ad—get your free growth plan here and we'll tell you specifically what's costing you sales.
Once tracking is confirmed clean, testing is how you actually improve performance instead of guessing. Here's the framework that keeps testing useful instead of chaotic:
If you change the creative, the audience, and the landing page all in the same week, you'll have no idea which change moved the needle. Isolate one variable—headline, thumbnail, audience, or offer—per test.
A common mistake is killing an ad after 2 days and $15 spent. That's not a test, that's noise. As a rule of thumb, let an ad run until it's spent roughly 2-3x your target cost-per-acquisition, or gathered at least 1,000 impressions and 15-20 clicks, before deciding whether it's a winner or a loser.
In order of impact, test in this sequence: offer (biggest lever by far), then creative/hook (what stops the scroll), then audience, then landing page details, then ad copy wording. Most people test in the reverse order and wonder why small copy tweaks aren't moving the needle—it's because the offer or hook was never the strong part to begin with.
A simple 80/20 split works well: 80% of budget goes to your proven, performing ads; 20% goes to testing new creative, angles, or audiences. This way testing never tanks your overall account performance while you're still learning what works.
Symptom: High CTR, but low conversion rate on your site.
Likely cause: message mismatch, weak offer, or landing page friction—the ad is doing its job.
Fix: rebuild your landing page around the exact offer in the ad, cut unnecessary form fields, and add social proof above the fold.
Symptom: Low CTR across the board.
Likely cause: weak creative/hook, wrong audience, or an offer that isn't compelling in the first 2 seconds.
Fix: test 3-5 new creative concepts with different hooks, and sharpen your audience targeting before spending more on the same underperforming creative.
Symptom: High cost-per-click that keeps climbing.
Likely cause: shrinking or overly competitive audience, or low ad relevance/quality score.
Fix: expand or refresh your audience, and improve ad relevance by tightening the match between your creative and what your audience actually cares about.
Symptom: Ads performed well for a couple weeks, then dropped off.
Likely cause: ad fatigue—frequency got too high for the audience size.
Fix: refresh creative every 2-3 weeks for cold audiences, and rotate in new angles rather than just new colors on the same concept.
Symptom: Plenty of add-to-carts, almost no completed purchases.
Likely cause: checkout friction, trust gaps, or shipping cost surprises.
Fix: simplify checkout to the fewest possible steps, show shipping costs earlier, add trust badges and reviews, and layer in an abandoned cart retargeting or email sequence.
This is one of the most common questions we get, and the honest answer is: it depends on your average order value and your platform, but here's how to actually calculate it instead of guessing.
Meta's algorithm needs roughly 50 conversions per week per ad set to exit the “learning phase” and start optimizing efficiently. If your budget can't realistically produce that volume of conversions, you'll stay stuck in learning limbo with inconsistent, expensive results. Work backward: if your average conversion rate is 2% and your average cost-per-click is $1, you need roughly 2,500 clicks a week (about 357/day) to hit 50 conversions—meaning a daily budget of at least $357 in that example. For most small businesses just starting out, a realistic minimum test budget is $20-50/day per campaign, understood as a genuine testing phase rather than a scaling phase.
For Google Search, your daily budget should allow for at least 15-20 clicks per day at your average cost-per-click so you gather enough data to see patterns within a week or two. If your average CPC in your industry is $3 and you're only spending $10/day, you're only getting 3 clicks a day—nowhere near enough signal to judge performance, let alone convert.
Daily budget = (Target number of weekly conversions ÷ 7) ÷ your expected conversion rate × your average cost-per-click. If you don't have historical data yet, start conservative, run it for a full 7 days minimum before changing anything, and resist the urge to pause or edit campaigns daily—constant edits reset the learning phase and make your data harder to trust.
Once an ad or campaign is consistently profitable, scale spend in 20% increments every 3-4 days rather than doubling budget overnight. Large, sudden budget jumps reset the algorithm's learning and can tank performance right when things were finally working.
Impressions and clicks feel good to look at, but they don't pay your bills. The metrics that actually tell you whether your ads are working:
Sometimes the honest answer is that no amount of ad optimization fixes the real problem. Worth ruling out before you keep pouring money into campaigns:
If you've genuinely ruled out tracking, targeting, creative, landing page, and budget—and results still aren't there—it's worth having an outside set of eyes look at the whole system rather than just the ads in isolation. That full-picture audit is exactly what we do for new clients before we ever launch a campaign.
Why am I getting clicks but no sales from my ads?
This is almost always a conversion problem, not a traffic problem—your ads are doing their job by earning the click. Check your landing page message match, page speed, offer clarity, and checkout friction first, in that order.
Why are my Facebook or Meta ads not converting even with good engagement?
Likes, comments, and shares don't equal sales—they measure a different kind of engagement entirely. Check your Pixel is firing correctly first, then look at whether your landing page actually matches what the ad promised.
How much should a small business spend per day on ads?
A realistic starting point for genuine testing is $20-50/day per platform, run consistently for at least a full week before judging results. Scaling budgets should happen in 20% increments once a campaign proves profitable, not in sudden jumps.
How long before ads start working?
Give a new campaign at least 5-7 days and enough spend to exit the platform's learning phase before judging it. Meta specifically needs roughly 50 conversions per ad set per week to optimize properly—fewer than that and you're still in a data-gathering phase, not a performance phase.
What's considered a good ROAS?
It depends entirely on your profit margin. A general starting benchmark is 3-4x for ecommerce, but your actual break-even point is your cost of goods and expenses divided into your revenue—calculate your specific number rather than chasing an industry average that may not apply to you.
Should I pause an ad immediately if it's not converting?
Not right away. Let it gather enough data first—roughly 1,000 impressions and 15-20 clicks, or 2-3x your target cost-per-acquisition in spend—before deciding it's genuinely underperforming rather than just early.
“Why aren't my ads getting sales” almost never has one single answer—it's usually one or two specific breaks in a chain: tracking, targeting, creative, landing page, offer, or budget. Work through this list in order, fix the highest-leverage issue first (tracking, always first), and give each change enough time and data before judging it.
If you'd rather have this entire system—strategy, creative, tracking, landing pages, and ongoing optimization—built and run for you instead of piecing it together yourself, that's exactly what we do. We turned $3,609 into $40,408 in tracked ad revenue for one client in their first 7 days; get your free growth plan here and we'll show you specifically what we'd fix in your account.