RELIABLE PR
← Back to Journal

The Ads Filled the Cart. Nobody Paid.

A jewelry brand's Meta ads delivered 972 landed visits, 7 add to carts and 8 checkout starts in twelve days, and nobody bought. Here's how two checkpoints we wrote in advance pointed us past the ads to the offer and the checkout, and what we found there.

A person shopping online on a laptop with a card in hand

Every store owner who’s run ads without sales ends up asking the same question. Is it the ads, or is it the store?

Most of the time the answer depends on who’s in the room. The agency blames the site. The developer blames the traffic. The owner blames the platform. Everyone has a theory and nobody has a test.

We recently ran Meta ads for a jewelry brand, pointed at two destinations: a custom sales funnel page and the brand’s own Shopify store. For twelve days, August 29 through September 9, the ads did exactly what ads are supposed to do. They put real people on the product page, cheaply, every day.

$562.43 spent. 972 landed views. 7 add to carts. 8 checkout starts. Zero purchases.

That last number is the story. The rest of this post is how we proved where it lives.

The numbers

The brand isn’t named. The figures come from our daily tracker’s September 10 read, which covers August 29 through September 9.

Account totals: $562.43 spent, 26,434 impressions, 1,176 clicks, $0.48 per click, a 4.45% click rate, 972 landed views, 7 add to carts, 8 checkout starts, zero purchases.

Three ad sets were live by the end of the window. A prospecting set sent people to the funnel page. A traffic set sent people to the store’s product page. A third set, built as retargeting, also sent people to the store. The funnel and the store sold the same ring at two different prices.

For context, before the ads turned on, the pixel was logging roughly 30 page views a week. On September 7 it logged 220 page views in a single day.

The traffic showed up. The sales didn’t.

Two checkpoints, written before the budget went up

On September 2 we restructured the account to $50 a day. The same night we built it, before the new structure had a single day of results, we wrote two lines into the tracker:

  1. The funnel checkpoint. When the funnel reaches 300 landed views, zero purchases means the page, not the ads.
  2. The store checkpoint. When the traffic set reaches about 200 store visits, one checkout start or a real add to cart rate keeps it. Zero kills it.

Here’s how both came back.

The funnel passed 300 landed views with zero purchases. The ads sent it 7 checkout starts along the way. Nobody finished.

The traffic set reached 509 store landed views since September 2, against a line of about 200. That’s two and a half times the sample the checkpoint asked for. It produced zero add to carts, zero checkout starts and zero purchases, on $127.35.

Both destinations failed the test we wrote for them. Two pages. Two prices. Same answer.

This is the part worth copying. A checkpoint written in advance turns an argument into arithmetic. Nobody had to debate whether 509 visits was “enough” or whether the ads needed “more time.” The number was written down while everyone was calm, so when it came in, there was nothing left to argue about.

Without them, the natural move is more budget, new creative and another two weeks. That’s how a store problem eats an ads budget.

How to tell an ads problem from a store problem

Walk the funnel one stage at a time. The ads’ job ends at the landed view. Everything after that belongs to the page, the offer and the checkout.

Stage one: are the ads buying attention?

Look at cost per click and click rate. Ours were $0.48 and 4.45% across the account. The traffic set bought landed views at $0.25 each against a $1.50 flag line we’d set for it. If your clicks are expensive and nobody’s clicking, that’s creative or audience.

Stage two: are the clicks landing?

Compare landed views to clicks. We landed 972 of 1,176 clicks, about 83%. If a big share of your clicks never become landed views, look at page speed, redirects and broken links before anything else.

Stage three: does the page move people?

This is where ours broke for cold traffic. The traffic set produced 509 landed views on the store’s product page and not one add to cart. When landing is healthy and carts are zero, look at the page first: the product, the price, the proof or the trust, and whether the page speaks to the people the ads are sending.

Stage four: does checkout close?

Checkout starts with no purchases means people wanted it and something stopped them at the register. We had 8.

Here’s the short version as a diagnostic:

  • Expensive clicks, low click rate: it’s the ads. Fix creative or audience.
  • Good clicks, low landing rate: it’s the plumbing. Fix speed and links.
  • Good landing, no carts: it’s the product page. Fix the offer, price and proof.
  • Carts and checkout starts, no purchases: it’s the checkout. Buy something yourself.

We had the last two at the same time.

What we found at checkout

On September 3 we walked the funnel’s checkout all the way to the payment page, without entering a card, and read every page in production. Three things stood out.

The payment page carried a company legal name that doesn’t match the store’s brand. A shopper spends time with one brand, clicks buy, and the page asking for their card shows a name they’ve never seen anywhere on the site. It’s very likely a perfectly legitimate legal entity. It still reads like a stranger at the exact moment someone’s deciding whether to trust you with a few hundred dollars.

The funnel and the store charged different prices for the same ring. Anyone who compares two tabs sees it, and a buyer weighing a ring purchase is exactly the person who opens a second tab.

A round of page fixes had been reported as done, and production didn’t show them. Placeholder review counts and outdated product wording were still live. One ordinary explanation is changes made on a preview build that never got promoted to the live site. The lesson isn’t about anyone’s work. It’s that “it’s fixed” is a message, and the live URL is the record.

