Shipping Profiles

How the app works with Shopify's Shipping Profiles feature

ASR avatar
Written by ASR
Updated over a week ago

What are Shopify Shipping Profiles? 

Shopify Shipping Profiles are a way to configure custom shipping rates for different sets of products within your shop. 

For example you can create a Shipping Profile for products that get free shipping and add a Free Shipping rate to it. Your regular products will continue to get the rates from the 'General Shipping' default profile. 

  • A Shopify Shipping Profile consists of a list of products/variants and a set of shipping zones and rates. 

  • A product/variant can only belong to one profile at a time

  • Each profile has its entirely unique set of shipping zones and shipping rates

How does Shopify Shipping Profiles combine rates when there are products from multiple profiles in an order?

When there are products from multiple Shipping Profiles in an order, Shopify will first look to see if any of the shipping rate titles from each group match. If there are rates with matching titles in every profile, Shopify will add the rates up, and display the rate with that matching shipping rate title. 

If no rate titles match, Shopify will instead pick out the cheapest rate from each profile, add the rates up, and display the rate simply as 'Standard'.  

Limitations of using Shopify Shipping Profiles

  • When Shopify combines rates from profiles you cannot control the rate title displayed. The rate title will either be the matching rate title used for every profile ( if all rate titles match), or the rate title will just be 'Shipping' 

  • Shopify will only add rates together, so you cannot add any rules to say, just use the shipping rate from Profile B. 

  • You cannot set within profiles based on entire order totals, all rates are calculated within the products belong to one profile only. 

  • You cannot set rules to control how rates get combined together

Using Advanced Shipping Rules instead of Shopify's Shipping Profiles

You can use Advanced Shipping Rules as an alternative to Shopify Shipping Profiles all together. 

Instead of creating custom shipping profiles, you can connect the app to your General Shipping rates, and then use Products Groups within the app to set rates for different groups of products in your shop. 

By using Advanced Shipping Rules product groups, you can overcome all the limitations of Shopify's shipping Profiles. 

  • You can set unique rates for different groups of products. 

  • You can control how rates get combined when there are multiple groups in an order with Blended Rates

  • You can add Blending Rules to the blended rates

  • You can have full control of rate titles for blended rates, including using the subtitle field. 

  • You can add rules to rates that use the entire order totals as a variable. 

Using Advanced Shipping Rules in conjunction with Shopify Shipping Profiles

You can get creative with using both Shopify custom shipping profiles, and our app. 

Example for using both: 

  • You can create a custom shipping profile in Shopify that uses a LTL real-time carrier rates from a 3rd party app, and have them govern your freight products, while using Advanced Shipping Rules for your General Rates. 

Things to remember when using both

  • The app will only return rates for products belonging to the General Shipping profile in your Shopify Settings. 

  • If a product in an order is in a custom profile, it will be ignored by Advanced Shipping Rules, this because, Shopify will only send a request to our app for rates for products in the General Shipping profile. 

  • Even if products are showing in the app that aren't in the General Shipping profile, they will be ignored. 

  • Shopify will make a request to the app only for products in the General Shipping profile, and then make separate requests to the apps/rates for the custom profiles, and then rates between profiles will be combined according to Shopify's profile logic. 

  • You will not be able to control the blended rates between profiles from within the app. 

Did this answer your question?