If you're selling in more than one country from a single Shopify store, you've probably hit some version of this problem. A variant exists in your catalogue that shouldn't be visible to everyone.
Sometimes shipping doesn't go there. Sometimes the SKU is licensed to one region. Sometimes the imperial-vs-metric size labelling will confuse the wrong audience. Whatever the reason, you don't want a customer in the wrong country picking it up, getting to checkout, and finding it can't ship.
There are a few ways to handle it, and people often pick the heaviest one when a lighter one would do.
Camouflage lets you hide a variant for visitors from specific countries, or show it only to those countries. Pick the variant, pick the country list, save.
Good fits:
Setup is a few minutes. No code, no theme changes, no second storefront. The rule reads the visitor's location and adjusts the page. If the location can't be determined (privacy mode, certain VPNs), it falls back to a default you configure.
The trade-off: this is a storefront display rule, not a checkout rule. A motivated user could still find the variant in the page source. For nearly all catalogue use cases that's fine — see the "what this isn't" note at the bottom.
Shopify Markets is the platform-level answer. It handles currencies, languages, domains, and product visibility per market. If you're running per-region pricing, currency conversion, or translated content, you should be using Markets — Camouflage isn't a replacement for any of that.
What Markets does well: per-country pricing, translated content, market-specific domains, excluding whole products from a market.
Where it gets awkward: variant-level visibility. Markets handles products well but doesn't give you a clean per-variant toggle. If your problem is "this product is fine everywhere, but the XL is only for UK customers", Camouflage is the lighter answer.
A lot of stores end up running both. Markets for pricing and currency. Camouflage for the variant-level tweaks Markets doesn't cover.
A second Shopify store per region. Different SKUs, different theme, different admin.
This is the right answer if you're running materially different brands or assortments per region, if the legal entities are separate, or if you need per-region checkout flows Markets can't model.
It's the wrong answer if your problem is "five variants should be hidden in three countries." That's a sledgehammer for a thumbtack — and the mistake we see most often when a store grows from one region to two.
Raj founded WeThinkPro in 2021 in Ghaziabad, India. He writes here once a month about Shopify development, the app store, and the merchant problems that keep him up at night.
Most of your variants ship everywhere with only a few exceptions → Camouflage. Pricing or currency differs by country → Markets, plus Camouflage layered on top for the variant-level cases. Different brand or legal entity per region → separate stores.
Country-based variant hiding is a storefront UX feature. It hides the variant from the picker for visitors in the wrong region. It doesn't stop a determined user from finding the variant in the page source, and it isn't a substitute for Markets' tax or currency handling.
If a variant absolutely can't be purchased from country X — for legal reasons, say — you need Camouflage for the UX and shipping-zone restrictions or a checkout-side validation for enforcement. Camouflage alone is for the cases where the rule is "customers in the wrong country shouldn't see this option at all."
In the Camouflage dashboard, pick Hide by Country, choose the variants, pick the countries, save. The variant disappears for visitors in those countries from then on.