Skip to main content
CRO

Facebook Ads Getting Clicks but No Sales: Shopify Fix

Facebook ads getting clicks but no sales on Shopify? Check tracking, campaign goal, mobile page, shipping shock and checkout in order, with the reports to use.

November 2, 2026 19 min read Talha Butt.
Share

Facebook Ads Getting Clicks but No Sales: Shopify Fix

Quick answer: A click is not a visit, a visit is not a buyer, and Meta’s results column is not your Shopify order list, so find the step that fails before you spend more on traffic. Check in this order: tracking (do Meta’s link clicks, landing page views and Shopify sessions roughly agree, and are sales being counted under another source), the campaign’s optimisation goal, the mobile product page, price and shipping shock, then checkout. Use Shopify’s Conversion rate breakdown report and a GA4 funnel split by device to see where the path breaks. Prism3 does not run ads; this guide covers the part after the click.

You have spent real money on Meta. The clicks column looks healthy, and Shopify shows a handful of orders, or none. The instinct is to change the ad. Often the leak is somewhere between the click and the order confirmation page.

This guide walks that path in order: what to read, what a leak looks like and what to do. It uses the platforms’ own documentation (Meta Business Help Centre, Shopify Help Center, Google Analytics help, web.dev), Baymard Institute’s published research and the ACCC. I read each page on 30 October 2026 and say “as at 30 October 2026” where a rule could change. There are no client results here, and numbers I made up to show arithmetic are labelled illustrative.

A note on scope. We sell Shopify SEO, GEO and CRO. We do not run ads or email. Your objective, budget and creative belong to you or whoever runs your ad account, so on those I cover what Meta’s documentation says and what to ask. The rest of the path is where we can help: whether the numbers are trustworthy, and whether visitors who arrive can buy.

First: how many clicks is “no sales”, really?

A cost per order is a cost per click divided by the share of clicks that buy. That one line explains most “clicks but no sales” panic.

Illustrative example: each click costs A$1.50.

Conversion rateClicks per orderAd cost per order
0.5%200A$300
1%100A$150
2%50A$75

The same traffic gives a fourfold difference in cost per order, and the ad did not change. That is why a conversion problem looks like an ad problem on the dashboard.

Small samples also mislead. If every click had a 1% chance of buying, 100 clicks would produce no sale about 37% of the time (0.99 to the power of 100). At 2% it is still about 13%. After 300 clicks at 1%, a zero is about 5% likely. This is plain probability, assuming each click is independent. A day or two of “no sales” is weak evidence; a few hundred clicks with no order anywhere is worth investigating.

Map the path before you fix anything

A click passes through at least six counts: link clicks and landing page views in Meta, then sessions, sessions with an add to cart, sessions that reached checkout and sessions that completed checkout in Shopify and GA4.

Shopify’s Conversion rate breakdown report shows the last four as a funnel. In your Shopify admin, go to Analytics, then Reports, and filter by the Behavior category. Conversion rate over time shows the share of visitors who bought across a period you choose, and Sessions by device and Sessions by landing page sit in the same category (Shopify Help Center, Behavior reports). Shopify counts “reached checkout” when there was user input in checkout, such as a key press or click, and completed checkouts can differ from orders because a customer can order more than once in a session. The funnel can be open (a visitor can reach checkout without adding to cart first) or closed (steps must happen in order), so check which you are reading.

For a split by device, use GA4. In Explore, start a Funnel exploration, add steps from the ecommerce events Google documents (view_item, add_to_cart, begin_checkout, add_shipping_info, add_payment_info, purchase), set the breakdown to Device category and compare up to four segments, such as Meta traffic against everything else (Google Analytics Help, Funnel exploration; Google’s ecommerce measurement guide). GA4 only shows events your setup actually sends, so if add_shipping_info never appears, that is a finding.

How to read the funnel without a benchmark

I will not give you a “good” add to cart rate, because averages mix products, prices and traffic. A leak shows up in comparison:

  • Meta traffic against other traffic (organic, email, direct) landing on the same pages. A step where Meta falls far behind points at the audience, the ad promise or the tracking.
  • Mobile against desktop for the same campaign. A step where mobile falls far behind points at the mobile page or mobile checkout.
  • Step against step. Look first at the biggest fall between adjacent steps.

Illustrative example: A$1,200 spent, 1,000 link clicks, 770 sessions from the campaign.

