To control the shipping fee for a cart that contains both a subscription product with free shipping and a one-time purchase product with a shipping fee, you can use a shipping override or a custom shipping script, depending on your ecommerce platform.
Here are the general steps for each approach:
Shipping override: This method involves creating a custom shipping rate that overrides the default shipping rates for the cart. You can set the custom rate to be free for any cart that contains a subscription product, regardless of whether it also contains a one-time purchase product.
Shopify: In your Shopify admin, go to Settings > Shipping and delivery > Manage rates > Create new rate. Set the conditions to match any cart that contains a subscription product (e.g., by using the “Product” or “Variant” condition) and set the price to $0.
WooCommerce: Use a shipping plugin like Table Rate Shipping or Advanced Shipping Packages to create a custom shipping rate that overrides the default rates for the cart.
Custom shipping script: This method involves writing a custom script that calculates the shipping fee based on the products in the cart. You can use the script to set the shipping fee to $0 for any cart that contains a subscription product.
Shopify: Use Shopify’s Script Editor app to create a custom script that checks if the cart contains a subscription product and sets the shipping fee to $0 if it does. You can find examples of shipping scripts that do this in the Shopify Scripts library.
WooCommerce: Use a plugin like Advanced Shipping Packages or WooCommerce Table Rate Shipping to create a custom shipping script that calculates the shipping fee based on the products in the cart. You can use the script to set the shipping fee to $0 for any cart that contains a subscription product.
you can control the shipping fee for a cart that contains both a subscription product with free shipping and a one-time purchase product with a shipping fee.
Does anyone have a working script for this they can just post here? We’re trying to get it working but Shopify doesn’t have an example for this. Seems like a common use case that should be relatively easy, we don’t have technical folks on the team unfortunately.