A checkout checklist you can run today

  • Buy something yourself, with a real card, on your phone. Then refund it.
  • Read the name on the payment page. It should match the brand the shopper just spent time with.
  • Match the price across the ad, the product page, the cart and the payment page.
  • Trace every review count and star rating to a real source you could show a customer.
  • Show shipping cost and delivery timing before the card field, not after.
  • Open the live URL after every reported fix, not the preview link.

The measurement gaps that made it harder to read

Three things on the tracking side made the picture murkier than it should’ve been.

The Conversions API never came online. The pixel’s browser side worked fine the whole time. Its server side hadn’t sent an event since last November. That meant Meta was optimizing on browser events alone, with nothing from the server to back them up.

The site visitor retargeting audience sat at 20 people for eight straight days, on a 180 day window, while the pixel logged as many as 220 page views in a day. You can’t retarget 20 people. The two engager audiences still hadn’t reported a real size either, so the pool we built as “warm” barely existed.

The ad set named retargeting wasn’t really running retargeting. When we read its targeting settings on September 7, it had Meta’s Advantage+ audience expansion switched on. Meta had built lookalike audiences off the warm lists and was serving the ads to them. The name of an ad set tells you what someone meant to build. The targeting object tells you what’s actually running.

The comparison, and the story we almost told

The expanded audience set sent 140 landed views to the store and got 5 add to carts and 1 checkout start. The interest targeting set sent 509 landed views to the same page, at the same price, and got zero of either.

On September 6, before we’d read the targeting settings, our draft headline was that the store converts people who already know the brand and nobody who doesn’t. It was a clean story. It was also wrong. A warm pool of 20 site visitors plus two engager lists that hadn’t reported a real size can’t produce 1,883 impressions at a 2.37 frequency. Almost all of that delivery had to have gone to lookalikes. We retracted the headline on September 7, before it went to the client.

What the comparison actually says is narrower. Five of the account’s 7 add to carts came from Meta’s expanded audience, and the interest targeting set pointed at the same page produced none. It’s still a small sample, one checkout start at $126.36, and it didn’t turn into a sale either.

What we got wrong

We spent before a test purchase completed end to end. The Purchase event was wired on the funnel and had never fired once, because nobody had ever finished a purchase there. A single real test order before launch would’ve proven the Purchase event and put the name on the payment page in front of us in one pass.

We read the ad set’s name instead of its settings for five days. That’s how a lookalike set got described as retargeting.

We wrote a headline off one good day. Our own rule is that one day is a sample of one. We broke it, caught it the next morning, and pulled it back. The same thing happens with platform counters, which we wrote about in the dashboard said one lead and there was no lead.

What this doesn’t mean

It doesn’t mean the store is broken. The store’s pixel logged add to carts from other visitors in the same window, so the cart button works. People just didn’t add to cart after arriving from the traffic set.

It doesn’t mean the ads are perfect. It means the ads did their job, and more spend alone wouldn’t have fixed what happens after the click.

And it doesn’t mean we know the answer yet. The honest read is the offer, the price or the buying experience. We don’t know which one yet. What we’d test next is one price everywhere, a payment page that matches the brand, a completed test order, the Conversions API live, and then the same two checkpoints run again on the same budget.

If your product page is where it breaks, why your landing page doesn’t convert covers the page side. Our paid advertising service page covers how we structure and govern ad spend, our sales funnels service page covers the path from click to checkout, and if you want a read on what your current spend is actually buying, run a free audit.

FAQ

How many visits do I need before I can say my store isn’t converting?

Decide before you spend. Pick a landed view count large enough that zero sales would genuinely surprise you, write it down, and agree it with whoever’s paying. We used 300 landed views for a funnel page and about 200 visits for a store test. A zero at 40 visits is noise. A zero at 509 is information.

My ads get clicks but no sales. Should I change the ads?

Not until you’ve checked the stages after the click. If your click rate is healthy and most clicks become landed views, the ads have done their part. New creative won’t fix a price mismatch or a payment page nobody trusts. Check carts, checkout starts and the checkout itself first.

What does it mean when people start checkout but don’t buy?

It means they wanted the product and something at the register stopped them. Common causes are a surprise shipping cost, a price that changed between pages, a payment page that doesn’t look like the store, or a checkout that’s hard to finish on a phone. The fastest way to find it is to buy something yourself.

Do I need the Conversions API if my pixel is firing?

A working browser pixel is a start, not the whole setup. The Conversions API sends events from your server as well, so Meta has a second source for the conversions you care about. If your server side isn’t sending anything, your optimization is running on less signal than you could be giving it.

Read the funnel, not the mood

The ads bought 972 landed views for $562.43. By any reasonable measure of media, that’s a campaign working. It sold nothing, and the reason isn’t in Ads Manager.

You won’t find that by arguing about it. You find it by writing the checkpoints first, walking the funnel one stage at a time, and buying something from your own store.

Want a second opinion on a campaign that isn’t working? Book a 15-minute call. No deck, no fluff. Strategy first. Tactics second. The work works.

Reliable PR & Marketing is a strategy-first marketing agency in Bakersfield, California. We run integrated SEO, PR, web, and content for founder-led companies across Kern County and nationwide. Strategy first. Execution always.

Like what you read?

Let's make it
work for you.

Get a free 15-min strategy call. No pitch deck. No sales script. Just useful.

Book free 15-min call →