StepMobileDesktop
Sessions600170
Sessions with add to cart12 (2.0%)11 (6.5%)
Reached checkout57
Completed checkout1 (0.17%)5 (2.9%)

Overall that is 6 orders from 770 sessions, about 0.8%, or about A$200 an order. As one number it says “the traffic is bad”. Split by device, desktop converts reasonably and mobile, nearly four in five sessions here, loses people before the cart. The fix is the mobile product page, not a new audience. (Real analysis needs a far longer window than these counts.)

Step 1: Is it a tracking gap?

Check this first, because every later step relies on these numbers.

1a. Clicks, landing page views and sessions

Meta defines a landing page view as the page loading after an ad click, and its help page says you can compare landing page views with link clicks to see how many people clicked and left before your site loaded. Meta’s Clicks (all) number also includes things like clicks on your Page name or to expand an image, so use link clicks.

Put three numbers side by side for the same campaign and dates: link clicks (Meta), landing page views (Meta) and sessions with that campaign as the source (Shopify or GA4). I have no primary source for how big a normal gap is, and Meta says landing page views are tracked through its in-app browser or a Meta pixel on your page, and that some are modelled. So compare week against week and campaign against campaign, and treat a sudden change, or one campaign far worse than the rest, as the signal. Meta’s own reading is that link clicks well above landing page views can mean people clicked and left before the site loaded, so test load speed on a phone. A missing or blocked pixel can also lower the count. Landing page views fine but few sessions from that source points at tagging or consent, covered next.

1b. Are sales being counted under another source?

If your ad links carry no tags, or the wrong ones, Meta clicks arrive in GA4 as something else, and the sales follow. Meta’s help page says that since 1 January 2024 certain URL parameters (source as Facebook or Instagram, medium as paid, plus ad and campaign IDs) may be added to ad traffic automatically, and Shopify merchants may get source Facebook and medium paid.

Google’s default channel group rules (the manual traffic section) put traffic in Paid Social only when the source is on Google’s list of social sites and the medium matches a paid pattern, such as cpc, ppc, retargeting or a medium starting with “paid”. A social source with a medium of “social” falls into Organic Social. Traffic whose source is “(direct)” with no medium is Direct, and traffic that matches no rule is Unassigned.

Check: in GA4, open the traffic acquisition report by session default channel group, then by session source and medium, for the campaign dates. If “no sales from Facebook” turns out to be sales sitting in Direct, Organic Social or Unassigned, you have a tagging problem, not a conversion problem. Shopify’s acquisition reports page also refers to changes to its marketing channel dimensions on 18 October 2026, so be careful comparing channel data across that date.

1c. Does Meta see the purchase?

Ads Manager and Ads Reporting show events attributed to your ads, while Events Manager shows most events received, and Meta says the counts can differ for that reason. By default Meta credits results using 7-day click, 1-day view and 1-day engagement unless you chose another setting. So a campaign can show purchases that Shopify cannot match (see why Meta shows more sales than Shopify), and it can show none while orders exist.

Meta’s data-sharing setting in Shopify’s Facebook & Instagram channel matters here. Standard uses the Meta pixel only, which a browser-based ad blocker can stop. Enhanced adds Meta’s Conversions API, which Shopify says ad blockers cannot block because data goes server to server, but Enhanced and Maximum share customer details such as name, location, email address and phone number with Meta. Shopify says data sharing is a choice and to keep your privacy policy up to date. It also says that in markets requiring consent (its pixels page says usually the EEA and the UK), web pixels run only when visitors have given the permissions the pixel needs. Which level to use is a privacy decision to make with advice (this is not legal advice).

1d. Did Shopify change how it counts sessions?

Yes. As at 30 October 2026, Shopify says its session measurement rollout ran from 21 to 23 September 2026. A session now ends after 30 minutes of inactivity instead of at midnight UTC, some sessions with no page view are counted (for example, straight to checkout from a cart link), and identified bot sessions are filtered from session reports by default. Orders, sales and customer counts are not affected, and Shopify says to treat data from after the update as your new baseline for session-based metrics, including conversion rate. So a click-to-session gap compared across late September may reflect the measurement, not your store.

1e. The test order that settles it

Do this on a phone, on mobile data, as a customer would:

  1. Build a link to your product page with the same tags your ads use.
  2. Open it from the Facebook or Instagram app if you can, as buyers do.
  3. Add to cart and place a small real order (you can refund it afterwards, but it will count in your reports, so note it down).
  4. An hour later, find the order in Shopify admin with its source, the session in GA4 under the channel you expected, and the purchase in Meta’s Events Manager.

