Manage advanced shipping information with delivery profiles

You can use delivery profiles to manage advanced shipping information in Shopify. Shops that use delivery profiles gain the ability to create shipping rates per product variant and location.

Delivery profiles

Delivery profiles store the information about what delivery methods and rates apply to specific products:

Profiles

Products that require shipping are associated to location groups, delivery zones, and delivery methods within a delivery profile:

Delivery profile Represents a set of shipping settings for a set of product variants. For example, you might have a delivery profile for heavy variants and another for fragile variants.
Location group Represents a set of locations that ship the product variants to the same delivery zones. For example, you might have a location group for the Americas that ships to Canada and Germany, and another location group for Europe that also ships to Canada and Germany.
Delivery zone Represents a group of countries where the variants in the delivery profile are shipped to. For example, you might ship products to Canada.
Delivery methods Delivery methods specify the static rates or carrier-calculated rates (participant) for the delivery zones. For static rates, you can set conditional rates that take effect only if certain conditions are met. For example, you can specify a condition that applies free shipping when a cart's total is greater than or equal to $100. Shipping rates are surfaced at checkout to the customer.

Query walkthrough

The following query walkthrough demonstrates the different parts of a delivery profile.

Delivery profiles

The following query returns a delivery profile with its ID, name and default setting. Product variants stay in the default profile until they are added to another delivery profile. The example response indicates that the default profile is returned.

POST /admin/api/unstable/graphql.json

View response

Profile items

Product variants are associated to delivery profiles using the profileItems object. Each profile item can include an array of objects where each object includes a product and a list of associated variants.

POST /admin/api/unstable/graphql.json

View response

Profile location groups

Profile location groups represent groupings of origin locations that have common shipping properties within a delivery profile.

POST /admin/api/unstable/graphql.json

View response

Location group zones

The locationGroupZones object represents one or more delivery zones where products can ship to. Each profile location group can have multiple location group zones.

POST /admin/api/unstable/graphql.json