There are posts going back to 2013 from countless people complaining about Shopify's lack of ability to:
What I'm having a hard time understanding is why. Can someone explain to me WHY Shopify doesn't allow for this? I mean, in the cart object itself is this object:
Which is supposed to represent all the discounts applied to a cart, but it's always blank.
And when someone clicks on a COUPON link, where exactly is that information stored? In what object? If we were able to access an object showing all the discounts that are already applied to a visitor on the site, we COULD figure out what to display in terms of the discounted price, but again, Shopify doesn't seem to expose this. Why?
Can someone please shed light on their logic for all these years in not allowing this basic functionality? I'm REALLY curious as I'm about to leave Shopify, which I like, because of this one need.
I am sure that there are also technical reasons but from a logic point of view I can give you few cases where this would fail:
Free shipping to certain states discount - can only be applied on checkout when you know the customer shipping details
X% off on orders over Y$ - can only be fulfilled after you know the exact cart total
BOGO - you need to know the final cart line items
Add autodiscounts and Scripts (can reject discount coupons) and you can have a better picture why this is done on checkout.