Hello, I built an app for my site. I have a Buy 2 Get 1 FREE deal. All the math is right, it goes from the app to the shopify checkout correctly. What I don’t like is that it shows in the checkout splitting the discount between the 3 items. Instead of $20, $20 and FREE for the 3rd item, it shows $13.33 for each item. People want to see that word FREE. Is there a way to change how that comes up in the checkout or is that just a shopify thing? If it can be changed what file would I edit to do it?
Thank you for any help
Jim -Hellhound Coffee Co.
Hey @James_Tapken - thanks for reaching out.
This looks like expected behaviour with how Shopify allocates discounts in checkout. Even with a “Buy 2 Get 1 Free” setup, Shopify stores the savings as discount allocations on the line items. So in your example, $60 of product with $20 off can show as an effective $13.33 per item instead of $20, $20, FREE.
Docs for that model are here:
There isn’t a theme file you can edit to directly change the native checkout line price display to force the word “FREE”. If you control the app logic, the best workaround is usually to make the free item a distinct cart line/product/variant and apply a 100% product discount specifically to that line/quantity:
a Checkout UI extension could potentially add supplemental messaging in the order summary too, for example near the cart line item or discount area which might help, but it wouldn’t replace Shopify’s native price calculation/display.
That said, I definitely get why showing “FREE” is better for buyer clarity. I’m happy to pass this feedback along on our end here. Could you confirm a couple details so I can pass it along internally?
- Is this using Shopify’s native Buy X Get Y discount, a custom Discount Function, or a third-party/custom app flow?
- Are the 3 items the same product variant on one cart line, or is the free item a separate product/variant?
- Is the main concern checkout display only, or are you also seeing confusion in order/refund reporting?
Hope to hear back from you soon!