How should an app replace a chosen gift without granting an extra reward?
Treat gift replacement as a transition with one final intended reward: define how the previous selection is removed, the new one is added and a failed change is recovered.
Replacing a gift is more than opening the picker again. The cart must move from the original reward to the new choice without accidentally leaving two free items, removing a paid purchase or losing a valid selection after a failed request. Agree on the final state and the recovery rule before comparing apps.
Which documented controls are relevant?
Monk Commerce describes quantity limits in its selection setup. Monk Commerce’s selection instructions distinguish the total number of gifts from the permitted quantity of an individual gift product. (How to give customers an option to choose their free gift? | Helpdesk - Monk Free Gift & Upsell) Shopify’s Cart API provides operations for adding items and changing existing cart lines, including removal by setting quantity to zero. (Cart API referenceSkip to main content) Those are useful foundations, but neither source proves that every custom replacement interface coordinates them correctly.
A total-gift limit and a per-product limit solve different problems. One controls the overall reward count; the other controls repeated selections of the same product. Write both limits even if the first campaign allows only one reward.
What should a replacement test demonstrate?
| Transition | Expected final state to define | Failure to detect |
|---|---|---|
| Gift A to Gift B | Only the intended earned reward | Both remain free |
| Size small to size medium | Selected variant replaces the prior one | Product title masks wrong size |
| Replacement unavailable | Clear recovery to a valid state | Empty cart reward with success message |
| Paid B already in cart | Purchased quantity is preserved | Paid line removed or discounted accidentally |
| Rapid repeated selection | Final choice is unambiguous | Extra reward or stale display |
These are recommended acceptance cases, not claims about app behavior. Start every case with a known cart and inspect the resulting lines and prices.
How should the implementation handle a failed change?
Ask the provider or developer to describe the sequence and its recovery. If addition fails after a previous reward is removed, the interface should explain that the new choice was not secured. If the new item is added first, the system needs a deliberate way to prevent both rewards from surviving unintentionally.
Do not prescribe a generic code snippet for every app. A provider may maintain its own offer state, and a custom mutation that looks correct locally can conflict with that state. Use the provider’s supported integration method and test the failure path in a controlled setting.
Which customer messages should be checked?
The displayed selected gift should match the current cart after the transition, not merely the last clicked tile. Check the title, options, quantity and price. Disable or explain temporary controls while the change is being processed if that is part of the approved design.
Continue to checkout after replacement and then return to the cart. Reopen the picker and verify that its state remains understandable. Keep the order-level result with the test record so an interface-only success is not mistaken for a successful reward transition.
Limits of this guide
No provider’s internal selection state, request coordination or replacement recovery was inspected. These are implementation requirements to validate, not universal guarantees or a drop-in API recipe. App package, cart rendering, paid duplicates and request failures require store-specific tests.
Sources
- Monk Commerce | High Quality Shopify Apps (checked Oct 30, 2026)
- How to give customers an option to choose their free gift? | Helpdesk - Monk Free Gift & Upsell (checked Oct 30, 2026)
- Cart API referenceSkip to main content (checked Oct 30, 2026)
Found an error? See the corrections policy.
More research on gift selection & usability
- How should you compare gift selectors for size and color variants?
A gift selector should add the exact chosen variant, show unavailable choices clearly and preserve the selection into the order; evaluate those outcomes before its visual design.
- What should a keyboard-accessibility review of a gift selector cover?
Review the whole selection journey with a keyboard: opening the selector, understanding options, choosing or declining, closing it and confirming the resulting cart.
- What should happen when a shopper checks out without choosing a gift?
Define no selection as an explicit customer state: explain the available gift and let the shopper complete the intended choose, decline or continue path without a misleading promise.