Your storefront is the one part of your business that's supposed to run itself — and it's the part you look at least. You check your ad dashboard daily. You check your email flows. But the actual pages where money changes hands? You probably haven't clicked through your own homepage nav in weeks.
That's where the quiet leaks live. A product sells out, but it's still the hero image on your homepage. A theme update breaks a footer link. An app you uninstalled took your Klaviyo snippet with it. None of these throw an error. None of them show up in your revenue report as a line item called "money we lost." They just… bleed.
I talk to founder-operators every week who are spending real money driving traffic to stores with at least one of these problems live right now. The fix isn't a bigger analytics stack — it's a five-minute weekly ritual. Here's the checklist I'd run, and the fastest way to do most of it.
The 10-second version
Before the manual walkthrough: the fastest way to catch most of what's below is the free Shopify spend-leak scanner. Paste your store URL and it crawls your storefront the way a shopper would — checking your homepage, nav, and product links for the leaks in this list. No signup, no connecting anything.
Scan your store free, read the results, then use the checklist below to understand what each finding means and what to do about it.
1. Sold-out products you're still linking to
Why it matters: This is the most expensive leak on the list because you're often paying to send traffic to it. A product sells out, but it's still featured on your homepage, pinned in your nav, or — worst case — the landing page for a live ad. Every visitor who clicks lands on a page they can't buy from. Say a homepage-featured product pulls a few hundred sessions a week; if it's sold out, that's a few hundred people bouncing off a dead "Add to cart."
How to check it: Click every product linked from your homepage and top nav. Confirm each one is actually purchasable, not just that the page loads.
Scanner coverage: Confirmed automatically. The scanner flags products that are sold out but still linked from your homepage — the exact case you'd otherwise miss. (The ad-spend version of this leak — paying to send clicks to a product nobody can buy — is exactly what revenue leak detection is built to catch.)
Fastero
Connect your database. Ask questions. Get dashboards.
Postgres, BigQuery, Snowflake, and 10+ sources — live-connected, AI-powered, no dashboard builder learning curve.
Try free →2. Dead product pages
Why it matters: A "dead" page is sneakier than a 404. The page returns a normal 200 OK, the images load, the description is there — but every variant is unavailable, so there's nothing to buy. It looks fine to a crawler and fine at a glance. It's a brick wall to a customer. These accumulate over time as you discontinue variants without pulling the page.
How to check it: For your key products, don't just confirm the page loads — try to actually add each variant to the cart. If every option is greyed out, the page is dead weight.
Scanner coverage: Confirmed automatically. The scanner catches pages that return 200 but have zero purchasable variants, which is the failure mode a normal uptime check sails right past.
3. Broken nav and footer links
Why it matters: Navigation is trust. When a shopper clicks "Shipping & Returns" in your footer and hits a 404, you've done two things: lost that specific answer they wanted, and planted a seed of "is this store even real?" Theme updates, app changes, and renamed pages break these links constantly, and they're the last thing anyone thinks to test.
How to check it: Click through every link in your header and footer — not just the pretty ones up top, but the boring legal and policy links at the bottom, which are the ones that silently rot.
Scanner coverage: Confirmed automatically. The scanner walks your nav and footer and reports links that return 404 or 500 errors.
4. Empty collections
Why it matters: An empty collection is a promise with nothing behind it. A shopper clicks "New Arrivals" or "Sale" expecting products and lands on a blank grid that says "there are no products in this collection." It reads as broken, and it kills the browsing momentum you worked to create. This usually happens when a collection's automated conditions stop matching anything, or you clear out inventory without updating the nav.
How to check it: Click every collection linked in your nav and confirm it actually contains products.
Scanner coverage: Confirmed automatically. The scanner flags collections that are linked from your navigation but return no products.
5. Stale promo banners
Why it matters: It's July and your site-wide banner still says "SPRING SALE — ENDS SUNDAY." Best case, it's just sloppy and dents credibility. Worst case, that expired code still works and you're eating a discount you forgot you were running — or it doesn't work, and customers who click through feel baited. Either way, a promo that outlived its window is a leak in both directions.
How to check it: Read your own announcement bar and homepage banners as if you're a first-time visitor. Does the offer still make sense today? Does the code still behave the way the banner claims?
Scanner coverage: Worth-checking flag. The scanner can surface promotional messaging on your storefront for you to review, but whether an offer is genuinely stale is a judgment call — it flags it as worth a look rather than declaring it broken.
6. Hero products with some variants out of stock
Why it matters: This is the partial version of leak #1, and it's easy to miss because the product page looks healthy. Your best-selling t-shirt is featured on the homepage — but Medium and Large, the sizes most people want, are sold out. The page loads, some variants are available, so nothing looks wrong. But you're funneling attention to a product where your most in-demand options are gone, and a big share of that traffic can't buy what they came for.
How to check it: For every product you feature or link from the homepage, open the variant selector and check which options are actually in stock — not just whether any option is.
Scanner coverage: Worth-checking flag. The scanner surfaces homepage-linked products that have some (but not all) variants out of stock, so you can decide whether the featured slot still deserves that product.
7. Is your tracking still firing? (Klaviyo, GTM, pixels)
Why it matters: This one is invisible until it's catastrophic. A theme edit, an app uninstall, or a botched migration silently strips your Klaviyo snippet, your Meta Pixel, or your GTM container off the storefront. Everything looks normal — orders still come in — but your email flows stop capturing signups, your ad platform stops learning, and your retargeting audiences quietly starve. You often don't notice for weeks, until a report looks weird and you go digging.
How to check it: This is the most manual item on the list, and the one worth doing carefully. Confirming a script is present on the page is easy. Confirming it's actually firing correctly is not — for that you need the source of truth: GTM's Preview mode, Meta Events Manager's test tool, and your Klaviyo activity feed. Watch a real event flow through end to end.
Scanner coverage: Presence only — and I want to be precise here. The scanner reports which known tracking scripts it detects on your storefront (things like Klaviyo, GTM, GA4, Meta Pixel). It can tell you what's present. It does not claim anything is missing or broken, and it can't verify that a tag is firing. Use it as a quick "yep, the pixel's still on the page" sanity check, then confirm firing manually with the tools above.
What the scanner does — and what it still can't
Honesty matters more than a clean pitch here, so let me draw the line clearly.
The free scanner automates the storefront side of this checklist — the crawl-through-your-own-store part that's tedious to do by hand every week. It confirms the hard failures (leaks 1–4: sold-out-but-linked products, dead pages, broken nav/footer links, empty collections), surfaces the judgment calls (leaks 5–6: stale-looking promos and partial-OOS hero products), and tells you which tracking scripts are present (leak 7). It's free, instant, ungated, and Shopify-specific.
What it deliberately does not do: it doesn't touch your ad platforms, it doesn't log into your Klaviyo or Meta account, and it won't tell you a pixel is broken — only that it's present. Verifying that your tracking actually fires stays a manual job. And the deeper questions — true CAC by channel, cohort retention, margin after returns — live one layer down, in your analytics, not your storefront. That's a different exercise entirely; I wrote about it in Shopify analytics beyond the built-in dashboard.
Think of it this way: this checklist keeps the front door working. Analytics tells you whether the house is profitable. You need both, but they're not the same weekly ritual.
Do all seven in ten seconds
You can absolutely run this checklist by hand — click every nav link, add every hero variant to the cart, read every banner with fresh eyes. Doing it once will probably surface something you didn't know was broken. But "click through your entire store" is exactly the kind of task that falls off a busy operator's plate by week three.
So make the storefront half automatic. Start each week by dropping your URL into the Shopify spend-leak scanner — it runs checks 1 through 7 across your storefront in about ten seconds and hands you a list of what's actually broken. Then spend your five minutes on the two things it can't do for you: confirming your tracking fires, and deciding what to do about the flags it raised.
Scan your store free. If it comes back clean, you've spent ten seconds for peace of mind. If it doesn't, you just found money that was leaking out the front door.
Want the storefront check to run on its own, every week, and ping you when something breaks? Drop your email into the free scanner for continuous monitoring, or connect your store to Fastero's Shopify integration to catch the deeper leaks — the ones that live in your data, not your homepage.
Related: Shopify analytics beyond the built-in dashboard | Revenue leak detection
