By default, when a customer qualifies for a gift reward, EliteCart adds the gift product to the cart with with whatever price it has. Unless the gift’s product price is set to $0, to actually make the gift free at checkout, the cart needs an additional layer that re-prices the gift line to $0.
EliteCart offers two such layers, selectable inside the Automatic gift application card (Cart designer → Rewards → Settings & design):
Cart Transform — a Shopify Cart Transform Function that re-prices the gift line to $0 at checkout. Shopify Plus only, requires EliteCart Professional or Enterprise.
Automatic discount — a native Shopify automatic product discount that applies 100% off the gift line at checkout. Works on every Shopify plan, available on any EliteCart plan.
The two methods are mutually exclusive - if you switch methods, click Disable on the current method first, then Enable on the new one.
Neither method is the same as the third gift-related function, Gift Eligibility Enforcement (Cart Validation), which sits in its own card directly below. That function does NOT re-price the gift — it only blocks checkout if the eligibility threshold isn't met. Combinability differs:
Cart Transform is mutually exclusive with Gift Eligibility Enforcement (Cart Transform already prevents free-gift abuse by re-pricing at checkout).
Automatic discount is fully compatible with Gift Eligibility Enforcement — and running them together is the recommended combo for non-Plus stores.
Info: Either method only does something when at least one gift reward (type "Single gift" or "Multi gift") is enabled. With no gift rewards configured, the function has nothing to apply to.
Method | Plan requirement | Mechanism | Advantages / Disadvantages |
Cart Transform | Shopify Plus + EliteCart Professional/Enterprise | Cart Transform Function re-prices the gift line at checkout | Overwrites product price to 0, rather than applying a discount. Might cause issues with bookkeeping. |
Automatic discount | Any Shopify plan, any EliteCart plan | Native Shopify automatic product discount applies 100% off the gift line | All other Shopify discounts must be set to “combine with product discounts”. |
Manually set product price to free | Any Shopify plan, any EliteCart plan | A dedicated gift product with price set to $0 is created. | Uses 2 separate products, which can cause inventory-sync issues. |
Quick decision guide:
Shopify Plus merchant on EliteCart Professional/Enterprise → Cart Transform. No discount-slot consumption, no combination concerns, and Cart Transform natively guards against checkout-time threshold drops.
Any other Shopify plan → Automatic discount, optionally combined with Gift Eligibility Enforcement for a checkout-side safety net.
If neither method fits your store (e.g. you've used all 25 automatic discount slots and aren't on Plus), the original duplicate-$0-product workflow remains a valid third option — see Creating Free Gift Products.
Cart Transform uses Shopify's Cart Transform Function API to override the gift line's price to $0 at checkout. Because it modifies the line's underlying price rather than applying a Shopify discount, it doesn't compete for one of your 25 automatic-discount slots and doesn't interact with your other discounts at all.
Shopify Plus account (required for cart transform functions)
EliteCart Professional or Enterprise account
Gift rewards configured in EliteCart
Cart transform functions run at checkout, automatically setting gift product prices to $0 when customers qualify. The same product can be:
Purchased normally at full price
Given free as a reward when thresholds are met
Gifts are automatically protected from quantity manipulation, even at checkout.
Go to Cart Designer → Rewards & free shipping
Switch to the Settings & design tab
Scroll down to Automatic gift application
Find the Cart Transform sub-card (marked with both "Shopify Plus only" and "Beta" badges)
Click Enable
If you see the message "Disable the Automatic discount below to use Cart Transform.", disable the Automatic discount sub-card first.
The function will utilize all of your existing reward settings like threshold types (cart total or item count), market-specific rules, and more.
The function automatically excludes from threshold calculations:
Addon products (count toward total but not item count)
Gift cards
Gifted rewards themselves
Products with exclusion tag _elite_exclude_from_reward_calculation
Cart Transform operates on the underlying line price rather than as a Shopify discount, so it does not compete with your other automatic-discount slots and reliably works alongside other store discounts without interference.
Operational notes:
Discounts apply both in the cart and at checkout, if the product was added as a gift by EliteCart.
The function respects all configured market visibility rules.
If you allow customers to modify item quantities at checkout:
If a customer increases the quantity of a gift to greater than 1, the gift will revert to full price. (It will be discounted again if the customer changes the quantity back to 1.)
If a customer changes other items in the cart and goes below a gift's threshold, the gift will revert to full price.
If a customer changes their shipping country, market rules for that country will be applied.
For technical reasons, EliteCart cannot remove or add gifts during checkout, only before checkout (in the cart). If you are looking for that, check our Reward Bar in Checkout.
Discount interaction:
The Cart Transform function runs before any discount — whether it's a Shopify automatic discount, a buyer-applied code at checkout, an app-generated promotion like "Buy 3 get 2", or EliteCart's own Reward Discounts. That means the function always evaluates gift eligibility against the pre-discount cart subtotal, regardless of what discounts are later applied.
Practical consequence: if a customer's pre-discount cart meets the gift threshold, the gift stays free even when the post-discount total drops below the threshold.
Example: You require a $100 cart total for a free gift. The customer's cart is $105, EliteCart adds the gift, and the Cart Transform zeros the gift price. A 20% discount is then applied (in the cart, at checkout, or from another app) and drops the post-discount total to $84. The gift remains free because the Cart Transform already made its decision using the pre-discount $105. We think this is good because it removes potential friction during checkout.
You may also notice that the reward progress bar in the cart drawer shows "not qualified" in this situation (because the bar reflects the post-discount total the customer actually sees in the cart), while the Cart Transform still gives the gift for free. This is expected: the bar is informational and uses post-discount math; the Cart Transform uses pre-discount math because that's the only data Shopify exposes to it. To resolve these edge cases, check our Reward Bar in Checkout.
Go to Cart Designer → Rewards & free shipping → Settings & design → Automatic gift application
Click Disable on the Cart Transform sub-card
Confirm deactivation
The function will be removed from Shopify and gift products will return to normal pricing behavior.
Automatic discount uses a native Shopify automatic product discount to apply 100% off the gift line at checkout. EliteCart creates and maintains the discount for you; you don't manage it from the Shopify discount page. This is the all-plans alternative to Cart Transform — recommended for any non-Plus store, and for Plus stores that want to keep the discount in Shopify's native discount system.
Any Shopify plan, any EliteCart plan
Rewards V2 enabled (stores still on V1 see "Native gift discount requires V2 reward bar settings. Please save your cart design first." — save the cart design to migrate, then retry)
At least one enabled gift reward of type "Single gift" or "Multi gift"
When enabled, EliteCart creates a Shopify automatic product discount titled "EliteCart Gift Discount" in your store and wires it to a Shopify Function. At checkout, the function reads the current reward configuration and applies 100% off to eligible EliteCart gifts.
Go to Cart Designer → Rewards & free shipping
Switch to the Settings & design tab
Scroll down to Automatic gift application
Find the Automatic discount sub-card (marked with the "Beta" badge)
Click Enable
If you see the message "Disable Cart Transform above to use the Automatic discount.", disable Cart Transform first.
Uses one of your store's 25 automatic-discount slots. Shopify caps each store at 25 active automatic discounts; the gift discount counts as one of them (one in total, not per gift).
Other automatic discounts must be set to "combine with Product discounts" to stack with the gift discount. If your existing automatic discounts are set to NOT combine with product discounts, the gift line won't be discounted alongside them. Check the "Combinations" setting in each discount's Shopify editor.
Mutually exclusive with Cart Transform. Only one of the two methods can be active at a time.
Go to Cart Designer → Rewards & free shipping → Settings & design → Automatic gift application
Click Disable on the Automatic discount sub-card
Confirm deactivation
EliteCart deactivates the Shopify discount but retains the discount ID, so re-enabling later picks up the same discount automatically.
To switch from Cart Transform → Automatic discount (or vice versa):
Click Disable on the currently active method.
Click Enable on the other method.
The server enforces this order — attempting to enable the second method while the first is still active is rejected with "Disable Cart Transform before enabling the Native Gift Discount." (or the equivalent for the reverse direction).
Switching directions:
Cart Transform → Automatic discount: works on any plan, gift behaviour is unchanged for merchants. Note the new caveats — one automatic-discount slot is consumed and other discounts must combine with product discounts to stack.
Automatic discount → Cart Transform: requires Shopify Plus + EliteCart Professional/Enterprise. If you're considering this switch on a non-Plus store, you can't enable Cart Transform.