Skip to content

Storefront purchase-path QA checklist

This is a short, repeatable manual pass over the buying flow of your storefront — homepage to checkout — so you can confirm the path a shopper actually walks still works after a theme edit, an app install, launch prep, or an unexpected drop in orders.

It checks one thing: can a shopper get from your homepage to the checkout without hitting a broken step? That is a theme-and-setup question, and it is the one this page helps you answer in a few minutes.

What this checks — and what it doesn't. A working purchase path is necessary for sales, not sufficient for them. This checklist confirms the path renders and responds; it does not measure demand, pricing, traffic quality, or whether people want to buy. Those live further down this page, in the columns the theme doesn't own.

Who does what

Three parties own three different parts of "why isn't this store selling?" Keeping them apart is what makes this checklist quick — it only covers the first column.

OwnsExamples
The theme (Uisce)The path renders & respondsHomepage → collection → product navigation, media, price, variant picker, add-to-cart, cart, checkout button, nav, selectors
Shopify admin / appsSetup & processingPayment providers, shipping zones & rates, taxes, Markets/countries, discounts, checkout, analytics/consent
You + your dataOffer & demandPricing, product appeal, photography, traffic source & quality, audience fit, marketing

If the path in column one is sound and orders still aren't coming, the answer is almost always in column two or three — not in the theme. The storefront wording guardrails keep your copy honest while you look.

How to run it

  • Time: about five minutes per template. Do it after any theme change, app install/update, or before a launch.
  • Two viewports: run it once on desktop and once on mobile (or your browser's device toolbar) — several checks below only fail on one of them.
  • Each template you use: run it on your main product/collection templates and on the preset templates you've enabled (e.g. product.uisce, product.gaoth). Preset templates compose different blocks, so a missing element can hide on one and not another.
  • Automated backstop: the theme ships a Playwright purchase-path canary (tests/e2e/canary/purchase-path.spec.js) that walks the automatable part of this list — navigation, product-page essentials, a variant change, add-to-cart feedback, the cart, the checkout entry control, and mobile nav — across the five live demo presets on every change. The manual pass below is what you run on your store and content.

The checklist — theme-controlled

Work top to bottom. Everything optional is marked (if enabled) — skip it if you don't use that feature.

1 · Navigation into products

  • [ ] Homepage → collection. A header or homepage link reaches a collection page.
  • [ ] Collection → product. A product card opens its product page; the card image, title, and price are visible.
  • [ ] Search → product (if used) — a search reaches results, and a result opens a product page.

2 · Product page renders

  • [ ] Media loads on both desktop and mobile — the gallery shows real images (not a broken/placeholder frame), and the thumbnails switch the main image.
  • [ ] Title and price are visible and correct.
  • [ ] Variant picker is visible when the product has options, and every option is selectable.
  • [ ] Quantity selector is visible and the +/− steppers change the value.
  • [ ] Buy buttons are visible — the add-to-cart button, and the dynamic checkout button (if enabled).

3 · Variant behaviour

  • [ ] Changing a variant updates the visible state — price, availability, and the selected media update to match.
  • [ ] Unavailable variants are communicated — a sold-out / unavailable variant shows a clear message and the add-to-cart button reflects it (disabled or relabelled), rather than silently failing.

4 · Add to cart & cart

  • [ ] Add-to-cart gives visible feedback — the cart count updates and the cart drawer opens (where enabled), or you're taken to the cart.
  • [ ] Cart drawer opens and refreshes (if enabled) — quantities update, remove works, the subtotal recalculates.
  • [ ] Cart page shows line items and totals — each line, its quantity and price, and the subtotal are correct.

5 · Checkout entry

  • [ ] Checkout button is visible and reachable from the cart drawer and the cart page. (Clicking it leaves the theme and enters Shopify checkout — checkout itself is Shopify's, not the theme's; see the boundary section below.)

6 · Optional conversion features (if enabled)

  • [ ] Quick buy adds to cart from the collection card.
  • [ ] Quick view opens the product preview from the collection card.
  • [ ] Sticky add-to-cart appears on scroll on the product page and adds to cart.
  • [ ] Policy / shipping / returns / contact links are visible (footer or menu) and open the right pages.
  • [ ] Header navigation opens menus and reaches the linked collections/pages.
  • [ ] Footer navigation links resolve.

8 · Mobile

  • [ ] Header nav on mobile — the menu opens, closes, and links work.
  • [ ] Footer nav on mobile — links are reachable and tappable.
  • [ ] The product-page essentials from section 2 are all reachable on a narrow screen (no element pushed off-screen or overlapped).

9 · Selectors, templates & recent changes

  • [ ] Country / language / currency selectors render (where enabled) and switch the storefront. (What they offer is set by Shopify Markets — see below.)
  • [ ] Main and preset templates checked — you ran sections 1–8 on every product/collection template your store actually serves.
  • [ ] Recent theme/app changes reviewed — if a change landed since your last good pass, re-run the path; a new app block or a theme edit is the usual cause of a newly-broken step.

Not the theme — verify in Shopify admin / external tools

If the path above works end to end and orders still aren't arriving, the cause is here, not in the theme. These are out of scope for this checklist — each is its own setup, and several have their own diagnostics.

  • Shipping — zones, rates, and restrictions in Settings → Shipping and delivery. A missing rate for a shopper's country blocks checkout completion. See Cross-border shipping.
  • Payment — providers and eligibility in Settings → Payments. No eligible method means no completed order.
  • Markets / countriesSettings → Markets decides which countries, currencies, and languages exist; the theme only displays what Markets produces.
  • Discounts — codes and automatic discounts in Settings → Discounts; test the specific code, not just that the field accepts input.
  • Analytics / tags — your analytics, pixels, and consent setup live in admin and apps; a purchase-path check is not an analytics check.
  • Traffic quality — whether the right people are arriving at all. A perfect path converts no one if the visits are bots or a mismatched audience.
  • Pricing & offer — price points, bundles, and positioning. This is a merchandising and business question, not a theme setting.

For honest storefront wording across all of these, use the storefront wording guardrails and claims & copy by niche.

Where this fits

This is the mechanical pass. When orders are missing and you need to decide where to look, use the diagnostics guides:

Non-goals

  • This checklist does not prove the store will get sales. It confirms the buying path works; demand, traffic, and offer are separate.
  • It does not replace Shopify admin setup checks — payments, shipping, taxes, and Markets are configured and tested in admin.
  • It does not replace payment, shipping, analytics, or advertising diagnostics.
  • It is not financial or business advice.

What this page is — and is not

This is an operational QA checklist — a fast way to catch a broken step in the buying flow before a shopper does. It is not a guarantee of sales, a substitute for Shopify admin setup, or a marketing diagnostic. When orders are missing and the path is sound, work through the admin and external columns above, and bring in the right tool or advice for each.

Built for the Shopify Theme Store.