If any is missing, fix that first. GA4 and Shopify count differently, and some gap is normal, but a purchase that appears in one tool and nowhere else needs explaining. The first thing we check in a CRO audit is the tracking, for this reason. If tracking holds up and there are still no orders, you have a real conversion problem, so go on to Step 2.

Step 2: Is the campaign optimising for the wrong result?

Meta’s objective, conversion location and performance goal are three separate choices. Its help page describes the Traffic objective as increasing traffic to an online destination and the Sales objective as finding people likely to purchase, with other actions such as adding an item to the basket also available. Meta’s performance goals page says the goal is the outcome the system bids on and can differ from the objective. Its own example is choosing Sales as the objective and optimising for link clicks, a goal Meta describes as targeting people most likely to click your links. People who click are not always people who buy.

Ask whoever runs your account:

  1. What is the objective, and what is the performance goal for each ad set?
  2. If it is purchases, how many did each ad set get in the last 7 days, and does Delivery say “Learning limited”?
  3. When was the last significant edit?
  4. Is the purchase event the one Events Manager shows firing (Step 1c)?

The volume problem

Meta’s learning phase page says an ad set usually exits learning after about 50 results in the week after its last significant edit, that ad sets in learning are less stable with a usually higher cost per action, and that edits during learning reset it. Its landing page view best-practice page says a conversion-optimised ad set needs about 50 or more of its conversion per week to have a chance at being effective, and that otherwise landing page view optimisation could be an effective alternative. Its performance goals page adds that, in general, a daily budget should be at least ten times the average cost of your performance goal.

Illustrative arithmetic: say a purchase costs A$60. Fifty purchases a week is A$3,000, about A$430 a day, and Meta’s guidance of a daily budget at least ten times the cost per result gives at least A$600 a day. At A$100 to A$150 a day you would get roughly 12 to 18 purchases a week, so an ad set is unlikely to learn from purchases, however good the store is. That does not mean ads cannot work. It means the optimisation event, the number of ad sets and the budget should match the purchases the account can realistically produce. Meta says combining similar ad sets combines what they learn, so fewer, fuller ad sets are one option.

These are Meta’s documented figures as at 30 October 2026, and Meta revises them, so check its current pages for your campaign type. Moving the optimisation event up the funnel (landing page views, add to basket) is a trade: more events to learn from, but you are asking Meta to find people likely to do an earlier action, not to buy. That is a decision for your account and margins. If purchases are scarce, the page and checkout fixes below matter more, because each raises the purchases the same budget produces.

Step 3: Does the mobile product page do its job?

Treat an ad click as a cold start: the page has to restate what the ad promised, fast. Our guide to mobile conversion on Shopify covers the common problems; for ad traffic, check these.

Measure first:

  • In Shopify’s Sessions by landing page and Sessions by device reports, see where the campaign lands and what share is mobile. In your GA4 funnel, compare mobile and desktop add to cart for the same campaign.
  • In Shopify’s web performance reports, check Largest Contentful Paint, Interaction to Next Paint and Cumulative Layout Shift by page URL. Google’s web.dev guidance defines good as LCP within 2.5 seconds, INP of 200 milliseconds or less and CLS of 0.1 or less, assessed at the 75th percentile of page loads. Check the product page the ad sends people to, not only the home page.

Then use the page on a real phone:

  • Does it keep the ad’s promise? The product, offer and wording from the ad should be visible without scrolling. An ad for one product that lands on the home page asks the shopper to start again.
  • Are price, variants and the buy button visible on the first screen, or covered by a pop-up, cookie banner and chat bubble at once? Baymard’s 2026 product page research gives an example of a shopper who could not see that her size was out of stock until she opened a drop-down, and recommends button-style selectors.
  • Is there a reason to trust you? Reviews, returns terms and delivery information near the buy button matter to a stranger (see our Shopify product page CRO checklist).

Baymard’s product page benchmark (updated 18 March 2026) covered 155 or more leading US and European sites, and only 38% of mobile sites scored “decent” or better. That is large retailers, not your store, but it supports checking the mobile page before blaming the audience. Where you can, watch real mobile sessions from the campaign (the method is in reading Shopify session recordings), looking for people scrolling past the buy button or leaving within seconds.

