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 free
On this page
  1. Example 1: free Standard shipping for VIP customers
  2. Rate names: exact match or contains
  3. Example 2: free shipping only when every item qualifies
  4. Add an order-value threshold or exclude wholesale accounts
  5. Codes, combinations, and fixed amounts
  6. Before you launch
  7. Frequently asked questions

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.

  1. Create a Discount function with Application method set to Automatic, then add a Shipping discount rule.
  2. Add a Customer tag condition: is any, with value vip. Standard input supports this condition.
  3. Set the discount type to Percentage off, Discount percentage to 100, and a customer-facing Discount label such as VIP Standard shipping.
  4. 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.
  5. 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.
  6. 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 rateExpected result from this rule
Identified customer with vip / Standard100% shipping discount
Identified customer with vip / ExpressNo discount from this rule
Customer without vip / StandardNo discount from this rule
Unidentified guest / StandardNo 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 conditionValue
Line group quantity: Eligible itemsis greater than 0
Line group quantity: Other itemsis 0
Condition relationshipBoth conditions must match (AND)
ActionShipping 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 contentsEligible-only offer
Two tagged productsQualifies
One tagged product and one untagged productDoes not qualify
Only untagged productsDoes not qualify
No eligible itemsDoes 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

  1. Confirm that the destination has an available Standard rate before applying the discount.
  2. Check a qualifying customer, an untagged customer, and an unidentified guest.
  3. Test eligible-only, mixed, and ineligible carts, plus the threshold boundary if you use one.
  4. Verify that Express remains paid and inspect any older free-shipping offers.
  5. 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 free

5.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.

Related articles