Shopify can give away a free product natively, with one significant limitation: it will not put the gift in the cart for the shopper. Here is how both routes work — the built-in Buy X Get Y discount and an app-based cart offer — and how to choose between them.
Shopify's discount engine includes a Buy X Get Y rule that can set the Y item to 100% off, which is a free gift in everything but name.
The limitation. The discount only applies once the gift is already a line item in the cart. Shopify will not add it for the shopper. In practice that means the shopper must find the gift product, add it themselves, and trust that it will zero out at checkout — and most will not do any of that. Stores working around this usually add banners and manual instructions, which is friction in the exact place you cannot afford it.
Native is still the right choice if you only need a one-off promotion, you are fine with instructing shoppers manually, and you do not need per-offer reporting.
An app sits in the cart, watches the cart state, and surfaces the gift the moment the shopper qualifies — then adds it at $0 on one click. Setup in NUO AI:
The practical difference is not the setup time. It is that the shopper sees the progress toward the gift while deciding what to add, which is the part that changes cart size.
| Native Buy X Get Y | App-based cart offer | |
|---|---|---|
| Gift auto-added to cart | No — shopper must add it | Yes, one click at $0 |
| Progress toward threshold | No | Yes, live in the cart |
| Shopper chooses the gift | No | Yes |
| Multiple thresholds / gift ladder | Separate discounts, no shared UI | Yes — see tiered rewards |
| Per-offer analytics | Discount usage only | Views, acceptance, discount cost, revenue |
| A/B testing the offer | No | Yes |
| Cost | Included with Shopify | Free in NUO AI |
Whichever route you take, decide three things before launching: the threshold relative to your AOV, whether a returned order needs the gift back, and what stock buffer the gift needs. For offer structures that work by category, see free gift with purchase ideas.
Not with the native discount engine. Shopify's Buy X Get Y discount can set a product to free, but it only applies once that product is already in the cart — the shopper has to add it themselves. Auto-adding the gift requires an app that can modify the cart.
Create a Buy X get Y automatic discount, set the "buys" side to your minimum spend or qualifying products, set the "gets" side to the gift product at free, and limit it to one use per order. Then tell shoppers in a banner and on the product page that they must add the gift to their cart for it to zero out.
Spend thresholds grow average order value across a mixed cart. Product triggers push a specific item. If the goal is AOV, use spend; if the goal is moving one SKU, use the product trigger.
A well-behaved cart offer removes the gift automatically when the cart no longer qualifies, and tells the shopper why. Check this behaviour before launching — a gift that stays free on an unqualified cart is a margin leak.
Yes, with usage limits on the native discount or campaign limits in an app. At minimum, cap it at one gift per order so a single cart cannot claim several.
No in either route. The native discount lives entirely in the admin, and NUO AI's cart widget renders without theme edits by inheriting your existing styles.