I'm in the process of creating a shopping cart, I have these value informations to show:

  • Discount: % or $ of discount. *only shows when user insert gift code
  • Subtotal: All item values
  • Shipping: Shipping cost
  • Total: All items + shipping cost

In which order should I display those values? Also, when using a discount value, where/how should I apply those calculations?

Currently I'm using as shown on the image below:

enter image description here

As you can see, first I show how much is the discount (both in % and in $), after that I show the subtotal and already apply the discount calculation. Is this the best way to do this?

Or should I apply the discount calculation only in the Total line? Or what other solution should I consider?

1 Answer 1


If the discounts apply per item, show it per item and indicate whether it's a sale price, a quantity price break, or something else. If there is no discount, don't repeat the list price because that will simply muddy the water.

If the discount applies to the total, do it only at the total, and with the same type of explanatory label: you want the buyer to know why the discount occurred so they know whether, and how, they can get it again.

  • It's applied to the total, but not considering the shipping cost. Only the total based on the items selected. Dec 2, 2016 at 11:21
  • Then you're good: show the reduction under the list-price total, and the net price under that.
    – MMacD
    Dec 2, 2016 at 11:39
  • I meant "net price before shipping" of course. The shipping would be the next item down, and the total net (the one under the double line) at the bottom.
    – MMacD
    Dec 2, 2016 at 11:46
  • In other words, just as you're now doing it, but without the repeat of the list price if the item is not discounted.
    – MMacD
    Dec 2, 2016 at 11:54
  • As I said in the question, the "Discount" line only shows when the user enters a valid gift card. Just a matter to change the calculation and add the discount on the "Total" line. Dec 2, 2016 at 12:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.