Last updated: October 2026
A Shopify free-gift testing checklist should prove more than whether a gift appears once. Before launch, test the carts that sit just below and above your threshold, carts with discounts, carts that no longer qualify, and carts opened on different devices.
These 12 tests catch the failures that create margin leakage and support tickets: gifts added too early, gifts that remain after the qualifying product is removed, conflicting discounts, and offers that work in one cart surface but not another.
Run every test in a clean browser session and record the result. If your store uses multiple markets, currencies, subscription products, or bundle apps, repeat the relevant tests for each configuration.
Prepare your Shopify free-gift test sheet
Write down the exact offer before you open the storefront. For example:
> Add one free travel pouch when the qualifying merchandise subtotal reaches $75. Exclude gift cards and subscriptions. Remove the pouch if the subtotal falls below $75. Limit the offer to one gift per cart.
Your test sheet should include:
- The qualifying rule and threshold
- Products, collections, customer tags, or markets included and excluded
- Whether the threshold uses the subtotal before or after discounts
- The maximum gift quantity
- The expected behavior when the cart stops qualifying
- The campaign start and end times
Use products with known prices so the expected result is unambiguous. Keep a qualifying item, an excluded item, and at least one discount code ready.
Run the 12-cart Shopify free-gift testing checklist
Run the tests in order: establish the threshold boundaries first, then change cart eligibility, add discounts and exclusions, check inventory, and finish with every live checkout path. Record the expected and actual result for each cart.
Test 1: A cart below the threshold
Build a cart that falls clearly below the threshold. For a $75 offer, test $60 rather than $74.99 first.
Expected result: the gift is not added and no gift discount appears. If you use a progress message, it should show the correct remaining amount.
This baseline catches rules that read the wrong cart value, include an excluded product, or launch before their scheduled start.
Test 2: A cart exactly at the threshold
Build a cart whose qualifying value equals the threshold exactly.
Expected result: the gift is added once and its final price matches the offer. Check the cart subtotal, discount line, and order total rather than relying only on a “free” badge.
Exact-boundary testing matters because `greater than` and `greater than or equal to` are not the same rule. If the offer says “spend $75,” a $75 cart should qualify.
Test 3: A cart just above the threshold
Add a low-priced item so the cart is slightly above the threshold.
Expected result: the same one gift appears. The extra item should not add a second gift unless you intentionally built a tiered or repeatable offer.
This test exposes quantity rules that accidentally fire once for every qualifying line or threshold multiple.
Test 4: Remove the item that made the cart qualify
Start with a qualifying cart, confirm the gift appears, then remove or reduce the product that pushed the cart over the threshold.
Expected result: when the qualifying value falls below the threshold, the gift is removed or loses its discount according to the published offer. Refresh the page and reopen the cart drawer to confirm the change persists.
An orphaned gift is one of the most expensive campaign bugs. Test removal before testing more unusual edge cases.
Test 5: Change the gift quantity
Try to increase the free-gift quantity from one to two in the cart. Also try adding the gift product directly through its product URL if customers can reach it.
Expected result: the campaign limit still applies. Extra units should be blocked, removed, or charged at the normal price based on your setup.
For higher-value gifts, pair this check with the controls in the guide to preventing free-gift abuse.
Test 6: Apply a discount that drops the cart below the threshold
Build a qualifying cart, then apply a percentage or fixed-amount discount.
Expected result: the outcome matches your advertised threshold logic. If qualification uses the post-discount subtotal, remove the gift when the discounted cart drops below the threshold. If qualification uses the pre-discount subtotal, keep it.
Do not leave this behavior implicit. Read the pre- versus post-discount threshold guide, choose one rule, and state it in the offer terms.
Test 7: Combine the gift with every allowed discount
Test the promotion with the discount codes and automatic discounts customers are most likely to use: welcome offers, loyalty codes, free shipping, bundle discounts, and sale pricing.
Expected result: allowed combinations work and prohibited combinations fail predictably. The gift line should not receive an unintended second product discount, and the qualifying products should retain the correct price.
Shopify applies product, order, and shipping discounts in a defined order, and incompatible discounts can cause Shopify to select the best eligible combination instead. Use the discount-combination guide to document the intended stack before launch.
Test 8: Add excluded products
Create a cart using only products that should not qualify, such as gift cards, subscriptions, clearance items, or products from an excluded collection. Then mix excluded and eligible products.
Expected result: excluded lines do not contribute to the qualifying amount. Eligible lines still qualify when their own total reaches the threshold.
This test is especially important when collection membership changes frequently. Confirm that the rule targets the products or collections you intend today, not the structure from when the campaign was drafted.
Test 9: Test zero and low gift inventory
Reduce the gift inventory in a test location or use a low-stock test product. Test one cart while stock remains and another after the available quantity reaches zero.
Expected result: behavior matches the gift variant's inventory policy. If Continue selling when out of stock is disabled, the store should stop adding an unavailable gift without blocking checkout. If it is enabled, Shopify can continue selling the variant below zero, so decide whether the campaign should stop or substitute another gift. Review Shopify's inventory-tracking settings as part of this test.
Review the free-gift out-of-stock playbook before a high-traffic launch.
Test 10: Use every cart surface
Repeat a qualifying test through the full cart page, cart drawer, mini-cart, and any quick-add or buy-now flow your theme exposes.
Expected result: the gift appears consistently, cart totals update, and the shopper can proceed to checkout without a stale drawer or duplicate line.
Theme behavior is often the reason a rule appears reliable in one test and broken in production. Test both desktop and mobile viewport sizes, including the sticky add-to-cart controls used by your live theme.
Test 11: Reach checkout with accelerated payment
From a qualifying cart, proceed through standard checkout and every accelerated checkout available on your store, such as Shop Pay, Apple Pay, or Google Pay. Also test any accelerated button on the product page because it can send a shopper directly to checkout without the usual cart journey.
Expected result: the gift and its discount remain visible through checkout, and the final total matches the cart. Return to the storefront and confirm that editing the cart does not create a duplicate gift.
Accelerated buttons can skip parts of the normal cart journey. Test the live path rather than assuming the full-cart result covers it.
Test 12: Place and inspect a complete test order
Place at least one order using Shopify Payments test mode or Shopify's test gateway, or use an approved low-value transaction. Inspect the order in Shopify admin, the confirmation email, packing slip, fulfillment workflow, tax lines, and analytics.
Expected result: staff can identify the promotional gift, the paid amount is correct, inventory decreases at the right location, and fulfillment does not mistake the gift for a missing paid item.
If you used a real transaction, refund or cancel the test order. For every test order, confirm that inventory and reporting behave as expected and that your team knows how the free-gift return policy applies.
Use a pass-or-fail launch gate
Do not launch with “mostly working” results. Give each test one of three states:
| Status | Meaning | Action |
|---|---|---|
| Pass | Actual behavior matches the offer | Record evidence and continue |
| Fail | Behavior is wrong or inconsistent | Fix the rule and rerun all affected tests |
| Not applicable | The store does not use that feature | Record why it does not apply |
Capture the device, browser, cart contents, customer state, discount, expected result, actual result, and a screenshot for every failure. That record makes theme and app conflicts much faster to reproduce.
Record results your team can reproduce
A pass without evidence is difficult to trust after the theme or promotion changes. For each test, save one row with:
- Test number and date
- Theme name and version
- Desktop or mobile device, browser, and viewport
- Customer state, market, and currency
- Product variants, quantities, and cart subtotal
- Discount code or automatic discount applied
- Expected result and actual result
- Order number for completed checkouts
- Screenshot or screen recording for every failure
- Owner, fix, and retest date
Use a fresh cart or private browser session when moving between scenarios. A previous customer session, cached cart, or remembered discount code can make a failed rule look correct—or make a correct rule look broken.
When a test fails, change one variable at a time. First reproduce the failure with the same cart. Then disable the suspected discount, theme customization, or overlapping app rule and run the cart again. After the fix, repeat the failed test plus the boundary tests immediately before and after it. This keeps the launch decision tied to reproducible evidence rather than a single successful click-through.
Launch the tested free-gift rule with AutoCart
After the test matrix is clean, use AutoCart to run the approved offer without custom theme code. Set the trigger, qualifying products, gift, quantity limit, exclusions, and schedule, then repeat the 12 tests against the final rule.
Keep this Shopify free-gift testing checklist for regression testing. Re-run the relevant carts whenever you change the theme, add a discount app, edit collection membership, change markets, or replace the gift product. When every applicable row passes, launch the campaign and monitor the first live orders for the same gift, discount, inventory, and fulfillment results.
Frequently asked questions
How many Shopify carts should I test before launching a free gift?
Test at least the 12 scenarios in this checklist. Stores with multiple markets, currencies, themes, subscription products, or bundle apps should repeat the affected tests for each configuration.
Should I test a free-gift campaign on the live theme?
Test safely on a duplicate theme first, but complete final checks on the exact storefront path customers will use. Theme-specific cart drawers and accelerated checkout buttons can behave differently.
What is the most important free-gift test?
Remove the qualifying product or reduce the cart below the threshold. The gift should be removed or repriced according to the offer, preventing customers from keeping an unearned free item.
When should I rerun the checklist?
Rerun it after theme changes, app installations, discount changes, product or collection updates, market changes, and before every major campaign.

Install Now