How gifts become real discounts

What happens between the reveal and the cart, and why there are no codes anywhere in the flow.

The gifts a shopper collects are real Shopify discounts, created and managed by the app in your own store. There is no coupon code at any point.

The chain

  1. The reveal. The game records which gifts were granted and writes a small set of attributes into the shopper’s cart, including a session token.
  2. The product page. The gift stack block reads those attributes and shows the shopper what they hold. When they add the product to their cart, the block adds any free-product gift lines alongside it.
  3. The cart. Discount functions running in your store see the gift lines and the cart attributes, and apply the right discount: 100% off a gift line, a percentage or amount off the order, free or reduced shipping.
  4. Checkout. The same rules run again. The discounts are part of the order.

Why no codes

Codes leak. A code that grants a free product will be on a coupon site within a week, and then everyone has it whether they played or not. Because the app grants discounts directly against the cart’s own attributes, there is nothing to share.

What you will see in your admin

An automatic discount and a validation rule created by the app. Leave them alone: they are managed by the publish pipeline and editing them by hand will be overwritten next time you save a campaign.

Orders carry the gift attributes, so you can see in any order which campaign it came from.

Free products are added, not conjured

One thing worth understanding: the app cannot create cart lines from inside a discount rule, which is a Shopify constraint rather than a choice. The gift stack block adds the line, then the discount rule makes it free.

That is why the block matters, and why a free-product gift needs a real, sellable variant behind it.

Still stuck?

Email support@fliptowin.app with your store domain and the game URL you're testing. Every plan gets an answer from someone who has read the code.