We’re migrating off deliveryProfiles for market-driven shipping, following the upgrade guide. We used deliveryProfiles to build a countries + provinces reference, and have hit a gap moving that over to Markets. Wanted to check if we’re missing something.
What we used previously
We built our countries/provinces list from deliveryProfiles, walking profileLocationGroups → locationGroupZones → zone.countries:
{
deliveryProfiles(first: 100) {
edges {
node {
profileLocationGroups {
locationGroupZones(first: 250) {
edges {
node {
zone {
countries {
code { countryCode }
name
translatedName
provinces { code name translatedName }
}
}
}
}
}
}
}
}
}
}
zone.countries[].provinces always returned each country’s complete province list. Not filtered or conditional on anything else.
What we get from Markets
Switched to Market.conditions.regionsCondition.regions, filtered to delivery.shipping.isEnabled: true markets:
{
markets(first: 100, type: REGION) {
nodes {
id
name
delivery { shipping { isEnabled } }
conditions {
regionsCondition {
regions(first: 250) {
nodes {
__typename
name
... on MarketRegionCountry { code }
... on MarketRegionSubdivision { code country { code name } }
}
}
}
}
}
}
}
When a market is scoped to specific subdivisions, this works well - a market limited to “California” comes back as a clean MarketRegionSubdivision node with its own name and code.
What we don’t get
When a market covers a whole country with no subdivision restriction (a plain MarketRegionCountry node), there’s no province-level data at all. Expected, since that’s not what the type represents, but it means nothing populates a province list for exactly this case, which is the more common one in practice.
What we’re asking
Is there a supported way to get a full province/subdivision list for a country under a whole-country market, without the merchant having restricted it to specific subdivisions? Or is maintaining a static reference (Shopify’s own documented list of 32 countries with provinces the expected path here.
Appreciate any help from someone from Shopify team or others who have solved this! ![]()