Step 4: Price and shipping shock

If add to cart looks reasonable but few reach a completed order, the cause is often a number the shopper first sees late.

Shopify’s help page says customers are offered no shipping rates until they enter a delivery address at checkout, and the cheapest applicable rate is then shown by default. Its shipping strategy page says that with carrier-calculated rates you can’t show shipping costs before checkout, which can lead to unexpected costs and abandonment, while flat rates let you set clear expectations earlier. So on a store with carrier-calculated shipping and no shipping message on the product page, many shoppers first see the real total after they have started checkout.

My reading: price shock tends to show up as a fall between “reached checkout” and “completed checkout”, not between product page and cart. That is a reading, not a rule, so confirm it with the test below.

What Baymard found. Baymard’s cart abandonment statistics page (last updated 22 September 2025) reports a survey of US online shoppers. 42% said they had abandoned a cart because they were just browsing (Baymard’s checkout usability report puts that at within the last three months). Of the other reasons, the most common was extra costs too high (shipping, tax, fees) at 40%. Also listed: delivery too slow (20%), returns policy unsatisfactory (13%) and not being able to see or calculate the total order cost up front (12%). The percentages add to more than 100, so shoppers gave more than one reason. Baymard’s 2017 research found 64% of test subjects looked for shipping costs on the product page before adding to cart, and that 43% of benchmarked sites showed none there. That is dated, so treat it as a pointer to test.

Shipping hurts more when it is large against the price. Illustrative example: A$9.95 on a A$39 product is about 26% of the price, and on a A$120 product about 8%.

Test it yourself:

  1. Open the product page on your phone as a stranger in your main sales region.
  2. Add one product and note every price you see: product page, cart, first checkout step, final total. If the total surprises you, it surprises them.
  3. Check whether delivery time and returns terms are visible before checkout. Our guide to shipping and returns messaging for Australian stores covers where to put them.

Fixes to consider: a plain shipping line on the product page (flat rate, free over a threshold, or “from A$X”) and prices shown with tax included if yours add tax late. Shopify has a setting to include sales tax in product prices and shipping rates (Settings, then Taxes and duties). Each one changes margin, so run the numbers first.

A note on the law. The ACCC’s price displays page says businesses must display a total price that includes taxes, duties and unavoidable or pre-selected extra fees, and describes drip pricing as advertising a price at the start of an online purchase and adding fees gradually. It gives an example where delivery need not be in the displayed price because free click and collect is available, so the detail depends on your store. The same page says that, as at 30 October 2026, from 1 October 2026 businesses can no longer charge a surcharge on Visa, Mastercard, American Express or eftpos card payments (see our post on the card surcharge ban). This is general information, not legal advice, and the ACCC says it does not give legal advice to businesses on price displays. If unsure, ask a professional.

Step 5: Checkout drop-off

If people start checkout but few finish, look at what the checkout asks of them. Baymard’s list (same survey) also includes distrust of the site with card details (19%), being asked to create an account (18%), a checkout that was too long or complicated (17%), site errors (17%), a declined card (10%) and too few payment methods (9%). These are US results, but each item is checkable on your own store.

On Shopify, these settings are worth checking:

  • Account requirement. Shopify’s checkout settings let you require sign-in before checkout. Shopify says this limits checkout to email sign-in and hides accelerated checkout buttons such as Apple Pay in the cart. If you made accounts mandatory, you may have removed a quicker way to pay on a phone.
  • Required fields. Shopify says that if company name is required, customers using Apple Pay or Google Pay must type one in when their wallet does not supply it. Shopify recommends requiring a phone number only where your payment provider or carrier needs one.
  • Payment methods and codes. Place a test order with each method you offer and your discount codes, on a phone. A failing method is a lost sale you never hear about.
  • What you can change. Shopify says standard checkout customisations are available on Basic plans and above, and advanced customisation is Shopify Plus only. Check what your plan allows before you plan a fix.

In GA4, if your setup sends begin_checkout, add_shipping_info, add_payment_info and purchase, the funnel shows which sub-step loses people. Shopify’s own funnel only has “reached checkout” and “completed checkout”. Our checkout leakage audit goes through the checks we run.

Putting it together: what the pattern says

