Cart page testing
In short. Your cart page sits between "Add to Cart" and checkout — shoppers confirm items, adjust quantities, apply coupons, then click through to pay. No login required to view it. Cart contents live in the visitor's browser session, not your database, so each visitor's cart is private and separate. The most important thing you can do before launch: walk your own cart in a private browser window, top to bottom, exactly as a customer would. That one 5-minute test catches the majority of pre-launch issues.
On this page: What the cart does · Scope and connections · Before you start · Steps (7) · What success looks like · Troubleshooting · Reference table · Examples
How to test your cart page before launching your store
Your cart page shows shoppers what they have added before they pay. Visitors land here after clicking "Add to Cart" on a product page — they see their items, adjust quantities, type in coupon codes, and click through to checkout.
The cart page does not require visitors to log in. Anyone browsing your store can build and view a cart. Login only applies at checkout, and only if you have configured your store to require accounts. Most owners launch with guest checkout enabled, which gives the lowest-friction buying experience.
Cart contents live in the visitor's browser session, not your database. Each visitor has their own separate cart. If a visitor closes their browser and returns the next day, the cart is typically empty (sessions expire after inactivity, usually 24 hours). Switching devices — add on phone, return on laptop — starts a fresh cart on the new device.
What is this for?
Your cart page is the review step between adding items and paying. Visitors use it to check quantities, apply coupons, remove items, and then continue to checkout. Testing it before launch is the single most important pre-launch QA step for any new store.
Scope
The cart page covers the public-facing review step between product selection and checkout. It handles item line items, quantity adjustments, coupon application and removal, and the transition to the checkout page. It does not cover checkout itself, payment processing, order management, product configuration, or theme styling — those each live in their own areas of your admin.
| In scope | Out of scope |
|---|---|
| Viewing and editing cart contents | Completing payment |
| Applying and removing coupon codes | Creating coupon codes (Coupons admin) |
| Quantity changes and item removal | Product page setup (Products admin) |
| Proceeding to checkout | Order history and refunds (Orders admin) |
| Testing the cart flow before launch | Cart-page visual styling (Appearance → Theme) |
Examples
Good use cases
- Pre-launch check — walk the buying flow end to end, yourself, before any real customer does.
- New product verification — confirm a newly published product shows up correctly in the cart with the right name, price, and image.
- Coupon testing — verify a coupon code you just created applies and calculates correctly against a real cart total.
- Checkout settings change — confirm that toggling "show cart page" vs. "skip to checkout" took effect as expected.
- After a tax or shipping rule change — verify that cart subtotals reflect your updated rates before resuming marketing.
- Customer issue reproduction — a shopper reports something looked wrong; reproduce it from your own private browser window before escalating.
What NOT to use this for
- Viewing another customer's cart — each visitor's cart is their own; you cannot access another shopper's session from the admin.
- Product setup — names, prices, images, and SKUs are managed in your Products area.
- Visual styling — cart-page appearance lives in your theme settings under Appearance.
- Tax, shipping, or payment configuration — those settings live in Settings → Tax, Settings → Shipping, and Settings → Payments.
- Returns or refunds — those flows live in your Orders admin area, after checkout completes.
- Abandoned-cart recovery — that is a separate feature surface in marketing tools.
How this connects to other features
- Product pages — Visitors click "Add to Cart" on a product page; that is what populates the cart. If your cart looks empty after a customer says they added something, also check whether the add-to-cart button on your product page is working. See Understanding your public product page.
- Checkout page — Your cart's "Proceed to Checkout" button leads visitors here. Authentication (if you require it) is enforced at checkout, not at the cart. See Checkout cancel and recovery.
- Coupons — Coupon codes that visitors type into the cart's coupon box are managed in your Coupons admin area. Most coupon-rejected issues are coupon configuration issues.
- Settings → Checkout — Houses the toggle that decides whether your store shows a cart page at all, or sends visitors straight to checkout.
- Products → Inventory — When a product runs out of stock, anyone who had that item in their cart will see it silently removed the next time they view the cart. This is intended behavior, but worth knowing about.
- Appearance → Theme — Your theme controls how the cart page looks. Different themes show line items, totals, and the coupon box in different layouts. The underlying behavior is the same.
- Mini-cart widget — Many themes include a header-mounted mini-cart icon that opens a dropdown summary of cart contents. The full cart page and the mini-cart read from the same underlying cart data, so they should agree.
- Settings → Tax �� Tax-rate changes flow through to cart-page totals. After updating tax rules, retest the cart to confirm totals reflect the new rates.
- Settings → Shipping — If your theme shows a shipping estimate on the cart page, changes to your shipping zones or rates are reflected there.
Before you start
- A populated test cart — open your storefront in a private browser window (Incognito on Chrome, Private on Safari/Firefox), browse to a product page, and click "Add to Cart." Private mode gives you a clean visitor session, free from admin login state.
- At least one published product — it needs a price, an image, and stock greater than zero. Out-of-stock products cannot be added to cart.
- Your storefront reachable — if maintenance mode is on, disable it or use the maintenance-mode bypass before testing.
- A coupon code on hand (optional) — if you have coupons set up, grab an active code. If not, skip the coupon step and return to it later.
- A real phone for mobile testing — most visitors buy on mobile. Test there too, not just desktop.
- A notepad — write down anything that looks off as you go. Small details (Remove button too small, coupon box easy to miss) surface during a deliberate walk-through and are easy to fix once spotted.
Where this lives
Open your store's public-facing site (the address your customers visit) in a private browser window. The cart page lives at the path /cart on your storefront domain. You do not access it from your admin sidebar; the cart is a public-facing page, not an admin tool.
If you have a custom domain set up, the path is your custom domain followed by /cart. If you are still testing on a SGEN-provided staging address, use that instead.
Bookmark the /cart path during testing — you will visit it several times across the walkthrough, and being able to open it instantly saves time.
Steps
1. Open your store in a private browser window
Open Chrome, Safari, Firefox, or Edge in Incognito or Private mode and browse to your store's homepage. Private mode gives you a clean session — no stale cart cookies from previous admin actions or testing.
Tip: ad blockers and privacy extensions often carry into private mode. For the cleanest test, disable them or use a guest browser profile.
Confirm the homepage loads cleanly (header, hero, navigation, footer all visible) before adding anything. Cart-page issues are often downstream of theme problems that appear site-wide.
2. Add a product to your cart
Click a product page and click "Add to Cart." You should see feedback — a confirmation message, a number badge on the cart icon, or a slide-out mini-cart preview, depending on your theme.
If nothing visible happens: check the cart-icon badge in your header. If even the badge does not update, the add-to-cart button may not be wired to your cart — worth investigating before launch.
For a thorough test: add a second, different product. A two-item cart lets you verify line-item separation, individual subtotals, and total math. If any products have variants (size, color), test at least one — the cart line should clearly show which variant was selected.
3. Visit the cart page
In the address bar, type your store's address followed by /cart and press Enter. Or click the cart icon in your header if your theme has one. Confirm:
- Your product appears in the line-item table
- The product name, price, and subtotal are correct
- The quantity defaults to 1 (or whatever you specified when adding)
- A "Proceed to Checkout" button is visible
- The cart total at the bottom reflects the sum of line subtotals
- Each line item shows a Remove option (an X button or a "Remove" link)
- The product image, if your theme shows it on the cart, is the correct image at a reasonable size
If any of these are missing or wrong, stop and investigate before continuing. A subtotal mismatch, in particular, is something you absolutely want to catch before a real customer hits it.
4. Try changing the quantity
Click into the quantity field and change the number from 1 to 2. Look for an "Update Cart" button if your theme has one, or click outside the field. The subtotal and total should update to reflect the new quantity. If they do not update, that is a problem worth investigating — see "What to do if it does not work" below.
Try a few edge cases too: change the quantity to a very large number (say, 99) and see whether your store caps it at the available stock or accepts it as is. Try changing it to 0 — most carts treat that as "remove this item". Try a non-numeric value — the cart should reject it gracefully.
If your store sells products with low stock counts (one-of-a-kind items, limited editions), this is a good moment to test the stock-cap behavior. Try setting quantity to one more than the available stock and confirm the cart caps at the stock level instead of accepting an unfulfillable quantity.
5. Try the Remove button on a line item
Click the Remove option on one of your two line items. The line should disappear from the table, and the subtotal and total should drop accordingly. If the cart had two items and you remove one, you should now see exactly one line item.
Click Remove on the second line item. The cart should now show its empty-state message ("Your cart is empty" or similar) with a "Continue shopping" link or button.
Some themes show a confirmation prompt before removing — "Are you sure?" — and others remove silently. Either is fine, but make sure the behavior matches what you want. If your theme does not prompt and a customer accidentally clicks Remove, they will need to navigate back to the product page and re-add.
6. Re-populate and try applying a coupon
Add a product back to the cart so you have something to apply the coupon against. Visit the /cart path again. Type your coupon code into the coupon box on the cart page and click "Apply". The total should reduce by the coupon amount. If you get an "invalid code" message even though the code is valid, double-check the coupon's expiry date, minimum-cart-total requirement, and active status in your admin Coupons area.
If the coupon applies, look for a way to remove or change it — most cart pages show the applied coupon with a small X or "Remove" link next to it. Test that the cart returns to its original total when the coupon is removed.
For percentage-based coupons, double-check the math: a 10% off coupon on a $50 cart should show a $5 discount and a $45 total. If the math is off by even a few cents, that is a serious issue — fix it before launch.
7. Click Proceed to Checkout
Click the "Proceed to Checkout" button. You should be taken to your checkout page, with the items still in cart and the coupon (if applied) still discounting the total. If you get bounced anywhere unexpected — to a login page, back to the homepage, to a page-not-found error — that is a problem with your checkout setup, not the cart itself.
Stop there. Do not enter real payment information unless you have a test-mode payment configuration set up. The goal of this walkthrough is to verify the cart-to-checkout transition, not to purchase. Close the private window when done — that discards the test session entirely.
If your store has a guest-checkout flow, also confirm the checkout page does not insist on creating an account before continuing. Guest checkout reduces friction; if your settings accidentally require account creation, conversion will drop.
What success looks like
You have passed when: you opened a private browser window, added a product, viewed the cart with the right items at the right prices, changed quantity successfully, applied a coupon, removed an item, and clicked through to checkout without error. The full walk-through takes about 5 minutes once you know the steps. If it takes much longer because something is sluggish or unclear, that is a customer experience problem worth fixing before launch.
Also check presentation: are prices easy to read? Is the Proceed to Checkout button obvious? On a phone, do you have to pinch to read anything? The cart page is the last thing a customer sees before deciding to pay — subjective issues here cost real conversions.
What to do if it does not work
The cart page is empty even though I just added a product. First, confirm you are using the same browser window where you added the item. Cart contents live in your browser session, so opening a new window or device gives you a fresh empty cart. If you are in the same window and it is still empty, check whether your browser is blocking cookies — privacy mode in some browsers blocks the cart cookie. Try a different private window, or temporarily disable any privacy extensions.
If the cart is still empty after all that, check whether the product you added is still published and in stock. The cart re-validates against current product data every time it loads. If the product was unpublished or went to zero stock between when you added it and when you viewed the cart, the line item silently disappears.
A subtle cause of empty-cart issues: if you have multiple browser tabs open and one of them is on your admin while another is on the storefront, the two sessions can occasionally interfere. Try the cart walkthrough in a completely separate browser profile or device to rule that out.
Quantity changes do not save. Some themes require an explicit "Update Cart" button click after editing the quantity field. Look for one. If there is no button and changes still do not stick, try refreshing the page after changing the quantity — the change may have saved but not visually updated. If the value reverts after refresh, that is a theme issue worth reporting.
Another cause: stock cap. If a product has 5 units in stock and you try to set quantity to 10, the cart will silently clamp to 5. Check the product's stock count in your admin if quantity changes seem to be capped at an unexpected number.
My coupon code is rejected. Open Coupons in your admin area. Look up the code. Verify: status is active, expiry date is in the future, the minimum-cart-total is below your current cart subtotal, and the usage limit has not been hit. Most coupon-rejection issues are configuration issues, not problems with the platform. Also double-check the exact text of the code — capitalization sometimes matters, and codes with hyphens or numbers like "0" versus the letter "O" are easy to type wrong.
If you operate in multiple regions or currencies, also confirm the coupon's region or currency restriction matches the cart you are testing against. A coupon limited to USD will reject in a EUR cart even if everything else looks valid.
Items I added are silently disappearing. Check the stock on those products. The cart re-checks stock every time the page loads, and if a product runs out of stock between when it was added and when the cart is viewed, that line item gets removed silently. This is intended behavior to prevent customers from checking out with items you cannot fulfill.
Visiting the cart path redirects me straight to checkout. This means the "Enable cart page" toggle in your Checkout settings is OFF. Some store owners prefer the no-cart-page flow because it gets shoppers to checkout faster. If you want a cart page, go to Settings → Checkout and turn this toggle ON.
The cart looks broken on mobile. Open your theme's settings under Appearance and check whether your theme has a "Mobile cart layout" or similar option. Some themes default to a desktop-style table that does not flow well on small screens. A purpose-built mobile cart layout uses cards or stacked rows instead of a wide table.
The cart page returns an error. Take a screenshot, note the time, and contact support. Include whether you were logged in or in a private window when it happened, what browser you were using, and whether the homepage and a product page also have issues or work fine.
The total at the bottom does not match the sum of line subtotals. This is the most serious cart issue — it means the math is off and a customer would be charged the wrong amount. Stop selling, or at minimum stop running marketing campaigns, until this is fixed. Contact support with screenshots showing the exact numbers.
Reference
| Cart page element | What it does | Where it comes from |
|---|---|---|
| Line item table | Shows each product, variant, quantity, price, subtotal | Cart session (browser cookie) |
| Quantity stepper | Lets shoppers change item count; re-calculates subtotal | Cart update action |
| Remove link | Removes a line item; re-calculates total | Cart update action |
| Coupon input + Apply | Applies a discount code; shows savings chip | Coupons admin configuration |
| Coupon Remove (×) | Clears applied coupon; restores original total | Cart session clear |
| Order subtotal | Sum of all line item subtotals | Computed from line items |
| Order total | Subtotal minus discounts | Computed from coupon rules |
| Proceed to Checkout button | Sends shopper to the checkout page | Checkout flow setting |
| Empty-state message | Shown when cart has no items | Theme template |
Examples
Example 1: Your Store launches a new pre-order product
Your Store is launching a limited holiday item. The owner creates a new product called "Holiday Gift Set" with a price of $24.00 and stock of 50. They publish it.
Before announcing the launch on the email list, the owner opens an Incognito window, browses to the store's products page, clicks Holiday Gift Set, and adds 1 to the cart. They navigate to the cart and confirm: the product name, price, and image are right; subtotal is $24.00; the shipping estimate (which the theme shows above the total) is reasonable; the Proceed to Checkout button is visible.
They try the coupon code HOLIDAY10 they created earlier. It applies — the total drops to $21.60. They click Proceed to Checkout, confirm the gift set appears in the order summary, and close the window without completing the order. The owner is confident the buying flow works before the launch email goes out.
Example 2: Your Store tests bulk pricing on wholesale items
Your Store offers tiered pricing on its wholesale items — a discount kicks in at quantity 10+. The owner wants to verify the discount shows up at the cart-page level, not just on the product page.
They open an Incognito window, navigate to the wholesale tote bag product, type "10" into the quantity field, and click Add to Cart. Then they visit the cart.
The line item shows quantity 10, the per-unit price reflects the wholesale tier, and the subtotal matches what the owner expected from the pricing spreadsheet. They bump the quantity in the cart to 12 to test the threshold behavior — the per-unit price stays at the wholesale tier, as it should. They drop to 9 — the price reverts to retail, and they get a hint message ("Add 1 more to unlock wholesale pricing") that their theme supports.
The owner knows the bulk pricing works and shares the test result with their sales team for wholesale-buyer training.
Example 3: Your Store decides to use the skip-cart flow for gift cards
Your Store sells digital gift cards alongside physical products. For the gift card product specifically, the marketing manager decides to test a skip-cart flow — customers who add a gift card should go straight to checkout, since there is nothing to review.
In the admin, they go to Settings → Checkout and turn OFF the "Enable cart page" toggle. To verify, they open an Incognito window, add a gift card to the cart, and type the /cart path in the address bar. They get redirected straight to the checkout page. The gift card is in the checkout summary, ready to pay for. The cart page is effectively bypassed.
The marketing manager documents the change in the launch notes so the email marketing team knows: the flow for gift cards is product to checkout, not product to cart to checkout. They also test on a phone to confirm the redirect works on mobile. The cart-page toggle is reversible at any time.
Cart counter reference
Your header cart counter updates automatically on every add, remove, and quantity change — no admin configuration required. Use the table below to verify healthy behavior or diagnose issues.
| Counter / drawer state | Trigger | Expected behavior |
|---|---|---|
| Badge = 0 | Fresh session, no items added | No badge or zero shown |
| Badge increments | Shopper clicks Add to Cart | Badge bumps by 1 immediately |
| Badge decrements | Item removed from drawer or cart page | Badge drops accordingly |
| Drawer opens | Shopper hovers or taps cart icon | Shows all items, quantities, subtotal |
| Counter shows 999 | Possible polling or loop bug | Investigate theme code immediately |
| Counter correct but drawer empty | Theme wiring gap | Report to theme designer |
The counter persists across pages in the same browser session but resets on device switch for guest shoppers. After checkout completes, the cart empties — that is correct behavior, not a bug.
Add-to-Cart test passes
Run these before every launch, sale, or theme change to catch theme-level issues before shoppers do.
Basic pass (15 min) — Open your storefront in an Incognito window. Add a simple product. Confirm the header counter increments immediately and the mini-cart drawer opens showing the item. Navigate to /cart and confirm the line item, price, and subtotal are correct. Click Proceed to Checkout and confirm you reach the checkout page without error.
Variant pass (10 min) — Add a variable product (one with size, color, or material options). Select a specific variant before clicking Add to Cart. Confirm the cart line item shows the correct variant label, not just the product name. Confirm the variant's price (which may differ from the base) is reflected in the subtotal.
Guest-checkout pass (10 min) — In a fresh Incognito window, add a product, proceed to checkout, and confirm the checkout page does not force account creation before continuing. Most stores launch with guest checkout enabled; if yours accidentally requires an account, conversion will drop.
If any pass fails, investigate before launching or resuming marketing campaigns.
Related reading
Cart page scope
| In scope | Out of scope |
|---|---|
| Viewing and editing cart contents | Completing payment |
| Applying and removing coupon codes | Creating coupon codes (Coupons admin) |
| Quantity changes and item removal | Product page setup (Products admin) |
| Proceeding to checkout | Order history and refunds (Orders admin) |
| Testing the cart flow before launch | Cart-page visual styling (Appearance > Theme) |
