Geolocation Troubleshooting

Troubleshooting - The Geolocation Condition

If you set up a geolocation trigger and it seems like it isn’t working, there are a few common points to consider.

1. Are you testing If-So on a local server or an internal environment?

Since the Geolocation condition relies on an external API to compare the user’s IP and location, the geolocation condition will only work in a live environment.

2. Is there a communication failure between your server and ours?

No worries, it’s not complicated to check it. On your WordPress dashboard, go to If-So > Geolocation. If the value of the “Sessions used this month” is 0/0 then it’s probably a communication failure. Please contact our support and let us know the domain of the website you are trying to use If-So on.

CURL error 1

3. Are you testing the site using a VPN?

If-So’s Geolocation condition will not take action while browsing the site via VPN. If you don’t see the geo-targeted version, it doesn’t mean If-So is not functioning properly. Try testing the page using an online proxy server or target your own country and see if you get the correct result.

If the reason you are using a VPN is only to see how the content looks on your site, it is much easier to use the built-in testing mode option. This option allows you to preview a specific dynamic content version of your site.

4. Are you using a caching plugin?

Caching, in simple words, means you present your website visitors with a “snapshot” of your rendered page instead of rendering it from scratch each time a visitor enters the site.

If you’re using any kind of cache on your site (using a caching plugin, CDN, server cache, or any other), go to If-So > Settings on your WordPress dashboard and enable the Page Caching Compatibility option. Learn more about If-So’s compatibility with caching.

 

5. Is it a detection accuracy issue?

No IP-to-location service is 100%. The accuracy of a location depends on many factors, the most important being the ISP of the address. The accuracy is generally higher for fixed lines than it is for cellular networks.

The list below shows how If-So recognizes your location. Naturally, if you have set up a trigger and targeted your actual location while the value detected by our system is wrong, the dynamic version will not be displayed as excepted.

The good news: Accuracy issues are something we can fix. You simply need to send us your IP and your actual location and we’ll make sure the IP-to-location database we are using will be updated.

Learn more here about geolocation accuracy.

Here is what your current location appears as:

Continent:

Country:

State:

City:

Timezone:

Report a mistake

6. Do you have enough Geolocation session credits on your account?

Unlike other If-So conditions, geolocation usage is limited by monthly sessions. To see your monthly session usage, go to If-So > Geolocation on your WordPress admin. A session begins when a visitor first visits a page with a geolocation trigger and ends when the visitor closes the browser or after 25 minutes elapse.

7. Are you using Cloudflare?

From time to time we encounter conflicts between our geolocation service and Cloudflare. We can solve them! Paste the following code at the end of your functions.php file and try again. If it doesn’t solve the problem, please contact our support.

add_filter('ifso_user_ip',function(){
$ip = null;
if (!empty($_SERVER['HTTP_CF_CONNECTING_IP']))      //Cloudflare
$ip = $_SERVER['HTTP_CF_CONNECTING_IP'];
elseif (!empty($_SERVER['HTTP_CLIENT_IP']))
$ip = $_SERVER['HTTP_CLIENT_IP'];
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
$ip = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR'])[0];
else
$ip = $_SERVER['REMOTE_ADDR'];

if(!empty($ip)){
$ip = explode(':',$ip)[0];
}

return $ip;
});

 

None of the above solutions worked?

Please contact our support team and provide the following information:

  1. A screenshot of how you have set up the geo-targeted content (editing interface).
  2. A link to a live testing page where you have pasted the following content:
Country: [ifsoDKI type='geo' show='country' ajax=’yes’ fallback='']
State: [ifsoDKI type='geo' show='state' ajax=’yes’ fallback='']
City: [ifsoDKI type='geo' show='city' ajax=’yes’ fallback='']
Continent: [ifsoDKI type='geo' show='continent' ajax=’yes’ fallback='']

Related FAQs

  • The geolocation session count doesn't seem accurate

    The geolocation service is powered by an IP-to-location API. When a user visits a page with a geolocation condition or DKI shortcode for the first time during their session, a request is sent to the geolocation database to compare the user’s IP with the location information stored in the database.

    What is a geolocation session?

    A geolocation session starts when a visitor first accesses a page with a geolocation trigger or a Geolocation DKI shortcode and lasts until the visitor closes their browser or has been inactive for 25 minutes (note that this time frame may vary slightly depending on the browser and server hosting the website).

    Not every page view should count as a session!

    1. The geolocation session is initiated only when a visitor accesses a page with a geolocation trigger or a geolocation DKI shortcode, and a request to the IP-to-location API is made to compare the visitor’s IP with the location in the database.

    2. If the user browses several pages within the same visit, it will still be considered a single session. The session will end when the visitor closes the browser or after 25 minutes of inactivity, though this duration may vary slightly depending on the browser and server.

    Blocking IPs from the geolocation service

    If-So offers two options to help identify and block bots — we recommend using both.

    1. “Block Bots” mode – automatically blocks search engines and bots that declare themselves as bots.
    2. Manual blocking – logs all geolocation requests, provides a list of IPs that extensively tri

    Click here to learn how to activate these options.

Was this Helpful ?

    We're sorry couldn’t be more helpful ☹️

      November Sale
      Up to 40%