PatternMost likely areaFirst move
Clicks well above landing page viewsPage loading, or a pixel gapTest speed on a phone, check the pixel
Landing page views fine, few Shopify sessions from the campaignTagging or consent gapFix URL tags, check consent settings
Sales in GA4 under Direct or UnassignedTaggingFix UTMs, rerun the report
Meta shows no purchases, Shopify has ordersMeta measurementCheck pixel, data sharing, Events Manager
”Learning limited”, few purchasesOptimisation goal against volumeReview goal, ad set count and budget with your ad manager
Low add to cart on mobile, fine on desktopMobile product pageFix first screen and variants, watch recordings
Add to cart fine, drop from reached checkout to completedPrice, shipping or checkoutRun the shipping test, test every payment method
Everything low on every device and sourceOffer, price, product or audience fitA harder conversation, below

The last row is the honest one. If tracking is sound, the pages work and the total is no surprise, and people still do not buy, the cause may be the offer, the price, the product or who you are reaching. A conversion fix will not rescue a product shoppers do not want at that price, so talking to customers and testing an offer matters more than another page tweak.

What to do with the ads while you diagnose

I do not manage ad accounts, so take this as general sense. Meta says edits during learning reset it, so changing ads daily while you also change the website makes results unreadable. Change the website one thing at a time, written down with the date, and keep ad edits to what your ad manager has a reason for.

Do not scale spend on a store with a known leak: doubling the budget on a path that loses most mobile visitors doubles the loss. Our post on what to check when Meta ROAS drops takes the same approach from the reporting side. Conversion after the click, measurement you can trust and the share of customers who find you without a paid click are the parts we work on.

Key takeaways

  • Cost per order is cost per click divided by the share of clicks that buy, so a conversion problem looks like an expensive-ads problem.
  • A few days with no sales is weak evidence. At a 1% conversion rate, 100 clicks with no sale happens about 37% of the time (illustrative arithmetic).
  • Check in order: tracking, optimisation goal, mobile product page, price and shipping shock, checkout. Mistagged links can hide sales under Direct, Organic Social or Unassigned in GA4.
  • Meta says a conversion-optimised ad set needs about 50 or more of its conversion a week to have a chance at being effective, and that edits reset learning (as at 30 October 2026).
  • Split your funnel by device. If mobile falls away at add to cart and desktop does not, fix the mobile page, not the audience.
  • Shopify shows shipping rates only after the address is entered at checkout, so a late total can stop people at the last step. Do not scale spend on a path with a known leak.

FAQs

How many clicks do I need before I can say my ads are not converting?

There is no single number. At a 1% chance per click, 100 clicks with no sale happens about 37% of the time and 300 clicks about 5% (illustrative arithmetic, assuming independent clicks). A few hundred link clicks with no order anywhere, and tracking you have tested, is worth investigating.

Why does Meta show more clicks than Shopify shows sessions?

Meta counts a link click when someone clicks. A session is counted when your store loads and your analytics runs. Missing tags, consent settings and Shopify’s own session rules (updated 21 to 23 September 2026) can widen the gap, so compare week against week, not against a fixed ideal.

Should I switch my campaign to the Sales objective?

Meta describes Sales as finding people likely to purchase, but the performance goal decides what the ad set bids for, and a Sales campaign can still optimise for link clicks. Check the goal, not just the objective. A small account may also lack the volume for purchase optimisation (about 50 or more conversions a week, per Meta). That decision is for you and your ad manager.

Will free shipping fix it?

Maybe, maybe not. Baymard’s survey listed extra costs as the most common reason after “just browsing”, but free shipping changes your margin, and showing the cost early may help without giving it up. Test it; I cannot promise a result.

Do I need Meta’s Conversions API on Shopify?

It is a trade-off. Shopify says Enhanced adds the Conversions API, which browser ad blockers cannot block, but Enhanced and Maximum also share customer details with Meta, so decide with advice about your privacy obligations. This is not legal advice.

Are you paying for clicks you cannot trace to sales?

Finding the broken step is the work of the Shopify CRO service: we start with tracking, then look at where your store loses buyers after the click, using your own numbers. We do not run ads or email. If you would like a second pair of eyes, book a free 30-minute diagnostic or tell us about your store. We share your Shopify store on screen and name two or three conversion leaks live, and tell you whether they are worth fixing. No pitch.

Free 30-min diagnostic

Seen enough?
Book a free diagnostic.

We'll identify exactly what's breaking your conversion rate and what to fix first. No pitch. No email gate. 30 minutes.

More from Prism3