You can restrict Shopify products by country without deactivating an entire market. Use a Shopify Markets catalog when the product should be hidden and unavailable in that market. Use a cart and checkout validation rule when customers may browse the product but must not purchase it with a delivery address in a restricted country.

The right choice depends on where the restriction must take effect. This guide explains both methods, shows how to configure a product-and-country rule with CartBlock, and gives you a practical test plan.

When should you restrict a product instead of a market?

Deactivating a market is a broad control. It stops customers in every country or region within that market from checking out. That is appropriate when you do not sell to the destination at all.

A product-level restriction is narrower. It keeps the market open for eligible products while preventing a selected item from being sold to a particular destination. Common reasons include:

  • A supplier permits distribution only in certain territories.
  • A product cannot travel by air or cross a border because of carrier rules.
  • An item contains an ingredient or material that is restricted in one country.
  • A warranty, certification, or licensing agreement has a geographic scope.
  • A bulky or fragile item can ship only from a regional warehouse.

Treat the store rule as an enforcement mechanism, not legal advice. Confirm the underlying policy with the relevant carrier, supplier, or qualified adviser, and keep the rule aligned with changes to that policy.

Should you use Shopify Markets or a checkout validation rule?

Start by deciding whether the product should be visible in the restricted country.

To restrict Shopify products by country, use a Shopify Markets catalog when the item should be hidden and unavailable in that market. Use a product-and-country checkout validation when shoppers may see the item but must not buy it for delivery to a restricted country. Deactivate a market only when all products must be unavailable.

Desired customer experience Best starting point
Hide the product from listings, search, and its product page in that market Shopify Markets catalog
Keep the product visible, but stop checkout for a restricted delivery country CartBlock product-and-country validation
Stop all sales to the destination Deactivate the country or region market
Change only the shipping services offered Shipping profiles and delivery settings

These controls solve different problems. Removing a shipping rate might prevent delivery, but it does not explain which cart item caused the restriction. Hiding a product by market avoids that cart conflict altogether. A validation rule is useful when visibility is intentional and the shopper needs a precise message at cart or checkout.

How to hide selected products with Shopify Markets catalogs

Shopify Markets catalogs control which products are available in a market and what they cost. By default, Shopify includes all store products in every market at the store's default prices. You can create or customize a catalog and exclude selected products.

The current Shopify workflow is:

  1. In Shopify admin, go to Markets > Catalogs.
  2. Create a catalog, or open the catalog assigned to the target market.
  3. In Products, select the products that should not be available.
  4. Click Exclude from catalog.
  5. Assign the catalog to the intended country or region market and save it.
  6. From Products, use View as to preview availability for that market.

When a product is not published in a customer's market, Shopify removes it from that market's online-store listings and search results. A direct visit to its product page redirects the customer to the store homepage.

Watch for catalog inheritance

Catalog inheritance can make an excluded product appear unexpectedly. Shopify combines catalogs from parent markets and submarkets of the same type. If a product is included in another applicable catalog, it can remain available to the customer.

Review every catalog inherited by the target market. For channel markets, Shopify says the channel catalog is displayed alongside the parent country or region catalog; restricting the channel therefore might require changing the parent market catalog.

Also note that market product-publishing rules do not apply to draft orders. Staff can add any product to a draft order regardless of market restrictions, so document how restricted products should be handled in manual orders.

When does a CartBlock country rule make sense?

A CartBlock rule is a better fit when the store should remain open, the product can stay visible, and the final delivery country should determine whether checkout can continue.

The Cart Block: checkout validator listing documents country, product, variant, collection, geolocation, cart, and other configurable conditions. CartBlock can combine conditions and show warnings or messages at product, cart, and checkout surfaces, subject to the store's current plan and configuration.

For example:

Block checkout when the cart contains the Aerosol Care Kit and the delivery country is outside the supported territory.

This invalid-state structure matters. A country-only rule would block every purchase to that destination. A product-only rule would block the item everywhere. Combining the product and country conditions keeps unrelated products available in the market.

How to restrict Shopify products by country with CartBlock

The interface and plan entitlements can change. Compare these steps with the current CartBlock Help Center and the rule builder installed on your store.

1. Write the restriction as an invalid state

Name the exact product scope and country outcome before opening the app.

Policy: the Aerosol Care Kit can be delivered only in the United States and Canada.

Invalid state: block checkout when the cart contains the Aerosol Care Kit and the delivery country is not the United States or Canada.

This phrasing makes the product condition, geographic condition, and action explicit.

2. Create and name the validation

Open CartBlock from Shopify admin and create a validation rule. Use an operational name such as Aerosol kit: US and Canada only, not Country rule. A specific name is easier to audit when the catalog or shipping policy changes.

3. Select the product scope

Choose the narrowest supported input that matches the policy: product, variant, or collection.

  • Use a product condition when every variant has the same restriction.
  • Use a variant condition when only one size, formulation, or bundle is affected.
  • Use a collection condition when a maintained group of products shares the same policy.

If you use a collection, confirm who owns its membership. Adding a product to that collection may also add it to the geographic rule.

4. Add the country condition

