ShopBase Help Center

Explore How-To's and learn eCommerce best practices from our knowledge base.

Home Block, allow certain countries from accessing your website

Block, allow certain countries from accessing your website

This article is also available in:

This section guides you on how to block or allow certain countries to access your online store.

Step by Step Tutorial

If Website Builder is used

From your store admin dashboard, go to Online Store > Design > Customize.
In General tab, Inside <head> tag section, copy and paste the code in the text box.

If Theme Editor is used

From your store admin, go to Online Store > Preferences.
In Additional scripts, Head section, copy and paste the below code in the text box:

Code to block, allow certain countries from accessing your website

Code to block customers from specific countries
<script>
(function() {
	// Update blocked countries list here
    var blockedCountries = {'CN': true, 'VN': true, 'US': false};

    var xhr = new XMLHttpRequest();
    var redirect = 'https://www.google.com/not-found';
    xhr.onreadystatechange = function() {
        if (xhr.readyState === 4) {
            var location = JSON.parse(xhr.responseText);
            if (location.result && location.result.country_code in blockedCountries &&  blockedCountries[location.result.country_code]) {
                window.location.href = redirect;
            }
        }
    };
    if (window.location.href.indexOf(redirect) === -1) {
        xhr.open('GET', 'https://' + window.location.host + '/api/catalog/location-lookup.json');
        xhr.send();
    }
})();
</script>
Code to allow customers from specific countries
<script>
(function() {
    // Update allowed countries list here
    var allowedCountries = {'US': true, 'CA': true, 'UK': true, 'CN': false};

    var xhr = new XMLHttpRequest();
    var redirect = 'https://www.google.com/not-found';
    xhr.onreadystatechange = function() {
        if (xhr.readyState === 4) {
            var location = JSON.parse(xhr.responseText);

            var allow = false;
            if (!location.result) {
                allow = true;
            } else if (location.result.country_code in allowedCountries && allowedCountries[location.result.country_code]) {
                allow = true;
            }

            // Redirect if not allowed
            if (!allow) {
                window.location.href = redirect;
            }
        }
    };
    if (window.location.href.indexOf(redirect) === -1) {
        xhr.open('GET', 'https://' + window.location.host + '/api/catalog/location-lookup.json');
        xhr.send();
    }
})();
</script>
You can add more countries you want to block in blockedCountries, or add more countries you want to allow in allowedCountries in the code.
Click Save once finished.

Use the two letter country codes in ISO 3166-1 Alpha 2 format here.

Additional scripts added to the store will NOT load on the checkout page for security reasons and to prevent payment interference. Use ShopBase’s built-in tracking and integrations instead.