Jason here from Shopify Support.
Great question! There isn't a way to isolate the customers at the checkout point through their IP address just yet. That being said, you can just set up the shipping zones to restrict who can purchase from your store. For instance, in your case, if you set up the shipping zone in Canada only, then the rest of the regions won't be able to reach over the shipping page (they'd get redirected to the customer information page to enter a valid a zip/postal code for Canada). This will restrict anyone from the payment point other than the customers with a Canadian address.
You can ensure the shipping zone settings by going to Shopify admin > Settings > Shipping. Under the Shipping zones section, make sure you only have Canada as the shipping zone.
This way, it also makes sure your fraud filter kicks in at the right moment to help you filter out the other locations during the checkout process.
I hope this information helps, however, should you have any questions, please don't hesitate to reply back here and I'd be happy to help out!
All the best,
I understand where you come from. Unfortunately, if you're against from using shipping method, it really limits down our options on how to workaround to tackle this issue. Because the information resides at the checkout point, Shopify Experts won't be able to help out as it's a known policy that the code at the checkout point can't be customized. The reason behind this policy is that the checkout point does affect how the system captures the customer's payments and personal information. To protect you and your customers' privacy and security, Shopify doesn't allow any customization at the checkout point, with Shopify Plus being the only exception (under the assistance of their assigned managers).
Currently, there's no function/feature to select a specific country on your checkout page. May I know why you think IP blocks/redirects are a waste of time? Since the shipping option is out of the question, the only alternative to achieve what you want is through an app called Easy Country Blocker. This app does redirect/exclude visitors from the countries you don't want to sell to without any shipping adjustments. It also offers a 10-day free trial period. Feel free to try it out and remove it before the trial period ends to avoid app charges if it doesn't fit your goal.
Since you did mention that you're reluctant on using any apps, the last alternative I can think of is through the use of language. If you're open to the idea, I suggest mentioning the regional restriction on the blog post or/and announcement bar where it's clearly visible before the customers hit checkout. Keep in mind that this method isn't foolproof and the customers from other countries can still checkout without the blocker.
Let me know how it goes!
Thank you so much for the feedback. Let's go over each point together.
I just feel like I’m forced to either use a third party app that access my customers information probably for a feature that doesn’t work properly or reliable since VPN can override any ip blocks, anyone can have any IP address of any country a press of a button on there mobile device or computer.
Correct. I understand where you come from and this is essentially why there isn't a feature for you to select customers based on their countries at the checkout point. It requires the developers to create the code at the checkout point in order to come up with a filter system (usually through the user's IP to detect where the customers are based at). As you've mentioned, there're various ways for the users to jump over this through either the VPN services or other services that alternate the IP addresses. This isn't a bulletproof system but it can help you filter out the customers based on their geo-location. The reason why we haven't developed it is along with the same thoughts as you've had. Nowadays people can alter their IP addresses and Shopify does believe selling globally instead of selected regionally.
Also I really don’t understand the security aspect either because it puts the merchants in a bad position as well. If I only deal with Canadian customer then I don’t know why Shopify or the payment system needs the whole country list to be able to secure payments.
Shopify's checkout point doesn't have a list of countries. What happens here is we welcome all customers pay, as long as their payment information is correct. There's no restriction set in the code and hence no list of countries. This setup has nothing to do with secure payments. Rather, it has to do with the fact that a majority of the merchants are selling globally or with a few targeted regions, instead of just one.
But I understand but I just feel stuck myself because if I use a shipping address on digital downloads my customers will be confused and if I use a country blocker VPN can and will override my site and at the end of the day I’m collecting information from customers that I don’t have any business doing with, like EU customers I can’t be collecting their information just because my Shopify store won’t help to limit that ability and locking me out of doing things to protect my business.
I understand. Your case is on the special side because you're selling digital products that don't require any shipment. The fact that you're thinking for the customers and avoid using shipping to filter customers shows that you're a great entrepreneur. You're thinking for the customers and also focusing on how to comply with all the laws currently implemented regionally. Since the IP filter and shipping methods are both out of the question, I recommend you to use notable banners and strategic note placement to inform your customers that your products are currently available to the Canadian market only but you welcome the potential customers to contact you if they're located in other regions. This method not only reduces the people from other regions from checkout with your product, but it also engages your potential customers in a dialog. In this case, you get to gather actual data from the customers and see if it's worth your trouble to expand to other regions in the future.
I understand the security of Shopify but what about the security of us merchants. To me ip blocks are useless and like i said before allowing the merchant to choose which countries are available at checkout is more effective because arnt card payments liked to the billing address. So wouldn’t it stop payments from coming in if there country is not on the list to begin with
Great question. Since our conversation has started, I recognize there's a need to help out the merchants who're going through the same issue as you have.
I'd be happy to launch a feature request with our developers to see if the ability to select a specific group of audience at checkout point can be added in the future. While I can't guarantee that it will be added, I'm more than happy to pass along your suggestions that would provide better services to the Shopify platform. If the request is already there, I can add to it to bump it up - as the more merchants that mention a feature, the more likely they are to be implemented.
Keep in mind that there's no list of countries as you thought at the checkout point. The reason we don't allow customization at the checkout point has to do with the code that was built to secure your customers' personal address/billing address and the payment data. This is why the whole process isn't open for customization. We want to ensure the gateway structure is as safe as possible for your customers (without any tempering of the code).
Another thing came to my mind while trying to tackle this question with you: when you're trying to limit where your customers are coming from to purchase your products is that what if the customers have a US or UK billing address but actually resides in Canada? If there's a filter system, you may be blocking out an actual customer.
If you open to selling globally, here's how you can remove the customer's data right from your Shopify admin. Feel free to let me know if you need more clarification on any of the answers.
No problem at all. I'm glad that we were able to have this conversation. As promised, I've forwarded your request to our developer team. Your request was added to an existing one. At the moment, there isn't a specific timeline on when further updates will be pushed out.
To follow up with our new updates, I encourage to check out Shopify Announcement. The newest updates are always announced there first. Your feedback is much appreciated. I admire your honesty and the way you handle your business. It's only a matter of time for you to slowly scaling your business up. Wishing you all the success in the coming future.