What you'll build
Three shipping options — one per Scandinavian country — each only visible to customers shipping within that country. Swedish customers see PostNord, Finnish customers see Posti, and Norwegian customers see Bring. No customer sees a carrier that doesn't operate in their country.
Before you start
- You have three shipping options created and named clearly (e.g., "PostNord — Sweden", "Posti — Finland", "Bring — Norway").
- You know the ISO 3166-1 alpha-2 country codes for your target countries:
SE(Sweden),FI(Finland),NO(Norway).
Step 1: Restrict PostNord to Sweden
Open PostNord — Sweden and add a new rule:
| Rule field | Value |
|---|---|
| Rule name | Hide outside Sweden |
| Condition: field | destination_country |
| Condition: operator | notSameAs |
| Condition: value | SE |
| Action | disable_method |
| Conditions match | All |
Step 2: Restrict Posti to Finland
Open Posti — Finland and add a new rule:
| Rule field | Value |
|---|---|
| Rule name | Hide outside Finland |
| Condition: field | destination_country |
| Condition: operator | notSameAs |
| Condition: value | FI |
| Action | disable_method |
| Conditions match | All |
Step 3: Restrict Bring to Norway
Open Bring — Norway and add a new rule:
| Rule field | Value |
|---|---|
| Rule name | Hide outside Norway |
| Condition: field | destination_country |
| Condition: operator | notSameAs |
| Condition: value | NO |
| Action | disable_method |
| Conditions match | All |
Step 4: Handling carriers that serve multiple countries
If a carrier operates in more than one country — for example, PostNord also delivers to Denmark — you need a different approach. Add one condition per excluded country and set Conditions match to Any.
Example for a carrier serving SE and DK, hidden from everywhere else:
| Rule field | Value |
|---|---|
| Condition 1 | destination_country does not equal SE |
| Condition 2 | destination_country does not equal DK |
| Action | disable_method |
| Conditions match | Any |
With Any matching, the rule hides the option whenever the country is neither SE nor DK.
Warning: Do not use "All" with multiple "does not equal" conditions for the same field. A country code cannot simultaneously be "not SE" AND "not DK" — only third countries satisfy both. Use "Any" for multi-country exclusions.
How it works
When a customer enters a delivery address, Shipit reads the destination_country. Each carrier's rule checks whether the country code matches its exclusion condition. If the customer's country doesn't match the carrier's country, the option is hidden. The customer only sees the one carrier that serves their country.
Testing it
- Open the Checkout tester and set destination country to Sweden. Confirm only PostNord appears.
- Change to Finland. Confirm only Posti appears.
- Change to Norway. Confirm only Bring appears.
- Set to a country not in your list (e.g., Germany). Confirm all three disappear — correct if you have no carrier configured for Germany.
