Press enter to see results or esc to cancel.

Troubleshooting

Free Ad Inserter can be installed from WordPress. It contains practically all of the insertion functionality of the Pro version. Before you purchase license for Ad Inserter Pro please check whether free Ad Inserter can be installed on your website, it works as expected, you are not experiencing issues and it fits your needs. If free Ad Inserter does not work, Ad Inserter Pro will also not work.

Ad Inserter Troubleshooting

If you are having issues with the free Ad Inserter please use Ad Inserter WP support forum and ask for help or advice there. Some common issues are also described here.

PRO Ad Inserter Pro users can also contact us and ask for help.

Plugin Upload Fails

Ad Inserter Pro must be installed from the file. You get the download link when you purchase the license. In some cases WordPress will not allow you to upload the plugin. This is very likely because your web hosting has set limitations on upload file size. In such case you can do one of the following suggestions:

    • Upload the plugin manually with FTP 
    • Contact your hosting company to install the plugin for you.
    • Contact us and provide WordPress admin access and we’ll install the plugin for you.
    • Increase the upload file size limit – In the folder /wp-admin/ create file php.ini with the following content:
    upload_max_filesize = 64M
    post_max_size = 64M

    Fatal Error

    You may get this error while trying to activate Ad Inserter Pro: 

    Fatal error: Cannot redeclare nnn (previously declared in /wp-content/plugins/ad-inserter/ad-inserter.php:xxx) in /wp-content/plugins/ad-inserter-pro/ad-inserter.php on line xxx

    Follow the instructions and deactivate and uninstall free Ad Inserter before activating Ad Inserter Pro (settings will remain in the database).

    Ads Not Displayed

    One of the common problems is that you don’t see the ad displayed where you expect it. In such case you should check the following:

    If you are using caching, the inserted code may not appear immediately on the page. Make sure you have disabled caching when you are testing or debugging. Some caching plugins like WP Super Cache have an option to disable caching for known users.

    If you are using caching some settings may not work as expected. For example, ad rotation, server-side list checks and server-side device detection work only when the page is generated and Ad Inserter is called. Check Caching for details.

    Check if ad blockers are disabled. Ad blockers block (prevent showing) of all kind of ads. You can use debugging function Ad Blocking Status (when ad blocking detection is enabled) to see ad blocking status.

    ad inserter ad blocking debugging status

    Check if the ad code is inserted. This can be done either by examining the source code of the page (make sure caching is disabled) or with debugging function Label Blocks. If the code block is inserted (you see block label with block name) then Ad Inserter works as expected, just the code doesn’t display anything – you should check the code or ad network.

    ad inserter debugging labeled blocks

    Sometimes checking browser’s Javascript console may show error messages that can indicate the reason for no ads or blank ad blocks.

    If the code block is not inserted then you can use debugging function Log Processing that can help you to diagnose the problem – the reason why some particular block was not inserted. Check page source at the bottom – Ad Inserter processing log is appended as HTML comment.

    If you are using AdSense you may get blank (empty) ad blocks. This might be because there is some error in the code (wrong IDs), your AdSense account is not fully approved yet, ad serving for the website is not enabled yet, your website was not accepted or your AdSense account is banned. In most cases once Google approves your account you’ll get ads. You can also try Media net ads as good alternative for contextual ads, infolinks ads to complement existing ads or contextual in-stream video ads.

    Media.net

    Infolinks

    Shortcodes Not Working

    Ad Inserter supports shortcodes, however, there are many possible reasons why shortcodes are not working. Please carefully check possible reasons listed below. When you place a shortcode somewhere, the theme (or WordPress in some cases) MUST PROCESS those shortcodes, i.e. call WordPress function do_shortcode () in order to call plugins for each type of shortcode. If the theme does not process shortcodes then plugins including Ad Inserter will not be called and will not be able to expand shortcodes.

    Possible symptoms:

    1. Ad Inserter shortcodes like [adinserter block="N"] are not expanded into block code, you see unprocessed shortcode [adinserter block="N"]. Possible reasons:
      • Ad Inserter plugin is not activated.
      • The theme (or WordPress) does not process shortcodes where you have used them.
    2. Ad Inserter shortcodes like [adinserter block="N"] are empty.
      • Shortcode for block N is not enabled. Make sure shortcodes are enabled for this block (button Manual).
      • Shortcode inserts block code, but the code doesn’t display anything. Use debugging function Label blocks to check if this is the case.
    3. Shortcodes from other plugins used in Ad Inserter blocks are not not expanded, you see unprocessed shortcode. 
      • Plugin that should process your shortcodes is not activated.

    If Ad Inserter is not activated then it can’t process [adinserter] and [ADINSERTER] shortcodes.

    By default, WordPress does not support shortcodes within Sidebar Widgets until 4.9. It only expands the shortcodes within the content of a Post, Page, or custom post type. To add shortcode support to sidebar widgets, you can install a plugin.

    In the case your theme does not process shortcodes where you would need them you can still use other insertions, for example, insertion before or after HTML element to insert code there.

    Settings Page Blocked

    ad inserter page blocked

    First thing to check is Javascript console in the browser. Errors are the first indicator of what might be wrong. Some themes like to add async or defer tags to javascript files. This changes execution order of the scripts needed by Ad Inserter and you may get errors or partially loaded page. Your theme or other plugins SHOULD NOT MODIFY the code generated by Ad Inserter! Most of the scripts used are loaded from the bottom of the page and the order of script execution is important for the code to work properly.

    Make sure your theme does not add async or defer tags to javascript files.

    Some Ad Blockers and security plugins may also block Ad Inserter settings page. If you don’t see normal tabs for code blocks or there is no save button, make sure you have white-listed Ad Inserter settings page.

    You also get this warning when the settings page was not loaded properly due to some Javascript error. Check Javascript console in your browser.

    Code Editor on Mobile Devices

    Text selection, Copy and Paste functions with the syntax highlighting editor do not work on mobile devices. If you need these functions you can temporarily switch to Simple editor using the button above the code box.

    ad inserter simple editor

    Incompatible file loaded

    ad inserter incompatible javascript

    You may get such warning if wrong (old) javascript or CSS file is loaded. In such cases clear browser’s cache and all other caches used and reload the page (e.g. with Ctrl F5). Please note that the Javascript file and CSS file are part of the plugin and are needed only for the settings page.

    Caching on the backend side (Ad Inserter settings page) may also cause some unwanted behavior if it is not done properly. The problem can occur when the plugin is updated since the new plugin also provides new javascript and CSS files. In order to prevent browsers from loading old js/css files the plugin appends version info as query parameter to js and css files needed.

    For example, in the source code of the settings page it should be like this (note parameter ?ver=2.0.1):

    <script type='text/javascript' src='http://example.com/wp-content/plugins/ad-inserter/js/ad-inserter.js?ver=2.0.1'></script>
    <link rel='stylesheet' id='ai-admin-css' href='http://example.com/wp-content/plugins/ad-inserter/css/ad-inserter.css?ver=2.0.1' type='text/css' media='all' />
    

    However, on some websites this version parameter is removed (very likely due to aggressive caching) and this may cause problems:

    <script type='text/javascript' src='http://example.com/wp-content/plugins/ad-inserter/js/ad-inserter.js'></script>
    <link rel='stylesheet' id='ai-admin-css' href='http://example.com/wp-content/plugins/ad-inserter/css/ad-inserter.css' type='text/css' media='all' />

    Because of this the old cached files (css and js) are loaded which cause warnings and unpredictable behavior.

    If you are using caching make sure the caching software DOES NOT REMOVE VERSION INFO (QUERY STRING) parameter from the urls on the settings page. This is needed for browsers to reload the file when the plugin is updated and version changed.

    Possible caching utilities that might affect query strings:

    • Cloudflare: Caching level / Deselect Ignore Query String as it may remove query strings
    • W3 Total Cache: Uncheck Browser cache / Remove query strings from static resources (although it should not cache backend settings page)

    Ad Blockers

    There is no way to prevent Ad blockers. But they do not block Ad Inserter directly, they block the code you are inserting. There are to ways to try to avoid blocking:

    • In Ad Inserter settings you can rename (or remove) class name for the wrapping divs. This way it would be difficult to detect Ad inserter code blocks. Of course, inserted code could still be disabled by ad blockers. You can also use No wrapping style and your code would be inserted as it is. Again, ad codes would still be blocked, but any other “non-advert” code would not be blocked.
    • In the case there is some wrong blocking of non-advertising code (false positive) you can write to list creators to make an exclusion (more or less general) – these lists are used by ad blockers. One such popular list is https://easylist.to/
    • However, the best option for ad blocker users it to serve alternative ads for them (such ads that will not be blocked, maybe some affiliate banners). PRO Ad Inserter Pro supports replacement of ads when ad blocking is detected.

    Heavy website load

    Ad Inserter is built for speed. In normal cases it should not significantly increase page loading time. Of course, if you are using many code blocks this may increase processing time but still it should not cause any problem. In some cases the cause for long loading time may be processing of your PHP code used in some code blocks or slow loading of external files needed by the ad codes you have inserted.

    Slower page load may not be only because of plugin processing, the code you are inserting may also increase page load time – look for render-blocking scripts

    However, it is very easy to determine how much time Ad Inserter uses to insert the code. Log in as admin and go to a page where you would like to check Ad Inserter processing time. Enable debugging function Log Processing and check page source code at the bottom. Among other debugging data you should see the following lines:

    PLUGIN CODE PROCESSING: 81.55 ms
    USER CODE PROCESSING: 210.08 ms
    TOTAL PROCESSING TIME: 291.63 ms

    PLUGIN CODE PROCESSING time is the time used by the plugin to insert code blocks – this is the time that Ad Inserter itself actually adds to the page loading time (when the page is not cached).

    USER CODE PROCESSING time is the time used to process your PHP code in Ad Inserter code blocks. If you are not using PHP code then this time should be 0.

    TOTAL PROCESSING TIME is the total time used by the Ad Inserter plugin to process your PHP code and to insert the all the codes into the page.

    Check How to optimize plugin settings for some suggestions and advices.

    Are you sure you want to do this? The link you followed has expired.

    You usually get page with this message when the admin page hasn’t been loaded for a while, the security token on the settings page expired and you are trying, for example, to save the settings. In such case simply refresh the page, make changes and save them again.

    You may also get this message when WordPress encounters some error, for example when uploading fails because of too big file or when there are Javascript errors on the settings page. Refreshing the page should help.

    PROLicense Expired

    ad inserter pro license expired

    This message means that the license for Ad Inserter Pro has expired. The plugin will continue to function normally, only the updates will not be available anymore and you will not be eligible for support via email. Go to Plugins management page (/wp-admin/plugins.php) and click on Renew License to go to the page where you can renew or upgrade and extend the license.

    Previous versions of the plugin may not be secure or stable and may cause compatibility issues with newer WordPress versions. Make sure you are using the latest version to avoid issues and to have email support available in the case you’ll need it.

    PROLicense Overused

    ad inserter pro license overused

    This message means that you are using Ad Inserter Pro on more websites than what you are allowed according to the license type purchased.

    You are authorized to install Ad Inserter Pro WordPress plugin purchased here according to the license type purchased. Each license type defines the maximum number of websites on which the Ad Inserter Pro plugin can be installed. If you install the plugin on more websites than allowed by the license type, each website using your license key will show a warning of license overuse and updates will be disabled. When license overuse occurs you need to either uninstall the plugin from some websites or upgrade the license type. We also can not guarantee proper functioning of the plugin when the license is overused and we reserve the right to refuse support in such case.

    A license is required for each WordPress installation that has the plugin installed. This means that each website that manages and updates plugins needs a license. Of course, this assumes that each WordPress installation is accessible through only one domain name. For example, typical website can be accessed either via example.com or via www.example.com and not via both domain names at the same time – you should redirect one domain name to another also for SEO purposes. Otherwise each domain will consume one license.

    For licensing purposes, a Multisite installation counts as one site. Even if your Multisite network contains hundreds of sub-sites, it will only take up one site slot of your license as only the main site manages and updates the plugins.

    Click on the upgrade the license text to go to the page where you can upgrade the license. In 24 hours after you upgrade the license the warning should disappear. Of course, you can also uninstall the plugin on some of the websites in order to keep the usage according to the license type. In such case please contact us.

    Please note that if you are using www subdomain and you have www.example.com and example.com domains you need to redirect one domain to another (preferably www to non-www). Otherwise both domains will behave as independent websites and will consume one license each.

    After you have fixed the issue with the licenses it may take up to 24 hours for the websites to update plugin status and remove the warning. You can force the update by going to /wp-admin/update-core.php?force-check=1