NEWDiscoverShipGoal– turn cart progress into bigger baskets
All articles

Show different shipping methods based on cart value or weight

Use ShipWith to control Shopify shipping methods by cart total, subtotal, or weight. These conditions determine which existing delivery options appear at checkout. ShipWith does not create shipping rates, change their prices, or apply shipping discounts.

Choose the condition and Function input

ShipWith provides these value and weight conditions:

  • Cart subtotal checks the cart subtotal amount that Shopify supplies.
  • Cart total checks the cart total amount that Shopify supplies. In the ShipWith editor, its description is “Check the total value of the cart with discounts applied.”
  • Cart weight (kg) checks the combined product variant weight in kilograms. ShipWith multiplies each variant's weight by its cart-line quantity, converts the result to kilograms, and adds the lines together. A product variant with no weight counts as zero.

Do not treat Cart subtotal and Cart total as interchangeable. Choose the Shopify value that matches your policy, then test it with the discounts and other checkout details your store uses. The condition uses the amount Shopify supplies; do not add a currency symbol to the condition value.

Cart subtotal and Cart total are available with every Function input: Standard input, Shipping input, Attribute input, Customer input, and Address input. Cart weight (kg) is available only with Attribute input.

You choose Function input when creating a rule. It is locked after the rule is first saved. If an existing rule does not use Attribute input, create a new Attribute input rule for a weight condition.

For the safe replacement process when a condition is unavailable, see Why is a condition unavailable for my rule?.

All three conditions provide these operators:

  • is greater than
  • is greater than or equal to
  • is less than
  • is equal to

Value threshold recipe

This example keeps only Free Shipping when the cart subtotal is 100 or more.

  1. Create a shipping rule and choose a Function input that provides Cart subtotal. Standard input is sufficient if the rule needs no specialized conditions.
  2. Under When the rule runs, select When set conditions are met.
  3. Add Cart subtotal is greater than or equal to 100.
  4. Under Actions, select Show only specific delivery method(s).
  5. In Delivery method titles, enter Free Shipping, then press Enter.
  6. Set Status to Live, select Save, and wait for Shopify sync to show Synced.

When the condition matches, ShipWith keeps eligible options whose title or handle contains Free Shipping and hides the other eligible options. If Shopify does not supply a matching option, this action can hide every eligible option. It cannot create the missing rate.

To keep all other methods but remove an expensive option below the threshold, use a separate rule instead:

  1. Add Cart subtotal is less than 100.
  2. Select Hide specific delivery method(s).
  3. Enter the delivery method title or handle to hide, such as Free Shipping.

Use Cart total instead of Cart subtotal in either procedure when your policy is based on Shopify's total amount for the customer to pay at checkout.

Weight threshold recipe

This example hides Standard Shipping for carts weighing 20 kg or more.

  1. Create a new rule and choose Attribute input before the first save.
  2. Under When the rule runs, select When set conditions are met.
  3. Add Cart weight (kg) is greater than or equal to 20.
  4. Under Actions, select Hide specific delivery method(s).
  5. In Delivery method titles, enter Standard Shipping, then press Enter.
  6. Set Status to Live, select Save, and wait for Shopify sync to show Synced.

When the condition matches, ShipWith hides eligible options whose title or handle contains Standard Shipping. Other eligible methods stay visible.

To offer only a heavy-order method at the same threshold, use Show only specific delivery method(s) instead and enter the method that should remain, such as Freight. Confirm that Shopify supplies that method for the checkout before relying on the rule.

Test the threshold boundaries

Test both sides of each threshold and the exact boundary:

  1. For is greater than or equal to 100, test totals of 99.99 and 100. The rule should not match 99.99 and should match 100.
  2. For is less than 100, test 99.99 and 100. The rule should match 99.99 and should not match 100.
  3. For Cart weight (kg) is greater than or equal to 20, test a cart just below 20 kg and a cart at exactly 20 kg.
  4. Change cart-line quantities during the weight test. For example, two units of a 10 kg variant produce a cart weight of 20 kg.
  5. Test a product variant with no weight. Its contribution is zero, including when its quantity is greater than one.

For every case, continue to the checkout step that shows delivery options and check the expected visible methods. Change only one relevant value between tests when possible.

Sync, rule order, and delivery groups

After every change, select Save and wait for Shopify sync to show Synced. Do not test while the status is Pending, Failed, or Not synced. If needed, select Retry sync and wait again.

Shopify can split one cart into multiple delivery groups. ShipWith evaluates each group independently against that group's available delivery options, although the cart value and weight conditions use cart-wide values. A targeted title or handle can exist in one group and not another. Check every delivery group in every boundary test.

Lower Priority numbers run first only among active rules that use the same Function input. Shopify does not guarantee the execution order of rules that use different Function inputs. If value and weight actions must run in a fixed order, use Attribute input for both rules or combine their conditions and actions where practical.

If the result is unexpected, confirm that the rule is Live and Synced, the correct Function input is selected, the condition uses the intended operator and amount, product variants have the expected weights, quantities are correct, and Shopify supplied a delivery option matching the action's title or handle in each delivery group.