Replacing the Global-e Country Switcher
It is possible to replace the Global-e Country Switcher (also referred to as the "Shipping Switcher") with your own. This article explains the requirements and options available for doing so.
GlobalE_Data Cookie
Using your own Country Switcher requires that the GlobalE_Data
cookie is set correctly.
Note
The GlobalE_Data
cookie is used to determine which country is currently selected and to change the currently selected country.
Structure
{ "countryISO": "US", "currencyCode": "USD", "cultureCode": "en-US" }
Field | Meaning | Examples |
---|---|---|
| The two-character ISO 3166-1 Alpha-2 Country Code for the currently selected country |
|
| The three-character ISO 4217 Currency Code for the currently selected currency |
|
(Optional) If you choose not to set the | A combination of:
|
|
Reading the Cookie
The first time a shopper arrives at your site, the cookie may not be set (as Global-e has not yet identified them). This is the point at which you can use your own GeoIP detection and set the GlobalE_Data cookie yourself.
Writing the Cookie
If you choose to set the cookie on the server side, ensure that the value hasn't already been set (to avoid overriding changes the shopper has made).
If you choose to set the cookie on the client side, make sure to refresh the page after setting the cookie (so that the Global-e scripts pick up the new value, serve the correct CSS file, and convert the prices correctly).
Cookie Domain
When setting the cookie:
Prefix the domain with a dot (to maintain compatibility with older browsers).
Ensure the cookie is not
http
only.
See the following examples:
Storefront URL | Cookie Domain |
---|---|
https://example.com | .example.com |
https://store.myclothing.co.uk | .store.myclothing.co.uk |
User Localization External Methods
Instead of reading and setting the GlobalE_Data
cookie directly, you can use our User Localization external methods.
Geo IP (optional)
You can choose to identify the shopper’s location via your own GeoIP logic.
Important! If you do so, ensure the following:
The
GlobalE_Data
cookie is not already set.If it is already set, do not identify the location of the customer and use the cookie value instead.
You set the
GlobalE_Data
cookie from the server side in the initial page request. Otherwise, you risk conflicting with Global-e's GeoIP detection.
You can use our endpoint to geo-locate an IP address:
Request (POST)
{GeoIPDomain}/Browsing/LocationByIP?merchantGUID={MerchantGuid}&IP={IP_ADDRESS}&useIpv6=true
Description
Returns GeoIP information for the provided {IP_ADDRESS}
.
Notes
In the above request:
{GeoIPDomain}
is one of the following two values, depending on the environment:Environment
GeoIPDomain
Production
api.global-e.com
Sandbox
connect.bglobale.com
{IP_ADDRESS}
can be in either IPv4 or IPv6 format.If you don't know your Global-e
{MerchantGuid}
, contact your Global-e support representative.
Example Response
{ "Country": { "Code": "IE", "Name": "Ireland (Republic of)", "DefaultCurrencyCode": "EUR", "DefaultCultureCode": "en-GB" }, "Region": { "Code": "", "Name": "", "CountryCode": "" }, "City": { "Code": "", "Name": "" }, "IPRange": { "From": 281471592431616, "To": 281471592890367, "Type": "IPV4" } }
List of Countries
For a list of countries, you can use a static list of countries, or you can use the Global-e GetCountries
API:
Request
{Domain}/externalapi/GetCountries?merchantToken={MerchantToken}
Notes
In the above request,{Domain}
is one of the following values, depending on the environment:
Environment | Domain |
---|---|
Production |
|
Sandbox |
|
Example Response
{ "countryCode": "US", "countryCodeISO3": "USA", "countryName": "United States", "isOperatedByGlobale": true, "defaultCurrencyCode": "USD", "isFixedPricesSupported": true }