Skip to content
House of Marka
AppsServicesMarketplacesWorkInsightsCompanyStart a project
D2C & Growth5 min readBy

Why the Cart Total Does Not Match Checkout on Shopify

Why a Shopify cart total differs from checkout: discounts the cart drew but Shopify never applied, taxes and shipping, rounding, and how to test for each.

A Shopify cart total differs from the checkout total for one of two reasons. Either checkout has added something the cart never included, such as shipping and taxes, or the cart displayed a discount that Shopify itself did not apply. The first is normal and is solved with clear labelling. The second is a fault, and it costs orders. This guide separates the two, goes through each cause, explains how discount functions make the figures agree, and gives a test routine.

Which differences are normal?

Shipping and taxes that are worked out once Shopify knows where the order is going. A cart does not have the delivery address, so it cannot know the shipping rate, and in many set-ups it cannot know the tax either.

This is expected, and shoppers accept it when they are told:

  • Label the cart figure 'Subtotal', not 'Total'.
  • Add a line under it: 'Shipping and taxes calculated at checkout', or whichever applies.
  • If you have a free shipping threshold, show progress towards it, so shipping is not a surprise.

Whether your prices are shown with tax included or added at checkout depends on your markets and how your store is configured. Nothing here is tax advice; confirm the right set-up for each market with your accountant.

Every other cause below is a fault.

Cause 1: the cart drew a discount Shopify did not apply

This is the most damaging cause. Some cart apps and theme customisations calculate a discount in the browser and display it: a crossed-out price, a 'You save' line, a reduced total. But the browser does not set prices. Checkout runs its own calculation, and if nothing has told Shopify about the discount, checkout shows the full price.

The fix is not better arithmetic in the cart. It is having the discount applied by Shopify, so there is only one calculation.

Cause 2: draft-order workarounds

Some tools reach a custom price by building a separate order with adjusted prices and sending the shopper to pay for that, bypassing the normal cart-to-checkout path. The price may come out right. The side effects are the trouble: that route can behave differently from your normal checkout.

If any app on your store works this way, test on that route everything you rely on in the normal one: discount codes, express payment buttons, shipping rates, and whether orders still appear correctly in your analytics and fulfilment tools.

Cause 3: stacked discount rules

The cart shows two discounts together; checkout applies one. Shopify lets you define which discounts combine, and where two do not, the shopper gets one of them and not the sum.

A cart that adds up every discount it knows about without checking the combination rules will overstate the saving. How to handle codes in the cart is covered in should you show a discount code box in the cart.

Cause 4: currency conversion and rounding

Small differences, often a few cents, on stores that sell in more than one currency. Shopify converts prices for each market and can round them to tidy figures. An app that takes prices in the store's base currency, calculates a discount and converts the result itself may round at a different step and land on a slightly different number.

Test in every currency you sell in, not just your own.

Cause 5: thresholds evaluated differently

The cart says a reward is unlocked; checkout disagrees. This happens when the two measure the cart differently: one counts the subtotal before discounts and the other after, or one includes an add-on line that the other leaves out.

Decide on one rule and make sure the progress bar and the discount or shipping rate behind it both follow it.

How do discount functions make the two agree?

By removing the second calculation. A Shopify Function is code that runs inside Shopify, as part of how the cart and checkout are priced. When a discount is applied by a function, Shopify works out the discounted prices itself, and the cart can display what Shopify returns. There is nothing for the cart to calculate.

So the drawer and checkout show the same figure because one piece of logic produced both. The background is in Shopify Functions explained for merchants, and our cart drawer guide shows where it sits among the other things a cart has to get right.

Marka Cart Drawer applies every discount it shows, including rewards, free gifts, steal deals, bundles and volume discounts, through a Shopify discount function. Its Discount Explainer runs the same function and tells you why a cart or an order got its price.

How do you test for a mismatch?

Build carts on purpose and compare line by line.

  1. List every offer you run: thresholds, gifts, bundles, quantity discounts, codes.
  2. For each one, build a cart that qualifies. Note each line price and the subtotal in the cart.
  3. Go to checkout and compare the same lines before shipping and tax are added.
  4. Build a cart that just misses each offer and confirm neither place applies it.
  5. Combine offers: a code with an automatic discount, a bundle with a threshold reward.
  6. Lower a quantity so the cart falls below a threshold, and check the cart updates.
  7. Repeat in a second currency, on a phone, and through an express payment button.
  8. Place one test order per offer and check the order record matches.

Run this again whenever you add an offer, change a discount setting or install an app that touches the cart.

A short checklist

  1. Label the cart figure 'Subtotal' and say what checkout adds.
  2. Show only discounts that Shopify applies.
  3. Check any app that sends shoppers down a separate checkout route.
  4. Set discount combinations deliberately and make the cart respect them.
  5. Test in every currency you sell in.
  6. Use one rule for thresholds in the cart and at checkout.
  7. Re-run the test carts after every change to offers or apps.

A shopper forgives a cart that says shipping comes later. They are far less forgiving of a price that rises at the last step. For a drawer whose discounts are applied by Shopify at checkout, see Marka Cart Drawer.

Work with us

House of Marka is the applied-AI and commerce engineering studio of Marka Modern Retail Private Limited. We research, advise and then build — for merchants and enterprises in the US, UK and Europe.