DEAL ENDS IN:

BLACK FRIDAY!

UP TO 40% OFF!

GET IT NOW

Speedy Answers

Enter a keyword or select a category to find the information you’re looking for.

  • How can I load a trigger (set up dynamic content) across all of the website's pages?

    With If-So, you can easily insert a trigger above your site’s header on all pages directly from your WordPress dashboard. Additionally, you have the flexibility to exclude specific pages where the trigger should not be included.

    For more detailed instructions, you can refer to our documentation on loading a trigger on all pages.

  • Can I customize the page/website design (CSS) based on conditions?

    Absolutely! With If-So, you have the ability to dynamically load CSS (conditional CSS) and make changes to your website’s design based on specific conditions. Learn More.

  • Is it possible to display an event time based on the user's timezone?

    Absolutely!

    With If-So, you can easily set the time and use a shortcode to showcase the event time in the user’s own timezone.

    This feature eliminates any confusion and saves users the hassle of performing time conversions.

    Whether it’s displaying event schedules, business opening hours, or support availability, your users will appreciate the convenience.

    Learn more about using the shortcode for time-based displays.

  • Is it possible to initiate a countdown as soon as a user visits a page or performs a specific action?

       Yes 🙂 Learn more.

  • Can I create an evergreen (looped) countdown?

    Yes, with If-So you can create evergreen (looped) countdowns that automatically restart once they reach the end. This allows you to continuously display countdowns and maintain a sense of urgency on your website. Learn more.

  • Can I create countdowns? What makes If-So's countdowns special?

    If-So’s countdowns are designed to create a sense of urgency and encourage users to take action. What sets If-So’s countdowns apart is their conditional capabilities:

    • You can create “EverGreen” countdowns that continuously loop.
    • Countdowns can be triggered when a user visits a specific page.
    • Countdowns can also be triggered when a user performs a certain action, such as making a purchase.

    Learn more about If-So’s Countdowns and their powerful features.

  • Can I set up conditional upsells and cross-sells on my WooCommerce website?

    Upsells and cross-sells are effective strategies to boost revenue and increase the average order value.

    If you are using WooCommerce, If-So enables you to display customized special offers based on the products in the user’s cart or their previous purchase history, either before or after the checkout process. Learn more.

  • Enable If-So Shortcodes in WooCommerce Product Attribute Fields

    WooCommerce product attribute fields don’t render shortcodes by default. To display If-So shortcodes within these fields, add the following code snippet to the end of your theme’s functions.php file:

    add_filter('woocommerce_attribute',function($a){ return do_shortcode(wp_specialchars_decode($a,ENT_QUOTES)); });
    Enable Shortcodes in WooCommerce Product Attribute Fields
  • How can I display localized testimonials/reviews on my site based on the user's language or location?

    If-So allows you to display testimonials that are specific to the user’s language or location. Learn more.

  • Can I display the visitor's country flag on my website?

    Yes, you can display the visitor’s country flag easily using a simple shortcode. Learn more.

  • Can I customize my landing page based on the user's search term on Google Ads (and other advertising platforms)?

    If-So provides two options for tailoring landing page content based on the user’s Ads campaign, ad group, ad, or keyword:

    1. Customize any content on your page, such as text, title, image, etc., by creating a dynamic trigger with the Google Ads condition (or Page URL condition for other advertising platforms). Learn more.
    2. Automatically display a text value you set on Google Ads as a tracking template. This value can be the keyword used to trigger the ad or any other text value you choose. Learn more.
  • Is it possible to show different content based on the visitor's membership level or subscription?

    If-So offers seamless integration with a variety of membership plugins, empowering you to present distinct content tailored to each user’s membership level or subscription tier.
    This feature enables personalized and targeted content based on their membership status.
    Learn more about our supported membership plugin integrations:

  • Can I display different content based on the user's past purchase history?

    Absolutely.
    If you are using WooCommerce or Easy Digital Downloads, you can leverage If-So to display dynamic content based on the user’s previously purchased products.
    To learn more:

  • Can I display dynamic content based on a cookie or session?

    Yes, you can use the Cookie/Session condition to target specific cookies or sessions and show dynamic content accordingly. Learn more >

  • Is it possible to display dynamic content based on the user's search term on Google?

    If-So offers the capability to display dynamic content based on the user’s search term in Google Ads (or other advertising platforms like Bing, Facebook, etc.). Learn more.

    Note that this feature is currently not available for organic search. If it becomes technically feasible in the future, we will be sure to add it.

  • Is it possible to set a start and end date for the dynamic content to be displayed?

    Yes, check out the Start & End Date condition.

  • Is it possible to display dynamic content based on UTM Parameters?

    Yes, you can use the UTM Parameters condition to display dynamic content based on specific UTM parameters included in the URL. This allows you to target and personalize content based on campaign sources, mediums, terms, content, and more.

  • Is it possible to display dynamic content based on the user's IP?

    Yes. If you want to manually set IP-based content, you can use the User IP condition.

    Alternatively, if you’re interested in displaying geotargeted content based on the user’s IP, you can check out the Geolocation condition.

  • Is it possible to display dynamic content only to logged-in users?

    Yes, If-So offers the Logged-in Users condition that allows you to show specific content exclusively to users who are logged into your website.

  • Is it possible to display dynamic content based on the page or post category?

    Yes, If-So provides the Post Category condition that allows you to target specific content based on the category of the page or post.

  • Is it possible to target content based on the user's past browsing behavior (previously visited pages) and website interactions?

    Absolutely. If-So offers multiple options for targeting content based on user behavior:

  • Can I use If-So for A/B testing (split testing)?

    While If-So is not specifically designed for A/B testing, many users find it to be a valuable tool for conducting simple A/B tests. Its simplicity and built-in analytics make it easy to experiment with different variations of content and analyze their performance. Learn more.

  • Can I display dynamic content based on the user's browser type?

    Yes, you can use the Browser Type condition to target specific browsers for showing dynamic content.

  • Is it possible to target content based on specific WordPress user roles?

    Absolutely! If-So allows you to precisely target content based on specific WordPress user roles.

    This feature works seamlessly with both native WordPress roles, such as administrator, author, editor, subscriber, and others, as well as custom roles created by third-party plugins or custom code. Learn more.

  • Can I schedule content to display at specific times?

    Yes, with If-So, you have the ability to schedule content to be displayed at specific times, including specific days of the week and hours of the day.
    You can achieve this functionality by either creating a trigger with a Schedule condition or utilizing our CSV extension.

  • Is it possible to target content based on a user's referral source?

    Yes. If-So allows you to target content based on the user’s referral source or referral URL. Learn more >

  • Can I target content based on a user's operating system (e.g., Windows, macOS, Linux)?

    Yes, If-So allows you to target content based on a user’s operating system. Learn more >

  • Can I display different content for new and returning visitors?

    Certainly! With If-So, you can display different content for users based on whether it’s their first visit to your site or if they have visited before. Learn more >

  • How can I show different content based on the user's location?

    With If-So, you have multiple methods to achieve location-based content customization:

  • Can I display dynamic content based on the user's device type?

    Certainly, If-So enables you to display dynamic content based on the user’s device type: desktop, tablet, or mobile. More about the Device Type condition >

  • Can I show dynamic content based on the user's language?

    Yes, you can utilize the Browser Language condition in If-So to target content based on the user’s browser language preference. Learn more >

  • Can I customize content to different Member Levels of the WishList Membership plugin (WLM)?

    Yes, you can do it using our WishList Membership extension

  • Conditional WooCommerce Products Display

    While blocking or showing different products based on the user’s location is not a built-in option, If-So, in general, provides the ability to display dynamic content according to the user’s location.

    Option 1: Displaying Dynamic Content Based on User Location (or any other condition)

    If you want to utilize If-So to display conditional products, you can create an If-So trigger (with a geolocation condition or any other). Then, you can use one of WooCommerce’s shortcodes to display only the relevant products.

    Here’s an example of a trigger with three versions (you can create as many versions as you need):

    Version A:

    IF: Geolocation > State > Is  > Texas
    Then:

    [products limit="8" columns="4" category="Category#1"]

    Version B:

    IF: Geolocation > State > Is  > Florida
    Then:

    [products limit="8" columns="4" category="Category#1"]

    Default Version:

    [products limit="8" columns="4" category="Category#3"]

    Helpful links

    Important Considerations

    1. In case you are using the geolocation condition, please note that the geolocation service relies on IP-to-location mapping, which may not be 100% accurate. While we utilize a premium, highly accurate database to ensure the best possible accuracy, some discrepancies may occur. You can find more information about IP-to-location services and how they work here.
    2. If your site includes a “search products” option, the products will appear in the search results based on their relevance to the search query.

    Option 2: Creating conditional redirect from the product page

    Instead of using the method suggested above, you can create a conditional redirect from the product page to a different page (product or other).

    This option is more useful if you have a single product that you want to display in one state and a different variation of it that you want to display in another state.

    How to create a conditional redirect.

  • Does the user’s self-selection carry across all pages of the site?

    Yes, once a user self-selects, the selection is carried across all pages of the site. The solution is based on a cookie. If the user deletes the cookie or visits the site using another browser, the selection will not be saved.

  • How can I change the user self-selection form design?

    When you generate the self-selection form using our form generator, you can also set a design for the form, and the CSS will be generated for you.

    Applying the CSS to your site is possible in several different ways, and having development skills is not a requirement. How to add custom CSS to your WordPress site.

  • Limiting the frequency of pop-up display per user

    If-So provides maximum flexibility in determining how often you want to display the pop-up to each user and for how long you want to prevent its display. This option is achieved by adding a cookie to the user’s browser, ensuring that the pop-up is not shown as long as the cookie exists.

    1. Add the following shortcode to the bottom of your pop-up’s content:
    [ifso-add-cookie name='prevent-pop-up' value='yes' time='2628288']

    * ‘2628288’ represents the cookie expiration date in seconds, equivalent to 30 days. Adjust the expiration time according to your requirements.

    1. Add another version to your pop-up.
    2. Drag the new version to the top (place it as version A) to ensure its condition is checked first.
      – Set the version’s condition to “If > Cookie > Is > Cookie Name: prevent-pop-up ; Cookie Value: yes”.
      -Leave the version’s content blank.
    3. Update the trigger.

    The result: When the pop-up is displayed for the first time, a cookie with the name “prevent-pop-up” will be added to the user’s browser. The next time the user visits a page with the pop-up’s shortcode, the condition of version A will be met. Since there is no content in version A, the pop-up will not be displayed.

  • Can dynamic content from CSV be loaded with the Ajax (page caching compatibility) option?

    Yes. The default Ajax loading settings apply to content that loads using the CSV extension.

    In addition, as with standard If-So triggers, you can override the default settings by adding the parameter ajax=”yes” or ajax=”no” to the CSV shortcode.

  • Content in columns A is broken after uploading a CSV file or saving a bulk

    By default, the number of allowed characters in a single cell in column A is 55. This limitation is intentional to optimize the loading speed of the dynamic content for users who don’t need a higher number of characters.

    To change the max allowed number of characters in column A:

    1. Add the code below to your functions.php file.
    2. Visit one of your website pages (it will run the code).
    3. Remove the code from your functions.php file.
    function modify_content_column(){
        global $wpdb;
        $wpdb->query("ALTER TABLE {$wpdb->prefix}ifso_bulks_content MODIFY COLUMN version VARCHAR(100);");
    }
    add_action('init','modify_content_column');
    

    The code above will change the number of allowed characters to 100. You can replace the number in the code with any other number. Bear in mind that if your file consists of many dynamic versions (thousands), there might be some loading speed implications (they will probably be insignificant, but it is worth checking).

    Please note that if you reduce the number of allowed characters, the new number you set will affect content created in the past.

  • Content is broken after uploading a CSV file or saving a bulk (in any column except column A)

    By default, the number of allowed characters in a single cell (except column A) is 1024. This limitation is intentional to optimize the loading speed of the dynamic content for users who don’t need a higher number of characters.

    To change the max allowed number of characters in the relevant column:

    1. Add the code below to your functions.php file.
    2. Visit one of your website pages (it will run the code).
    3. Remove the code from your functions.php file.
    function modify_content_column(){
    global $wpdb;
    $wpdb->query("ALTER TABLE {$wpdb->prefix}ifso_bulks_content MODIFY COLUMN content VARCHAR(2048);");
    }
    
    add_action('init','modify_content_column');
    

    The code above will change the number of allowed characters to 2,048. You can replace the number in the code with any other number. Bear in mind that if your file consists of many dynamic versions (thousands), there might be some loading speed implications (they will probably be insignificant, but it is worth checking).

    Please note that if you reduce the number of allowed characters, the new number you set will affect content created in the past.

  • Can I display dynamic content based on any custom user profile field?

    Yes, if you have a custom user profile field created by any other WordPress plugin or custom-coded by your developer, and as long as the data is saved in the ‘usermeta’ table (according to the WordPress guidelines), you can use If-So to display dynamic content based on its value.

  • Does the Search Term condition work on Bing, Yahoo, or other search engines?

    Yes, the search term condition works in the exact same way on all search engine advertising platforms. All you need to do is transfer the parameters to the landing page URL when setting up your campaigns on the advertising platform. If-So will take it from there and display dynamic content based on those parameters.

  • Start and end date wrapping shortcode

    This is what we have sent the last time. It’s actually what I meant to send this time as well. Does it answer your current needs?

    [ifso_condition default='DEFAULT ' rule='{"trigger_type":"Time-Date","time-date-start-date":"2021\/04\/15 12:45","time-date-end-date":"2022\/04\/28 12:45","Time-Date-Start":null,"Time-Date-End":null,"Time-Date-Schedule-Selection":"Start-End-Date"}']YOUR CONTENT GOES HERE[/ifso_condition]

    * The default parameter accepts HTML if needed

  • Is it possible to use a different parameter instead of "?ifso="?

    Yes. You can display dynamic content based on any parameter you want. Simply, use the Page URL condition and set it as follows:

    If: Page URL > Conatins > ?your-parmeter; Then: Show dynamic content…

    Alternatively, if you want to create a condition based on UTM parameters, you can use our dedicated UTM condition.

  • Will the Referral Source condition work if I use page cache?

    Yes, If-So utilizes JavaScript’s document.referrer for the referral source condition, ensuring compatibility with caching without relying on cookies. If you are using page cache on your site, all you need to do is make sure to load the dynamic content using our ‘page caching compatibility’ (ajax=’yes’) mode.

    *In the absence of ajax mode, it defaults to utilizing PHP’s $_SERVER[‘HTTP_REFERER’] global.

  • Can I add users to an audience when a user clicks a button?

    The desired result can be easily achieved by adding a parameter to the URL that the button directs users to.

    1. Create a trigger with a Page URL condition:
      If: Page URL > Contains > domain.com?audience=type-1; Then: Your dynamic content (if desired)
    2. Toggle the audience section, located below the condition, and check the relevant “Add to audience” checkbox.
    3. Paste the trigger’s shortcode on the page/s users are redirected to after clicking the button.

    If your button is displayed on several different pages (on your header, footer, pop-up, etc.), and you wish the button to reload the same page, you can set its link value to be ?audience=type-1

  • Is it possible to have multiple pieces of content displayed using more than one URL parameter?

    Yes, you can display multiple pieces of dynamic content on a single page.

    To do so, simply create two (or more) different triggers, one trigger for each piece of dynamic content. For each trigger, set a dynamic version with the condition Page URL > Contains> {parameter name}. Live Example:

    livedemocharacterLive Example:

    For your convenience, you can follow the example below to see how to set your triggers:

    Trigger 1:

    Version A:

    If: Page URL > Contains > ?parameter1 ; Then: Your dyanmic content….

    Default Verison:

    Your default content (can be left blank if you don’t want to display anything when the condition is not met).

    Trigger 2:

    Version A:

    If: Page URL > Contains > ?parameter2 ; Then: Your dyanmic content….

    Default Verison:

    Your default content (can be left blank if you don’t want to display anything when the condition is not met).

  • Can the country or city of the visitor be easily displayed using a shortcode?

    Certainly! With our geolocation Dynamic Keyword Insertion (DKI) shortcode, you can effortlessly achieve this.

    For instance, if you want to showcase the user’s country, you can use the following shortcode:

    [ifsoDKI type='geo' show='country']

    Similar shortcodes are available to display the user’s country flag, state, city, and event time calculated based on the user’s timezone.

    For all available DKI shortcodes

  • Do I need the Pro version of If-So to use the geolocation service?

    Nope, you don’t need the Pro version of If-So to make use of the geolocation service.

    The geolocation condition comes with the free version of the plugin, and you get 250 monthly sessions with our premium IP-to-location API for accurate results (for lifetime).

    If your website requires additional sessions, you can opt for one of our geolocation plans.

    You don’t have to buy a Pro license along with a geolocation plan if you only want to use the geolocation condition.

  • Is the Geolocation service 100% accurate?

    We strive for maximum accuracy by utilizing a premium, highly accurate IP-to-location API.

    However, it’s important to note that no geolocation service can guarantee 100% accuracy. Several factors influence the accuracy of the location data, with the ISP of the IP address being a key factor. Accuracy is generally higher for fixed lines than it is for cellular networks.

    If you come across any inaccuracies, please report them to us, and we will ensure that the database is updated accordingly.

    Gain a deeper understanding of IP-based geolocation services and their operational principles

  • Which service is used for geolocation-based content in If-So?

    If-So utilizes the ipinfo.io premium IP-to-location API for geolocation-based content. This database has shown high accuracy compared to similar databases.

    The database is regularly updated to ensure the most up-to-date information. If you come across any inaccuracies, please report them to us, and we will ensure that the database is updated accordingly.

    We also have plans to introduce at least one additional option for geolocation services in the future. This will allow you to switch between different options based on your preferences and requirements.

  • Can users self-select their location?

    Absolutely! You can implement a manual user location selection form (location override) that empowers users to choose a different location than the one automatically detected by our IP-to-location service.

    Dynamic content will be displayed based on the user’s selection. For additional information, please refer to our detailed guide.

  • Do I need to disable the geolocation service if I'm not using the geolocation condition?

    No, there’s no need to disable the geolocation service. The geolocation functionality will only be active if you set up location-based content.

  • Do I need to buy the Pro version along with a geolocation license?

    No, a geolocation license is sufficient if you only want to use the geolocation service.

  • Is it possible to use the same geolocation license on multiple websites?

    Absolutely! There are no limitations on the number of domains where you can activate a geolocation license.

  • Does every page view count as a session?

    Certainly not!

    1. A session is only counted when a user visits a page that contains location-based content, such as a trigger with a geolocation condition or a Geolocation DKI shortcode.
    2. If-So tracks the browser session throughout the user’s visit, so if the user navigates through multiple pages within the same visit, only one session will be counted.

    Will a session be counted in the event that the geolocation condition is not met?

    Yes. To determine the user’s location for deciding whether to display geotargeted content, we need to check the user’s location. As a result, a session will be counted irrespective of whether the geotargeting condition is met or not.

  • Is it possible to upgrade an existing Geolocation plan?

    Absolutely! You have the flexibility to upgrade your existing license at any time. How to upgrade my plan.

  • Is the monthly session limit applied per website or in total?

    The session limit applies to the total number of sessions across all websites where the license is active.

  • Do you offer plans with over 100,000 monthly sessions?

    Yes, we do!

    When you purchase an annual Geo Super Plan (100,000 monthly sessions), you’ll have the ability to easily upgrade your package.

    Additional packages of 50,000 monthly sessions are offered at a rate of $12.50 per month on a yearly subscription basis. You have the flexibility to purchase as many packages as you need to meet your specific requirements.

    To upgrade your package:

    1. Log in to your account.
    2. Locate your geolocation license.
    3. Click on “Upgrade license.”
    4. Select the desired package and proceed to the checkout.
  • What is a geolocation session?

    A geolocation session refers to the period of time starting from when a visitor accesses a page with a geolocation trigger until either the visitor closes the browser or remains inactive for 25 minutes (the duration may slightly vary depending on the user’s browser and server hosting the website).

    To illustrate, if a visitor lands on the homepage, navigates to multiple other pages, and eventually leaves, this activity will be counted as a single session.

    The table below illustrates how different visitor interactions impact the session count on a website with geotargeted content:

    ScenarioSession Count
    A visitor only views pages without geotargeted content and then leaves0
    A visitor views a page with conditional content, the geolocation condition is not one of the conditions (other If-So conditions are used).0
    A visitor browses multiple pages within a single session1
    A visitor visits a page with geotargeted content, and then refreshes the page 1
    A visitor views a page, closes the tab, and returns to the site after 15 minutes1
    A visitor views a page with geotargeted content, but their location doesn’t match any targeted locations (default content is shown).
    *The user’s location still needs to be checked in this case.
    1
  • Will a geolocation session be counted on every page load?

    Nope!

    A geolocation session will only be counted if a user visits a page with a geolocation-based trigger.

    Moreover, if a user visits more than one page containing a geolocation trigger during the same visit, If-So will only count it as one session.

  • What happens when I run out of geolocation sessions?

    If you deplete your geolocation sessions, If-So will bypass the geolocation condition and evaluate the condition of the subsequent content version. If all dynamic versions have a geolocation condition or if none of the conditions are met, the default version will be displayed.

    If you are utilizing our Geolocation DKI shortcodes, you can establish a fallback value to be shown in such instances. Just include the parameter fallback=”your-value” to the trigger shortcode.

    [ifsoDKI type=”geo” show=”country” fallback=”your-value”]
  • Can I block Search Engines and other bots from the geolocation service?

    Yes, you can. You have the option to either activate the automated “Bots Block” mode or log geolocation requests and manually block specific IPs. Learn more.

  • Where can I find information about my monthly geolocation session quota and usage?

    You can check your monthly session quota in two locations:

    1. In your WordPress dashboard, navigate to If-So > Geolocation.
    2. In your If-So account, go to the License Keys tab and view the License details.

    Screenshot – The geolocation dashboard:

    The Geolocaito dashborad

    Screenshot – Your account:

    image 1
  • "Communication Error" Notice

    It appears that there is a communication issue between our server and yours. No need to worry though, we can resolve it. Kindly follow these two steps:

    1. Please attempt to activate a license on your site. Although the activation may not be successful, the information necessary for troubleshooting will be automatically sent to our team (you can get a free license here).
    2. Fill out the form below, providing us with your website’s URL.

    • I don't see the content or don't see the correct version

      Stay calm and refer to our Geolocation Troubleshooting guide for assistance.

    • The geolocation session count appears to be inaccurate.

      Inaccurate session counts can occur when bots visit the website. Learn about possible solutions to address this issue.

    • Location override form - Country flags not visible

      If you are unable to see the country flags, it is likely because your browser does not support emoji display by default (Google Chrome on a desktop for example).

      Browsers that have built-in support for displaying emojis

      Browsers that have built-in support for displaying emojis
    • 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.

      Troubleshooting inaccurate session counts

      If you are experiencing issues with your session count, it is most likely due to bots visiting your site and consuming your session quota.

      To identify and block bots, If-So offers two options:

      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 trigger sessions, and allows you to block them at your discretion.

      Block Bots mode

      The “Block Bots” mode allows you to automatically prevent Search Engine Crawlers, CURL Requests, and other bots from accessing the geolocation service.

      When the “Block Bots” mode is enabled, bots will be able to access your site as usual, but they will be blocked from accessing the geolocation service. Instead, they will be served with the default content version (or “fallback” in case you are using the Geolocation DKI shortcodes)


      To enable the “Block Bots” mode, follow these steps:

      1. Ensure that you have both the If-So plugin and the If-So Geolocation extension installed on your WordPress site.
      2. Access your WordPress dashboard and navigate to If-So > Settings.
      3. Under the Geolocation section, select the “Block Bots” option.

      The “Bot Blocking” mode enables you to automatically prevent Search Engine Crawlers, CURL Requests, and other bots from accessing the geolocation service.

      Which bots will be blocked?

      The “Bots Block” mode identifies bots by searching for commonly used terms in the User-Agent header. The following terms, if present in the User-Agent, will trigger a block:

      • bot
      • crawl
      • slurp
      • spider
      • mediapartners
      • curl
      • wget

      Please note that while the “Bot Blocking” mode is designed to capture the majority of bot traffic, it may not completely block all bots. Keep in mind that the User-Agent can be easily manipulated, which can potentially bypass the block.

      If necessary, you can utilize the “Log geolocation requests” option to manually identify IP addresses that consume your session quota excessively. By logging these requests, you can keep track of suspicious activity and take measures to manually block those IPs as needed.

      Block Bots mode

      Whitelisting IPs

      To exclude a specific IP from being blocked by the “Bots Block” mode, you can whitelist the IP address by adding the following shortcode at the end of your functions.php file:

      add_filter('ifso_geo_whitelist',function($allow){
          $allow['ip'] = ['X.XX.XX.XXX','Y.YY.YY.YYY'];
          return $allow;
      });
      

      Please ensure to replace ‘X.X.X.X‘ and ‘Y.Y.Y.Y‘ with the respective IP addresses you wish to whitelist.

      Manual blocking

      If you have enabled the log file and are consistently discovering new IPs that exhaust your sessions quota by generating numerous bot sessions, please ensure that you load dynamic content using Ajax. Based on our experience, loading content with Ajax helps prevent many bots from utilizing the geo sessions.

      If you don’t want to automatically block search engines and other bots, If-So offers a log feature that records each geolocation request, including the IP and date and time of the request.

      By analyzing this log, you can pinpoint the IPs of bots that are causing the issue and block them from the geolocation service (They will still be able to visit the site, but the geolocation service will not be available for them).

      Step-by-step: Blocking bots from the geolocation service

      1. Download and install our If-So Geolocation Extension.
      2. Go to If-So > Settings and check the “Log geolocation requests” checkbox. Checking the option will create a log file that includes the IP and the exact time of each geolocation request.
      geolocation log file
      1. Allow some time for the log file to collect data. After sufficient time has passed (depending on your website traffic), go to the If-So menu in your WordPress dashboard and click on “Analyze Geolocation Request Log”.
      2. Look for IPs with a large number of geolocation sessions. If you find such IPs, click the “More About this IP” button to gather more information about their source. If you find such IPs, click the “More About this IP” button and try to gather more information regarding their source.

        If the IP points to a data center (like Google, Amazon, etc.), it may indicate that it’s a bot.
      geolocation log analysis

      The example below shows an IP belongs to a data center:

      image 1

      *Please note that enabling the geolocation log file may slow down the loading speed of pages with a geolocation condition. It is recommended to disable the log file after collecting the necessary information.

      Blocking an IP Address

      If you decide to block certain IP addresses, add the following code to your function.php file, and replace the XX.XX… and YY.YYY… placeholders with the IPs you want to block.

      • The code only blocks the IPs from the geolocation functionality, and not from accessing your website.
      • Blocked IPs will see the default content version.
      add_filter('ifso_exclude_from_geo',function($exclude){ $exclude['ip'] = ['XX.XX.XXX.XXX','YY.YYY.YYY.YYY']; return $exclude; });

    • Is If-So compatible with my page Builder?

      Yes! You can use If-So with just about any modern page builder.

      Here are the most common page builders our customers use:

      Learn more >>

    • Is If-So compatible with all browsers?

      This one is simple – Yes.

    • Does If-So work with server-side and WordPress caching solutions?

      Yes.

      Whether you are using a caching plugin or server caching, you can navigate to the plugin settings and enable the “Page Caching Compatibility” option. With the option enabled, dynamic triggers will be rendered in a separate request that will take place after the loading of the cached version.

      Learn more about Page Caching Compatibility.

    • If-So is causing problems with Pantheon's website's caching

      In similar cases, disabling the following options in the plugin’s settings has resolved the caching issue:

      1. Disable the built-in Analytics
      2. Disable the use of PHP sessions
    • Can If-So be used with Layer Slider?

      Yes, there are two ways to incorporate dynamic content with If-So and Layer Slider.

      The first method involves creating an If-So trigger and inserting its shortcode into the slide’s content field to add dynamic content to the slide.

      The second option is to display different layer sliders to different users. To achieve this, create an If-So trigger with multiple versions, and assign the different layer sliders as the content of each trigger using the sliders’ shortcode. However, note that if you choose this approach, you may not be able to load the trigger using Ajax.

    • Can I use If-So with the Advanced Custom Fields (ACF) WordPress plugin?

      Yes. You can use If-So with the ACF plugin.


      The first step is to create an If-So trigger and paste its shortcode inside the custom field. Since Advanced Custom Fields do not render shortcodes by default, next you’ll need to add the following filters to your functions.php file.  Please feel free to contact us if you need help with that.

      If you’d like to use If-So inside a Text field:
      add_filter(‘acf/format_value/type=text, ‘do_shortcode’);

      If you’d like to use If-So inside a Text Area field:
      add_filter(‘acf/format_value/type=textarea’, ‘do_shortcode’);

    • Is it possible to use If-So and WP Rocket together?

      Yes! Click here to learn more.

    • WordPress Pagination not functional within If-So Trigger

      When the WordPress pagination function is used within an If-So trigger, it does not function properly. The problem arises from the order in which the functions responsible for loading our dynamic content and handling pagination are executed.

      Please note that the reverse scenario, which involves applying dynamic content within the paginated content, is indeed possible.

    • Can I use If-So in the page title field?

      Yes, you can.

      By default, the page/post title field doesn’t accept shortcodes. If you want to use If-So on your page title field simply go to the If-So > Settings on your WordPress dashboard and check the “Allow shortcodes in titles and menus” option.

      WordPress- allow shortcodes in the title
    • Can I use If-So to create dynamic menu items?

      Yes, you can! Here is a step-by-step guide on how to create dynamic menu items.

    • Can I spilt test 2 WordPress pages using If-So?

      Yes, technically, you can. Though one of the biggest advantages of If-So is that you don’t have to duplicate pages. Instead, you can split-test only a specific piece of content on the same page.

      Nevertheless, if you want to split-test a whole page, you can do so using a simple JavaScript redirect code that can be pasted inside an If-So trigger. We already have the redirect code ready for you. You can learn more and find it here.

    • Is it possible to block a page from users of a certain country?

      Yes. You can create a conditional redirect to redirect all the visitors from a specific certain to a different page.

    • Can I display the user's name on a website page using If-So?

      Yes, you can achieve this in different scenarios:

      1. If the user is logged in, you can use our User Details Shortcode to display the user’s name.
      2. If the user is not logged in, you can pass the user’s name as a value in a query parameter in the URL and then utilize our Query-string DK shortcode to dynamically insert and display the name. The user’s name can be stored as a cookie, allowing it to be accessed and displayed on different pages as the user continues browsing the website.
    • Can I display conditional pop-ups using If-So?

      Absolutely! Any If-So trigger can be displayed as a pop-up (overlay). The pop-up will only appear if the condition is met. Learn more about it.

      Learn more about creating pop-ups using If-So

    • Is it possible to set up conditional redirects ( redirecting users to different pages based on conditions)?

      Yes, you can set up conditional redirects based on any If-So condition. For a step-by-step guide, click here.

    • Is it possible to create split tests (A/B testing) using If-So?

      Yes.

      While If-So was not specifically designed as an A/B testing solution, the plugin and its built-in analytics can be a valuable option if you are seeking to create simple and fast split tests.

      However, it’s important to note that If-So is not a dedicated A/B testing plugin and that the built-in analysis system primarily tracks conversions based on page visits (e.g., counting conversions when a user visits page X). If you require more advanced and complex split test scenarios, it might be beneficial to explore dedicated A/B testing plugins to see what they have to offer.


    • What is the If-So WordPress Plugin?

      If-So is a code-free, user-friendly, and powerful WordPress personalization plugin that enables you to deliver personalized content, enhancing your website’s engagement, conversion, and sales.

      As the most comprehensive and versatile dynamic content plugin available, If-So offers a wide range of methods to create dynamic and customized content, including:

      And:

      The possibilities for personalization are extensive, with dozens of conditions extensions, and integrations to fine-tune your content delivery.

    • Do I need coding skills to create dynamic content?

      Nope! Coding skills are not required! Dynamic content can be easily set by selecting a condition from a predefined list and specifying the content to be displayed when the condition is met.

    • What parts of the site can I apply dynamic content to?

      You have the flexibility to customize any part of your site, such as titles, text, images, videos, and even menu items. Dynamic content can generally be applied to any field on your site that accepts shortcodes

    • How does If-So work?

      Though If-So offers a wide range of possibilities and advanced features, the basic usage of the plugin is very simple:

      1. Select a condition from a predefined list
      2. Set the content you wish to display if the condition is met (or leave blank if you do not want to display anything).
      3. Set the content you wish to display if the condition is not met (or leave blank if you do not want to display anything).
      4. Paste the shortcode of the trigger to display dynamic content on your website.

      Click here for a video and a detailed explanation

    • Can I use the If-So WP Plugin with any WordPress theme?

      You sure can! We haven’t come across a theme that the If-So WP Plugin can’t work with.

      If you experience any compatibility difficulties while working with your theme, contact our support team to resolve them.

    • Can I use If-So on a multisite WordPress installation?

      Yes, you can.

      Each subsite will require its own license.

      If-So cannot be network-activated. The license will have to be activated separately on each subsite.

    • Which conditions (rules) can I set with If-So?

      If-So provides a diverse range of conditions to choose from, including Geolocation, Google Ads search terms, Dynamic links, Schedule, and many more.

      Explore the complete list available of conditions.

    • How does dynamic content impact website SEO?

      Dynamic content can positively impact SEO success by providing a personalized and engaging user experience.

      We have identified certain best practices and potential risks that you should be aware of when it comes to your site’s ranking. Learn more.

    • Search engines and dynamic content - Which content version will search engines crawl?

      If-So is a server-side solution. Conditions are checked when a page with dynamic content is loaded, and content is displayed accordingly. Only one version of the content is rendered (loaded).

      The content version that search engines will crawl depends on the condition you have set.

      Examples:

      Geolocation – If you have set a geolocation condition, the version that search engines will crawl depends on the actual location of the search bot that crawls your site.

      Returning Visitor – Generally, Google and other search engines crawl the web stateless, i.e., without cookies. Search engines will crawl the version displayed for first-time visitors.

      User Role/Logged-in Users – Search engines will crawl the version displayed for users who aren’t logged in.

      Dynamic Link / UTM Parameters – By default, search engines treat URLs with query strings as a separate page; both the default version and the dynamic version will be crawled. In most cases, it will be wise to set a canonical so that search engines will treat the two versions as a single page.

      Learn more about dynamic content and SEO


    • Does If-So impact page speed or performance?

      In the majority of cases, If-So has a negligible effect on loading speed. However, the impact can vary depending on your server, website structure, and how you utilize the plugin.

      To put your worries at ease, we encourage you to take advantage of our free trial and witness firsthand how If-So performs on your website.

      Try it on your site!

    • How can I Import and Export Triggers?

      To import a trigger: On your WordPress dashboard, go to If-So -> All Triggers, click “Import trigger” (the button is right below the page title), and upload your trigger’s JSON file.

      To export a trigger: On your WordPress dashboard, go to If-So -> All Triggers, hover over the trigger you want to export, and click “Export”.

    • Are there styling options available? If so, how are they accessed?

      If-So uses a TinyMCE editor with both visual and text (HTML) modes so that you can basically set up any content.

      If you are using a page builder and are looking for a more convenient way to design your content, the styling options that are available for you are:

      Gutenberg Users – You can assign conditions directly to a block (or group of blocks) instead of creating dynamic triggers. See how.

      Elementor Users – Save any widget or section as a template and apply it inside an If-So trigger using a shortcode. See how.

      Other page builders – Design your dynamic content in a new page and use the shortcode inside your If-So trigger to display the page content as your dynamic version. See how.

    • How do I enable AJAX loading of content?

      The way you load dynamic content with AJAX depends on your chosen method for displaying it.

      Dynamic Trigger (link)

      • Option 1: Enable the “load with Ajax” setting in the plugin’s configuration.
      • Option 2: Include the attribute ajax=”yes” in the trigger’s shortcode. For example:
      [ifso id="123" ajax="yes"]
      

      DKI Shortcodes (link)

      • Include the attribute ajax=”yes” in the DKI shortcode for the trigger. For instance:
      [ifsoDKI type='geo' show='country' fallback='' ajax='yes']
      

      CSV Bulk (link)

      • Include the attribute ajax=”yes” in the bulk’s shortcode
      [ifso_bulks id='1' column='B' ajax='yes']
      

      Conditional Gutenberg block (link)

      • Enable Ajax for each block individually. You can find the Ajax loading option below the condition.
      Conditional gutenberg block Ajax loading

      Conditional Elementor Element (link)

      • Enable Ajax for each element individually. You can find the Ajax loading option below the condition.
      Conditional Elementor element Ajax loading

    • Can I set dynamic content based on multiple (and/or) conditions?

      Yes.

      While the plugin interface does not provide a built-in option to display a dynamic version based on multiple and/or conditions, you can still achieve the desired outcome.

      OR Logic: Create an If-So trigger with multiple versions. If-So will first evaluate the condition of the first content version and display it if the condition is met. If not, it will proceed to check the condition of the next content version. You can create as many versions as you need. This setup essentially functions as an “or” operator in logic.

      AND Logic: Create two separate triggers and insert the shortcode of one trigger as the dynamic content of the other. If-So will first check the conditions of the initial trigger, and if the relevant condition is met, it will proceed to evaluate the conditions of the second trigger.

      Click here to learn more

    • Is If-So compatible with the Theme Fusion builder?

      Yes! If-So works with any modern page builder. Learn more.

    • Is If-So compatible with Optipress3?

      Yes! If-So works with any modern page builder. Learn more.

    • Is If-So compatible with Brizy (builder)?

      Yes, If-So can be used with Brizy.

      You simply create a trigger with several content versions inside If-So, and paste the trigger shortcode inside a Brizy Shortcode or text element. Upon page rendering, the shortcode will be replaced with one of the content versions you created in your trigger.

      Brizy

      How to design content in Brizy and use it as a dynamic If-So version?

      If-So arrives with a WYSIWYG editor (the classic WordPress editor) that allows simple content editing. If you want to design your dynamic content using the Brizy editor, you can create the desired content in a new page or post, and then apply the content of the page (or post) you created inside the If-So trigger using a simple shortcode.

      Step-by-step:

      1. Create a new page (or post)
      2. Design the page content using the Brizy editor
      3. In an new tab, create a new If-So trigger
      4. Paste the shortcode below In the version content field. Upon rendering, the shortcode will display the page/post content.
        *Make sure to replace “123” with your post/page ID (learn more about the post ID shortcode).
      [ifso-show-post id="123"]

    • Will If-So work with Thrive Architect plugin?

      Yes! If-So works with any modern page builder. Learn more.

    • Is If-So compatible with Oxygen site builder?

      Yes! If-So works with any modern page builder. Learn more.

    • Is If-So compatible with the WPBakery (Visual Composer) builder?

      Yes! If-So works with any modern page builder. Learn more.

    • Is If-So compatible with the Site Origin builder?

      Yes! If-So works with any modern page builder. Learn more.

    • 500 error while trying to edit a page built with SiteOrigin

      If you are using the SiteOrigin page builder and experience a 500 error after publishing a page that contains an If-So trigger, try disabling the “the_content” filter option on the If-So plugin settings page. This should resolve the issue.

      the content filter

    • Does If-So work with Divi Builder?

      Yes, it does, and it’s extremely simple!

      When you create a dynamic trigger with If-So, you will receive a shortcode that you can embed anywhere on your website. Simply paste the shortcode inside a Divi text or code module.  Every time the page loads, one of the trigger’s versions will be displayed based on the condition.

      Can I build content with Divi and use it inside If-So?

      Yes, you can. Here’s how:

      1. Build a layout, section, or module inside Divi.
      2. Save it to the library
      3. Create a new If-So trigger, set a condition, and embed the saved layout using a shortcode.


        There are several ways to enable the option to embed elements from the library using a shortcode. The most simple one is using a free 3rd-party plugin called Simple Divi Shortcode.

      Please note that on the page where the If-So shortcode is placed, the section, row, and text box should have their margins and padding set to 0 all around.

      Do you have plans to create an integration with Divi, similar to the existing integrations with Elementor and Gutenberg?

      We dedicated a considerable amount of time to creating this integration, but we encountered technical challenges related to the structure of Divi. As a result, we had to pause our efforts, but we remain committed to revisiting it in the future.

    • Is If-So compatible with Beaver Builder?

      Yes! If-So works with any modern page builder. Learn more.

    • How can I create content using my page builder and utilize it as a dynamic version in If-So?

      Yes, you can.

      Regardless of which page builder you are using, you can design your dynamic content on a separate page using your builder, and apply the page content into If-So using a shortcode.

      If you are using Gutenberg or Elementor, please check out our conditional blocks/element options:

      Step- by-step guide

      1. Create a new page or post and design the content using your page builder.
      2. Create a new If-So trigger or edit exiting one.
      3. Paste the shortcode below in the version content field:
      [ifso-show-post id="123"]
      1. Replace the ID (123 in our example) with the page/post ID of the page you created.

      How to get your post or page ID?

      To find the post ID, you can open the post using the WordPress editor and check its URL. The post ID is placed between “post =” and “&”.

      image

      Learn more about the Post ID shortcode

      Troubleshooting

      In some cases, if you load the dynamic content using Ajax, some of the modules loaded using this method might not function as expected (Usually modules that involve JavaScript). Learn more.

      elementor logo

      Elementor Users

      Add the parameter type=”elementor” to ensure adequate loading of all elements. For example:

      [ifso-show-post id="123" type="elementor"]
      Divi logo

      Divi Users

      Add the parameter type=”divi to ensure adequate loading of all modules. For example:

      [ifso-show-post id="123" type="divi"]
      WP Bakery logo

      WPBakery Users

      Add the parameter type=”WPB” to ensure adequate loading of all elements. For example:

      [ifso-show-post id="123" type="WPB"]
    • Are there any known issues or limitations?

      No 🙂 We would love to hear from you if you encounter any issues. Please don’t hesitate to click here and create a support ticket. Our team is here to assist you!

    • Is If-So compatible with the Bricks builder?

      Yes! If-So works with any modern page builder. Learn more.

    • Is If-So compatible with the Stackable Page Builder?

      Yes! If-So works with any modern page builder. Learn more.

    • How can I create dynamic content using the Gutenberg editor?

      Here are two possible methods you can use to achieve this:

      1. Creating a Conditional Gutenberg Block: By defining conditions at the block or group of blocks level, you can control their visibility. The blocks will be displayed only if the specified conditions are met.
      2. Setting up a Trigger and Embedding it on a Page: Utilize a sequence of If > Then conditions to determine the content displayed. Based on the defined conditions and their order, a single version of the content will dynamically appear on the page.

      Learn more about creating conditional content using Gutenebrg

    • Which options are available for creating dynamic content using Elementor?

      Here are two possible methods you can use to achieve this:

      1. Creating Conditional Elementor Elements: By defining conditions at the element (or section) level, you can control their visibility. The elements will be displayed only if the specified conditions are met. Learn more.

      2. Setting up a Trigger and Embedding it on a Page: Utilize a sequence of If > Then conditions to determine the content displayed. Based on the defined conditions and their order, a single version of the content will dynamically appear on the page. Learn more.

    • Conditional Triggers - An Alternative Method for Setting Up Conditional Elementor Elements

      In certain cases, you may find it necessary or preferable to create your dynamic content using an If-So trigger instead of directly setting the condition at the element level. This approach can be beneficial for the following reasons:

      • The specific condition you want to use is only achievable through triggers (such as A/B testing, Schedule, and Start and End date).
      • You’re interested in utilizing If-So’s integrated analytics system
      • You want to create a sequence of “If Not” conditions (e.g., If X, then Y; if not, check if Z, etc.)

      When you set up a trigger, If-So first checks the condition of the first content version, if it is met, the version is displayed, if not, it checks the condition of the next content version.

      You can create as many versions as you want.

      image

      The limitation (and the solution)

      One limitation of using triggers compared to conditional Elementor elements is that you cannot directly create your content using the Elementor editor within the trigger.

      For simple text, images, or titles, you can create them directly inside the trigger editor (WYSIWYG editor). The content will automatically adopt the styling of the surrounding element on your page.

      If you need or prefer to create your content using the Elementor builder, you can simply create it on your page, save it as an Elementor template, and then apply the template to the trigger using the template’s shortcode.

      *The same method works if you want to apply the template to the default content field of another element.

      Step-by-step, creating a conditional trigger

      1. On your WordPress dashboard, go to “If-So → Add New Trigger”.
      2. Click on “Select a condition” and select a condition.
      3. Paste the shortcode of the Elementor template into the content field of the respective version
      4. Repeat the above steps if you want to set up more dynamic versions.
      5. Configure a default content that will be displayed if none of the conditions are met.
      6. Press “Publish” and place the shortcode on your desired page to display the dynamic content. You can use a text, title, or shortcode element – all will work effectively.

      Saving content as an Elementor template and applying it to the trigger

      1. Open the page you are editing with Elementor.
      2. Create and design the desired section or element.
      3. Select the section or element and right-click on the “Edit Section” button.
      4. A menu will appear with several options. Choose the “Save as Template” option.
      5. Provide a suitable name for your template and save it.

      Obtaining the Template’s Shortcode

      Elementor Pro users: On your WordPress Dashboard, navigate to “Templates” and select “Saved Templates”, then Locate the desired template and copy its shortcode.

      Free (Elementor) version users: Search for a free third-party plugin, such as Piotnet, that offers similar functionality.

    • Does the Elementor integration work on the free version of the If-So plugin?

      Yes, it does.

      Yes, it does. All the functionality and conditions included in the free version will also work with the Elementor integration (click here for a list of the free vs. pro features).

    • Elementor widgets are not functional while being applied as part of an Elementor template inside an If-So trigger

      Some Elementor Elements (basically, those using javascript) might not work as expected while If-So’s Page Caching Compatibility option is enabled. The elements are applied as part of an Elementor Template embedded inside If-So using the template’s shortcode.

      Luckily, the fix is simpler than describing the problem 🙂

      Simply, paste the code below at the end of your functions.php file.

      wp_register_script( 'ifso-dummy-enqueue-to-attach-to', '',); wp_enqueue_script( 'ifso-dummy-enqueue-to-attach-to' ); wp_add_inline_script( 'ifso-dummy-enqueue-to-attach-to', " document.addEventListener('ifso_ajax_triggers_loaded',function(){ elementorFrontend.init(); });");


    • Content duplication appears at the bottom of the page

      If you are experiencing content duplication at the bottom of the page:

      1. Access your WordPress dashboard and navigate to If-So > Settings.
      2. Locate the “Apply ‘the_content’ filter” option and uncheck it.
      image 7

    • Elementor button element doesn't render shortcodes

      The Elementor button element does not automatically render shortcodes in the “text” field.

      If you wish to include an If-So shortcode within an Elementor button field to display dynamic text on the button, you can add the following code snippet to the end of your functions.php file.

      //Elementor button - render shortcode in URL
      add_filter('elementor/widget/before_render_content',function($el){
          if($el->get_name()==='button'){
              $link_setting = $el->get_settings('link');
              if(!empty($link_setting)){
                  $link_setting['url'] = do_shortcode($link_setting['url']);
              }
              $el->set_settings('link',$link_setting);
          }
      });
    • Problem while loading triggers with Ajax using Elementor dynamic shortcodes

      To prevent Elementor from escaping the output and hindering our triggers from rendering correctly in Ajax mode, you can add the following code to the website’s functions.php file:

      add_filter( ‘elementor_pro/dynamic_tags/shortcode/should_escape’, ‘__return_false’ );

      It’s important to note that Elementor intentionally restricts content rendering using Ajax with a dynamic shortcode for security reasons. Changing this setting doesn’t imply that your site becomes vulnerable to attacks by hackers who are not logged in.

    • Fix: Elementor Videos Not Loading with Ajax in If-So

      If your conditional Elementor video element isn’t loading with Ajax enabled in If-So, add this code snippet to the end of your theme’s functions.php file:

      add_action('wp_enqueue_scripts',function(){ if(!function_exists('wp_add_inline_script')) return; wp_add_inline_script( 'if-so', " document.addEventListener('ifso_ajax_triggers_loaded',function(){ if(document.querySelectorAll('.elementor-video').length<=0) return; var initFrontendIfPossible = function(){if(typeof(YT)!=='undefined'){elementorFrontend.init();return true;}return false;} initFrontendIfPossible(); var interval = setInterval(function(){ if(initFrontendIfPossible()) clearInterval(interval); },1000) });"); },100);
    • Will using the If-So plugin add cookies to my website?

      Yes. Depending on the conditions and functions you choose to use, If-so uses cookies for some of its functionalities.

      All the cookies set by If-So are first-party cookies (added directly by your site) and thus will not be affected by the phase-out of third-party cookies.

      Cookies will only be used once you use a cookie-based condition or feature. Below are the features and conditions that will use cookies:

      Conditions:

      1. Pages visited (cookie name: ifso_page_visits)
      2. New and returning visitors (cookie name: Ifso_Visit_Counts)
      3. Trigger Visited (cookie name: ifso_viewed_triggers)
      4. Geolocation (cookie name: ifso_geo_data; only if you have set the tracking to be using a cookie instead of the default session-based option.

      Features

      1. Recurrence (cookie name: ifso_recurrence_data, ifso_recurrence_session_TRIGGER_ID)
      2. Audiences (cookie name: ifso_group_name)
      3. User Selection (based on the “Audiences” cookie)
      4. Analytics (cookie name: ifso_last_viewed, ifso_viewing_triggers)

      The table below shows the cookies names, description, and when they are created:

      Cookie NameDescriptionWhen is the cookie createdTypeDuration
      ifso_page_visitsUsed to keep track of pages visited by the user. Must be enabled in order to use the Pages Visited conditionThe cookie will not be created and updated if the “Deactivate Pages Visited Cookie” is checked.

      Disabling the cookie will not delete the cookie for users that already have the cookie
      Preferences & FunctionalSet by the site admin on the plugin’s settings
      ifso_recurrence_dataused for the If-So recurrence optionAdded when handling a trigger with recurrencePreferences & Functional3 years
      ifso_recurrence_session_TRIGGER_IDUsed for the If-So recurrence optionAdded when handling a trigger with recurrencePreferences & FunctionalOne session
      ifso_visit_countsUsed for user behavior (new/returning/num. of visits) triggerCreated and updated (increment) whenever an if-so trigger is renderedPreferences & Functional1 year (31,104,000 sec)
      ifso_last_viewedUsed to store the triggers’ “viewed last” for Analytics conversions.Created by default. Can be disabled through the plugin’s settings.Performance & AnalyticsSession
      ifso_viewing_triggersHolds data on triggers viewed on this page for Analytics in AJAX modeCreated by default. Can be disabled through the plugin’s settings (if analytics is turned off or not in AJAX mode)Performance & AnalyticsOne session
      ifso_viewed_triggersUsed for the ‘Triggers Visited’ conditionCreated by default. Added whenever a trigger is viewed. Can be disabled in the plugin’s settingsPreferences & FunctionalOne year
      ifso_group_nameUsed for the feature where a user is added to an audienceAdded only if you use the Groups optionPreferences & FunctionalConfigurable via the settings. Defaults to 1 year.
      ifso_geo_dataHolds the cache for If-So’s geolocation data When the “Disable use of PHP sessions” option is enabled in the plugin’s settings.Preferences & FunctionalSession
      ifso-geo-override-dataUsed for the location override functionalityIf the user selects a location from the listPreferences & FunctionalSession
      cookie ifso-request-browser-location Temporary cookie – indicates pending browser geolocation request on user visitWhen the option ‘Browser-Based Location’ in the plugin’s settings is set to ‘Whenever the user encounters geo-targeted content’ or ‘Every time the user visits the site,’ and the user encounters geo-targeted content, the cookie is deleted after the user chooses to allow or block the browser location option.Preferences & FunctionalSession
      ifso-browser-location-dataHolds the cache for If-So’s HTML5 Geolocation API dataOnce the user’s approval to share their browser location is receivedPreferences & FunctionalSession
      ifso-limited-conversionsPrevents a conversion from being counted more than once within a defined timeframeWhen the user encounters a conversion shortcode that includes the ‘do_once_per’ parameterPreferences & FunctionalSet by the site admin

    • How does If-So processes personal data?

      If-So processes the personal data that is collected through the plug-in as a data processor on your behalf and in accordance with our Data Processing Addendum.

      As such, you (the data controller) are responsible for providing your end-users with a proper privacy notice that covers your use of the If-So plug-in & cookies.

      Learn more about how If-So uses cookies.

    • Where can I find your Data Processing Addendum (DPA)?

      Click here for our Data Processing Addendum (DPA).

    • Can you explain the different plans?

      We provide two types of licenses: Pro and Geolocation.

      • Pro License: Grants you UNLIMITED ACCESS to all conditions and features, except for the geolocation condition, which is limited to 1,000 monthly sessions. A Pro license is NOT REQUIRED if you solely need the geolocation functionality.

      • Geolocation License: If you’re exclusively interested in the geolocation service or if your website requires additional geolocation sessions beyond what is included in the Pro license.
    • Am I limited by monthly sessions?

      No. The only condition limited by monthly sessions is the geolocation condition for which we use a premium IP-to-Location database in order to match the user’s IP to their location.

      If you’re exclusively interested in the geolocation service or if your website requires additional geolocation sessions beyond what is included in the Pro license you can subscribe to one of our geolocation plans.

    • Can licenses be transferred between sites?

      Yes, you have the flexibility to deactivate a license on one site and activate it on another as many times as needed.

    • Can a single-domain license be used in both staging and live environments?

      Each WordPress installation is considered a separate domain. However, you can deactivate a license key in one environment and activate it in another environment as many times as necessary.

    • Do you offer an affiliate program?

      Yes, we do. You can check it out here.

    • How can I download an add-on?

      You can download the add-ons once you are logged in to the site. Each addon can be downloaded from the sidebar of its page (once you are logged in to the site). Visit the add-ons page.

    • Which payment methods are accepted?

      We use PayPal’s secure payment systems. This allows us to accept all kinds of credit cards or direct payments through a PayPal account.

      How can I pay with a credit card?

    • How can I make a payment with a credit/debit card?

      To make a payment with a debit or credit card without creating a PayPal account:

      1. On the checkout page, click the ‘Debit or Credit Card’ button.
      2. Fill in your details.
      3. Toggle off the ‘Save info & create your PayPal account’ button.
      how to pay with credit card
      1. Proceed with the checkout process.

        Still facing issues? ask a pre-sale question.
    • Is a separate license key required for a Multisite WordPress installation?

      In a Multisite WordPress installation, each sub-site requires its own separate license key for activation. Each license activation is counted individually in regard to the license activation limit.

    • Can I upgrade an existing plan?

      Yes, you can upgrade an existing license at any time. Learn how.

    • How can I update my credit card information for billing

      We employ PayPal for secure payment processing, which means we do not store any credit card details on our site.

      If you used a PayPal account for your purchase, you can conveniently update your credit card information by following the steps to replace the card on your PayPal account (how to update your credit card in PayPal).

      If you made a direct payment with a credit card without logging in to your PayPal account, unfortunately, the only available solution would be to create a new subscription. Please contact our support team if this is the case.

    • Does If-So work on a subscription basis?

      Yes. License keys are subscription-based and will automatically renew on a yearly basis, giving you access to support and important updates.

      If you decide to cancel your subscription, you will still be able to use all the pro features – they will keep working forever, but you will no longer receive updates or support once the license key expires.

    • How can I download my invoices and update billing details?

      Invoices of your purchases can be downloaded from your Account area.

      1. Log in to your account. Your user name is the email you used during signup.
      2. Click the Purchases tab (or the Subscription tab if you are interested in an invoice for a renewal payment).
      3. Find the relevant order and click View Invoice
      4. Click “Update” if you want to update your billing details
      5. Print or download the Invoice as PDF

        How to download an invoice

    • Why is my license status showing as "Inactive"?

      The “Inactive” status indicates that the license is valid but has not been activated on any site yet.

    • How Can I Cancel My Subscription

      You can cancel your subscription at any time. To cancel your subscription:

      1. Log  in to your account (the user name is the email you used during checkout).
      2. Click the “Subscriptions” tab3
      3. Next to the subscription you wish to cancel, click “Cancel”
    • Can I get the geo data detected by If-So?

      If-So utilizes an IP-to-location database to determine the user’s location. You can use the geo data detected by If-So for any purpose by implementing the following code:

      require_once(IFSO_PLUGIN_BASE_DIR. 'services/geolocation-service/geolocation-service.class.php');
      $geo_data = \IfSo\Services\GeolocationService\GeolocationService::get_instance()->get_user_location();

      Keep in mind that IP-to-location services (any service, not just ours) are not always 100% accurate. Learn more about IP-to-location services and how they work.

      Want to capture the user’s location using JavaScript? Click here

    • Is there a way to capture the user's country in JavaScript?

      Yes, you can capture the user’s country in JavaScript by using the following PHP code in your theme’s functions.php file. This code fetches the user’s geolocation data and sets it as a JavaScript variable:

      phpCopy codeadd_action('wp_enqueue_scripts', function(){
          if(!defined('IFSO_PLUGIN_BASE_DIR')) return;
          require_once(IFSO_PLUGIN_BASE_DIR. 'services/geolocation-service/geolocation-service.class.php');
          $geo_data = \IfSo\Services\GeolocationService\GeolocationService::get_instance()->get_user_location();
          $ifso_country = !empty($geo_data->get('countryCode')) ? $geo_data->get('countryCode') : '';
          if(function_exists('wp_add_inline_script'))
              wp_add_inline_script('if-so',"var ifso_country = '{$ifso_country}';",'after');
      });
      

      This code will make the user’s country available as a variable named ifso_country in your JavaScript. You can customize this code to capture other geolocation data, such as city or state, by adjusting the values in the code.

    • Can I embed a trigger directly in a page template?

      Yes, you can. Learn more.

    • How do I enable Ajax for a specific trigger that is embedded using PHP (for developers)?

      If you want to enable Ajax loading for a specific trigger that is embedded directly in the page template using a PHP code, you can use the “echo do_shortcode(‘…’);” function

       <?php echo do_shortcode('[ifso id="123" ajax="yes"]'); ?>
    • Are there any limitations when testing If-So in a local environment?

      The only limitation to keep in mind is that the geolocation service will not function properly. This means that dynamic content with geolocation conditions will be treated as if the condition is not met.

      If you wish to set location-based content and preview how it will appear to users when the condition is met, you can make use of the “testing mode” button. This feature enables you to force the display of the specified version, giving you a visual representation of the final result on your site.

      Do license activations in a local environment count toward the total number of license activations?

      Yes, but you have the flexibility to deactivate the license once the development is complete and activate it on another site of your choice.

    • What is my location?

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

      If our service fails to detect your location, please send us an email including your IP and your actual location at support@if-so.com. It usually takes about 72-96 hours for the database to be updated.

      You can learn more here about geolocation accuracy.

      You might be interested

      The locations on this page are displayed using our Geolocation DKI shortcodes. You can do the same on your website using If-So.

    • Is there a limit to the number of versions that can be created?

      No, there is no limit to the number of versions you can create. 

      Adding new versions is possible by clicking the “add a new version” button right below the last version of your trigger and a new box will appear.

      Keep in mind though that  depending on your server and how your site is built, a large number of versions may affect your site it two ways:

      1. At some point (usually after creating at least 30 versions), new versions will not be saved after hitting “Update”. This can easily be solved by increasing the max_var PHP max input var. Learn more.
      2. If you are using a large number of versions, at some point the loading speed of your page will be affected. Usually, around 50 versions, should not be an issue, but regularly checking loading time during the creation of the trigger is a best practice.

      If you have a large number of different versions, we highly recommend using our CSV (bulks) extension instead of a dynamic trigger.