Shopify free shipping by customer tag, cart contents, and order value
Updated · SMART Functions Creator (E-TRADE PARTNER)
Use a Shipping discount rule in SMART Functions Creator to reduce an existing shipping rate by 100% when customer or cart conditions match. Target the rate by its name so Standard can become free while Express remains paid. The app does not create the rate or change the store's shipping profiles; set those up in Shopify first.
5.0 · SMART Functions Creator builds this as a Shopify Function, free on live stores, no code.
Install freeOn this page
Example 1: free Standard shipping for VIP customers
This example assumes a customer tagged vip and an existing checkout shipping rate named Standard. It creates a shipping discount only; product prices and the Express rate are outside the rule's target.
- Create a Discount function with Application method set to Automatic, then add a Shipping discount rule.
- Add a Customer tag condition: is any, with value vip. Standard input supports this condition.
- Set the discount type to Percentage off, Discount percentage to 100, and a customer-facing Discount label such as VIP Standard shipping.
- Choose Shipping as the Shipping rate type. In Specific shipping rate names (optional), enter Standard. Set Name match type to Is to match that whole name.
- Review Combinations and Active dates. Use a future start date while preparing the offer on a live store; saving a discount with a current start date can make it active.
- Test with an identified VIP customer and with an untagged customer. If Shopify has not identified the customer, a positive vip tag condition cannot match. Confirm both Standard and Express outcomes at checkout.
| Customer / selected rate | Expected result from this rule |
|---|---|
| Identified customer with vip / Standard | 100% shipping discount |
| Identified customer with vip / Express | No discount from this rule |
| Customer without vip / Standard | No discount from this rule |
| Unidentified guest / Standard | No discount from this positive-tag rule |
Rate names: exact match or contains
Use the name actually shown for the available checkout rate. Is compares the whole name without case sensitivity; Contains matches part of it. Standard may match Standard International as well when Contains is selected. Leaving the name field empty targets every rate of the selected type. That can make Express free too. Check each destination or shipping profile you serve, since the available names may differ.
Example 2: free shipping only when every item qualifies
A cart that contains an eligible product is different from a cart containing only eligible products. For an eligible-only offer, create two Line groups using a product tag such as free-shipping-eligible. Set Eligible items to Product tag is any free-shipping-eligible, and Other items to Product tag is not any free-shipping-eligible.
| Rule condition | Value |
|---|---|
| Line group quantity: Eligible items | is greater than 0 |
| Line group quantity: Other items | is 0 |
| Condition relationship | Both conditions must match (AND) |
| Action | Shipping discount, 100%, named Standard rate |
Use these as the conditions for a separate offer, or add the VIP condition as another AND condition if both VIP status and cart contents are required. Do not leave an unrelated unconditional free-shipping rule active: it can qualify the same cart independently.
| Cart contents | Eligible-only offer |
|---|---|
| Two tagged products | Qualifies |
| One tagged product and one untagged product | Does not qualify |
| Only untagged products | Does not qualify |
| No eligible items | Does not qualify |
A single Line group quantity greater than 0 on Eligible items would allow the mixed cart. The zero quantity check on Other items is what excludes it. For collection targeting, use corresponding included and excluded collection groups and verify the membership of every test product. Line groups explains how matching units are counted.
Add an order-value threshold or exclude wholesale accounts
Add Cart subtotal is greater than or equal to 50 as another AND condition to require a threshold of 50 in your store currency. Test 49.99, 50.00, and 50.01. For an offer strictly above 50, use is greater than; a subtotal of exactly 50 then does not qualify. The current app's cart-value conditions do not provide a running balance after another discount Function has applied.
To exclude tagged wholesale accounts while allowing guests, use Customer tag is not any with your actual exclusion tags, such as wholesale,wholesale-reorder. An unidentified guest has no matching tag and can pass that negative condition. Test again after entering an email belonging to a tagged customer: customer identification can change eligibility.
Check existing free-shipping offers
A native Shopify free-shipping discount or a zero-price rate can still make shipping free when this new rule does not qualify. Review those offers before switching. Disabling an old discount and deleting a shipping rate are different actions: keep the underlying rate available if this rule needs to discount it.
Codes, combinations, and fixed amounts
- Choose Code instead of Automatic when creating the discount if the customer should enter this offer's own code. The Application method is locked after creation.
- An offer's own code is different from checking whether another arbitrary coupon was entered. The current editor does not expose that general coupon-code condition.
- Set combination permissions deliberately for the other discounts you want to allow. A competing shipping promotion can change the final result, even if this function behaves correctly.
- Fixed amount off subtracts a configured amount from an existing shipping charge. It does not set every rate to a chosen final price or raise a cheaper rate.
- Within this function, multiple shipping rules targeting the same rate are not added together: the first matching rule that targets the rate supplies its candidate. Prefer mutually exclusive conditions for different tiers.
See Shopify's combination guidance and our discount combinations guide for cross-discount behavior.
Before you launch
- Confirm that the destination has an available Standard rate before applying the discount.
- Check a qualifying customer, an untagged customer, and an unidentified guest.
- Test eligible-only, mixed, and ineligible carts, plus the threshold boundary if you use one.
- Verify that Express remains paid and inspect any older free-shipping offers.
- Check active status and dates, then repeat the test with the product or order discount you intend to combine. Use the troubleshooting doc if the final price differs.
Give free shipping to the right carts
SMART Functions Creator is free on live stores and rated 5.0 stars across 110+ Shopify App Store reviews.
Install free5.0 stars · 110+ reviews
Frequently asked questions
›Can I make Standard free and keep Express paid?
Yes. Target the existing Standard shipping rate by its exact name and apply 100%. Other active discounts or zero-price rates must also be checked.
›Does a guest qualify for a customer-tag rule?
A positive tag condition needs Shopify to identify a customer with that tag. A negative tag exclusion can allow an unidentified guest. Test how eligibility changes when a customer is identified.
›Can a shipping discount create a missing shipping rate?
No. It discounts a rate Shopify already makes available for the cart and destination.