Limiting Digital Products by Location

Topic summary

Goal: Restrict purchase of a single digital product by country, ideally using the customer’s billing address. Markets/shipping zones didn’t work because digital products lack a shipping address, and Shopify support indicated there’s no built-in way to do this.

Key constraints: Apply only to one product (not storewide). Avoid asking customers for a shipping address. Country-based rules; currency/tax not relevant. Shopify Payments is the gateway.

Suggested workarounds:

  • Use a GEO/IP-based restriction app to hide or block the product by visitor location (examples linked: Addify Country Restrictions, GeoIP-based Product Blocker). This controls visibility/purchase based on IP location.
  • Mark the product as “requires shipping,” then create a custom shipping profile: set $0 rates for allowed countries and no rates for blocked countries. Customers from blocked countries cannot complete checkout due to lack of rates (Shopify help doc linked).

Status: No native billing-address-based restriction for digital products. Workarounds rely on IP geolocation or a shipping-profile trick; no confirmed resolution yet.

Summarized with AI on December 16. AI used: gpt-5.

Hello, I am unable to accomplish what seems to be a simple thing, which is limiting one of my digital products from being purchased in specific countries. I attempted to do this through markets, but testing was unsuccessful since there is no shipping address affiliated with this type of purchase. Shopify support confirmed this is apparently not possible. Is there a work around? Please see below for the breakdown:

  • This is for a digital product

  • We are looking to restrict one of our products due to selling rights, but may have more like this in the future, so wouldn’t want it to be a global store setting

  • We do not want to confuse our customers with asking to enter a shipping address (these are digital products)

  • Ideally restriction would be based on billing address location

  • Restrictions would be defined by countries

  • Markets/shipping zones did not work due to lack of shipping address

  • Currency and tax implication do not matter in this instance

  • If applicable, gateway in this instance is Shopify Payments

Thank you for your input! Feels impossible that we would not be able to do this… Hoping there are some ideas for this!

1 Like

Your closest you’re probably going to get is some kind of GEO location app, where it hides/restricts the product based on the customer’s IP address.

https://apps.shopify.com/addify-country-restrictions
https://apps.shopify.com/geoip-based-product-blocker

Otherwise, you could mark the product as ‘requires shipping’ - then set up a custom shipping profile for just that one product, so that it’s shipping rates are $0 in all of the ‘allowed’ countries, and then have no shipping rates at all in the ‘blocked’ country (so that people from that country can’t complete their order).

https://help.shopify.com/en/manual/fulfillment/setup/shipping-profiles/setting-up-shipping-profiles

1 Like