Hi everyone!
I’m developing a dropshipping app that offers products from different suppliers. The issue is that they all have different availability, so I need to limit the visibility of each product for certain countries.
Each shop has it’s own markets configuration where they can have various combination, for example: “Europe” with 10-20 countries where they ship their products. I cannot simply publish there, because my products then will be immediately available on all those countries too. Using an API to create/modify markets is not an option too: it might have big implications for the shop owners and also will not work for non-shopify-plus owners as those can have max. 3 markets.
Are there any solutions?
Thanks!
You’re building a dropshipping app with multiple suppliers, each having their own country-based availability. You want to restrict product visibility based on countries without modifying Shopify Markets via API.
-
Use Shopify’s “Shipping Profiles” + Conditional Logic in App
Assign products to different shipping profiles based on supplier availability. Customers from unsupported countries won’t be able to check out due to lack of shipping methods. Combine this with a front-end script to hide products from those regions for better UX.
-
Leverage Shopify Geolocation App or Custom App Logic Use the visitor’s IP (GeoIP) to detect country and dynamically hide/show products using:
-
Use Product Tags or Metafields for Filtering Tag products with allowed countries, and in your storefront theme (or via your app), conditionally display them only if the user’s location matches.
-
Custom Storefront with Hydrogen + Shopify API (optional) If building a fully custom storefront, you have total control over what’s shown based on user location.
Thanks for a detailed suggestion, I have a few questions though:
-
How is it possible to use Shopify Liquid to dynamically hide/show products, Im afraid I dont have access to the shops theme from within an app.
-
Could you please elaborate more on: A storefront JS SDK or app proxy
Hi, thanks for your answer, could you please elaborate on this point: “your app or theme can prevent that product from showing”, how exactly this can be done by the app?
Same for this suggestion: “On the storefront, use this to filter what gets displayed.”, how can the app filter what gets displayed, let’s say in the catalog page?