Choose the country or geolocation input that matches the enforced destination. For delivery restrictions, the shipping or delivery country at checkout is generally the meaningful value—not only the shopper's IP location or the storefront market they first visited.

Shopify's Cart and Checkout Validation Function API supports targeting a validation message to the delivery address country field. CartBlock handles the rule configuration for the merchant, but you should still test when the address becomes available and when a shopper changes it.

5. Group the conditions correctly

The product and country conditions normally need AND logic:

Cart contains Aerosol Care Kit AND delivery country is not United States or Canada.

Do not use OR unless the written policy truly requires it. With OR logic, a shopper could be blocked merely for having the product in an allowed country, or for choosing the restricted country with an unrelated cart.

6. Write a corrective message

Tell the shopper which item is affected and how to continue:

The Aerosol Care Kit cannot be delivered to the selected country. Remove it from your cart or choose an eligible delivery address to continue.

Avoid a vague message such as Shipping unavailable. The shopper should not have to guess which item caused the block.

7. Save, activate, and test the rule

Test the validation before relying on it for a regulatory, carrier, or contractual restriction. Use a development or controlled test path where possible, then verify the active storefront.

Product-by-country restriction test matrix

Test both sides of every condition, not only the blocked case.

Test cart and address Expected result
Restricted product + restricted country Blocked with the correct message
Restricted product + allowed country Checkout allowed
Unrelated product + restricted country Checkout allowed
Mixed cart + restricted country Blocked; message identifies the restricted item
Restricted variant + allowed variant Only the intended scope triggers
Country changed during checkout Rule reevaluates against the new address
Standard checkout Expected enforcement and message
Accelerated checkout enabled on the store Expected enforcement and message
Draft or manually created order Follows the documented staff process

Shopify states that server-side cart and checkout validation includes express checkout paths such as Shop Pay, PayPal, Google Pay, and Apple Pay. Still test every accelerated method that your store actually offers, because the shopper's address and correction path can differ.

Mistakes to avoid with country restrictions

Blocking an entire country when only one product is affected

A country-only rule or deactivated market is too broad when customers should still buy other items. Pair the geographic condition with the exact product scope.

Relying only on IP geolocation

IP location can help tailor the browsing experience, but it is not a reliable substitute for the delivery address. A traveler, VPN user, or gift buyer can browse from one country and ship to another. Enforce a delivery restriction against the checkout address when the policy is about where the item will go.

Hiding the buy button without enforcing checkout

Theme messaging can prevent confusion, but shoppers can reach carts through saved sessions, direct links, custom storefronts, or other sales paths. Pair early messaging with a server-side validation or market publishing control that matches the policy.

Forgetting mixed carts

The error should identify the restricted item while leaving eligible products purchasable. Test whether removing the affected item immediately clears the validation.

Letting catalogs and rules drift apart

If Markets catalogs and CartBlock both enforce related policies, give them the same owner and review date. A product added to a collection or catalog can change the effective restriction without anyone editing the validation.

Launch checklist

  • Confirm the business, carrier, or legal reason for the restriction.
  • Decide whether the product should be hidden or only blocked at checkout.
  • Define the product scope: variant, product, or collection.
  • Define the enforced geographic value, preferably the delivery country for shipping restrictions.
  • Review Markets catalog inheritance and channel availability.
  • Confirm the current CartBlock condition availability and plan.
  • Use AND logic for combined product-and-country rules.
  • Write a message that names the affected item and correction.
  • Test allowed, blocked, unrelated, mixed-cart, address-change, and accelerated-checkout cases.
  • Document draft-order handling, the rule owner, and a review date.

Frequently asked questions

Can Shopify restrict one product to one country?

Yes. A Shopify Markets catalog can include or exclude individual products for a country or region market. If the product should remain visible but checkout must depend on the delivery country, use a product-and-country validation rule.

Do I need to deactivate a Shopify market?

No, not when other products should remain available there. Deactivate the market only when the store should not sell anything to that destination. Use catalog publishing or a conditional validation for a narrower restriction.

Can I show a product but prevent customers in one country from buying it?

Yes. Keep the product published, then use a checkout validation that combines the product with the restricted delivery country. Show a clear message explaining that the shopper can remove the item or choose an eligible address.

Is removing a shipping rate enough?

Not always. Shipping settings determine delivery options, but they may not explain which item makes the cart ineligible. A product-level validation gives the shopper a more precise correction path. Use shipping configuration and checkout validation according to the underlying fulfillment policy.

Do Shopify market restrictions apply to draft orders?

Shopify documents that product publishing by market does not apply to draft orders. Create a staff procedure for restricted items in manual orders instead of assuming the storefront catalog will enforce the policy.

Keep the market open and enforce the narrowest rule

To restrict Shopify products by country, use Shopify Markets catalogs when customers in the restricted market should not see or buy the product. Use CartBlock when the product can remain visible and a combination of product and delivery country should stop checkout. In either case, keep the scope narrow, explain the correction, and test all allowed and blocked paths.

Explore CartBlock on the Shopify App Store to see whether its current country and product conditions fit your restriction policy.