To test a Shopify checkout as a customer, place a test order through a test payment method from a browser that has never seen your store. Not your normal browser with the admin open in another tab. A browser with no admin session, no customer account, no old cart and nothing autofilled, because each of those changes what checkout shows you, and none of them exist for the buyer you are testing for.

The test order itself is the easy part

Shopify gives you two ways to pay without paying, and its help centre documents both. If you use Shopify Payments, you switch it into test mode and use the test card numbers Shopify lists. If you use another provider, or cannot use test mode, you activate the Bogus Gateway, a payment method that exists only for testing: it approves card number 1, declines 2 and returns a gateway error for 3, so you can try the failure paths as well as the happy one.

Two habits save a bad afternoon. Turn the test method off as soon as you are done, because while it is on, real customers cannot pay you. And cancel or archive the test orders, so they do not sit in your fulfilment queue or your reports.

None of that tells you what the checkout looks like to a stranger, and that is the part people get wrong.

Write the recipe once, then make forty profiles from itIn Mosaic: Presets and extensions. One recipe, forty profiles, forty exits. Free holds 3 profiles. Pro is $49 a month for any number.

How it works: Presets and extensions

What your browser knows that a new buyer's does not

A store owner testing from their usual browser is the least typical customer the store will ever have. Here is what is carried over, roughly in the order it shows up:

  • The admin session. Signed in to your Shopify admin, you see the storefront with your own tools around it, and any password page or preview state treats you as the owner.
  • A customer account. If you ever checked out on your own store as a customer, your name, email and saved addresses arrive filled in. A first-time buyer types all of it, on a phone, which is where checkout forms lose people.
  • The cart. The cart lives in a cookie. Last week's test items, a quantity you changed, a discount code you applied while checking a promotion: all still there.
  • Wallets that recognise you. Accelerated checkouts such as Shop Pay look up the email or phone they are given and the device they have seen before, and offer a one-tap path a new buyer is never offered.
  • Where you are. A store that sells in several markets picks the currency, prices, shipping rates and sometimes the payment methods from the visitor's location. Your own office address shows you your own market, every time.

Each of those makes checkout look shorter and friendlier than it is. A broken address field, a shipping rate that never appears for a postcode you do not live in, a currency that rounds badly: the owner's browser skips past all of them.

Why a private window is only half a fix

An incognito or private window solves the cookie part. It opens with no session and no cart, and it forgets them when the last private window closes. For a single look, that is most of the way there.

It does not solve the location part. A private window still leaves from your own IP address, with your own timezone and language, so you still see your own market. And every private window open at the same time shares one set of temporary cookies, so a second "fresh" test in another private window is the same visitor as the first.

A buyer who has never visited, made on purpose

In Mosaic the clean view is a profile type. Click New profile and choose One-time, which the dialog describes as "Trashed when its browser closes." The profile gets its own empty cookie jar and its own fingerprint, drawn together from real hardware. When you close its browser, the profile moves itself to the trash, so the next test starts from nothing again rather than from the last test's cart.

To see a market you do not live in, attach a proxy that exits in that country before the first launch. Mosaic checks the proxy before the browser opens and draws the profile's timezone, language and geolocation to match the exit, so the store sees one coherent visitor from that country rather than a German address with a Californian clock. The things that check covers are in how to check a proxy before you use it.

A test that holds up looks like this:

  1. Turn on Shopify Payments test mode or the Bogus Gateway.
  2. Create a One-time profile, with a proxy in the market you are testing.
  3. Arrive the way a buyer does: from a search result or an ad link, not from the admin's "View store".
  4. Add to cart, check out as a guest, and type every field by hand.
  5. Try card 1, then a decline, and read what the buyer is told.
  6. Close the browser. The profile goes to the trash; the order stays in your admin as a test order to cancel.
  7. Turn the test payment method off.

For sellers who run several stores they own, the same separation is what keeps each store's admin login in its own profile day to day; the e-commerce use case covers that side, and running Amazon and eBay together is the marketplace version of it. The one-time profile is the other half: a visitor nobody has met, made fresh for each look, so what you see at checkout is what a stranger sees.