Skip to content
Log in

Use a different carrier account per region

On this page

Use zone filtering when you hold more than one account with the same carrier and each account covers a different area, such as one Shippit account per state. With zone filtering on, StoreConnect asks a shipping provider for rates only when the customer’s delivery address falls inside the provider’s Zone. Each region then quotes from the right account.

Without zone filtering, StoreConnect asks every active provider for rates on every address. You rely on each carrier’s own API to refuse the routes it cannot serve.

Before you start

:::warning Every Shipping Provider already has a Zone, because the field is required. Turning on zone filtering applies all of those zones at once. A provider whose zone is narrower than the area it really serves stops being asked for rates, and those rates disappear from checkout with no error. :::

There is no way to exempt a provider from the filter. Once zone filtering is on, every provider is limited to the provider’s zone.

Set your zones to Strict

A zone used for a regional split must have the Strict field set to strict. The field defaults to loose.

A loose zone matches an address on any one of the zone’s criteria. For example, a loose zone built from “United States plus California” matches every address in the United States, because every one of them matches the country. A regional split built on loose zones does not split anything.

A strict zone matches only when all of the address details match.

A loose zone does not raise an error. The only sign is that a provider returns rates for addresses outside the provider’s region.

Turn on zone filtering

  1. Open the Store record.
  2. Go to the Store Variables list (s_c__Store_Variable__c).
  3. Create a store variable with Key set to shipping.provider_zone_filtering_enabled and Value set to true.
  4. Save the record.

To turn zone filtering off, set the Value to false or delete the store variable. While the variable is absent or false, StoreConnect asks every active provider for rates.

How a provider is chosen

StoreConnect works out which zones the delivery address belongs to, then asks the providers in those zones:

Situation Which providers are asked
The address matches one or more zones Providers in those zones
The address matches no zone No providers, so the customer sees no provider rates
StoreConnect cannot work out a zone for the address, such as a cart with no country yet Every provider, with no filter

Do not overlap zones within one carrier code

One address can match several zones at once. For example, a city address also matches the zone for the state and the zone for the country. Zones have no order of precedence, so the zones you use for one carrier must not overlap each other.

If two providers with the same carrier code both match an address, their rates collide and StoreConnect drops one of them arbitrarily. The collision is reported to StoreConnect’s error monitoring, not to you, so test each region after you set up the zones.

Overlap between different carriers is fine. StoreConnect separates providers by carrier before it checks zones.

Each provider points at a single zone. To cover several regions with one account, build one zone that spans all of them, the same way you would for shipping rates.

Watch for addresses with an unrecognized state

A zone scoped to a state matches an address only when StoreConnect recognizes the state in the address. For example, a customer who types Calif. instead of CA matches only zones that have no state.

A provider scoped to California is then not asked for rates, and the customer does not see that provider’s rates. Shipping rates you define yourself are matched to zones the same way.

What zone filtering does not affect

  • Lodging a shipment and tracking it. StoreConnect lodges and tracks a shipment after the customer chooses a rate, without checking zones, whatever the destination. See shipment tracking.
  • Shipping rates you define yourself. Custom rates are already matched to zones, and zone filtering does not change them. See set up shipping rates.

Changes can take up to an hour to show

StoreConnect caches the rates for a cart for up to an hour. Any change to the cart, such as a new address or different items, fetches fresh rates. A cart left untouched keeps showing the old rates after you turn on zone filtering or change a provider’s zone, until the cache expires. Use a fresh cart when you test.

Check it worked

Build a cart on your storefront with a delivery address inside one region, and confirm that only that region’s carrier account returns rates at checkout. Change the address to another region and confirm the rates switch to the other account. A cart with an address in neither region should return no provider rates at all.

Was this article helpful?

Was this article helpful?