Here are a couple of possible issues and fixes for the Tracking add-on.
Also, check out the common issues on this page.
Table of Contents
Please read this first
To be more performant, Advanced Ads Tracking does not deliver live stats everywhere. Impression and Click counts are only live on the internal and public stats pages, but not on the ad overview or the ad edit page.
You can change the time this cache renews on Advanced Ads > Settings > Tracking > Recalculate Sums.
Impressions too low
If you have the feeling that impressions are too low, then please consider the following ideas:
- Tracking is by default disabled for bots. Bots can make up to over 50% of web traffic, and some statistic tools don’t exclude them. You can enable bot tracking in the settings.
- Double-check your settings. Is the ad visible for all users on all pages where you want them?
- Please be aware that 20 to 60% of website users have ad blockers installed. Blocked ads result in lower ad impressions. But Advanced Ads provides different features to deal with ad blockers. Learn more about it in our ad blocker tutorial.
- There is no tracking tool like the other, so minor differences are very normal.
- Some features, like the limit for ad impressions, are using a cached value for impressions that is not updated for each impression for performance reasons. You can set the update interval on Advanced Ads > Settings > Tracking > Recalculate sums.
Impressions too high
- Tracking is by default disabled for known bots. However, there could still be a large amount of bot traffic unrecognized as such. Switching to the frontend tracking method with AJAX could help in this case.
- Ads that show up in a delayed sticky position or in a popup are tracked even if they didn’t show up unless you choose the AJAX or Analytics tracking methods (a fix for that is intended)
Different Impressions compared to Analytics
If you notice a huge difference between impressions from ads and page impressions in your page analytics (e.g., Google Analytics) you should be aware of a few things:
- only compare impressions of pages with ads that are reliably on those pages all the time (e.g., without visitor conditions)
- be aware of the differences between the tracking methods
- e.g., track on load could count every visitor, even bots and therefore result in much higher ad impressions
Clicks not tracked
Please make sure that you have set up the target URL like described in the documentation (section Click target URL).
In a nutshell:
- The URL you want to link to must be inserted into the URL field in the ad parameters box of the single ad
- If you already have a link within the ad code (especially in Rich Media or Plain Text ad type) you need to replace the value of the href attribute with %link% .
Moving your blog
If you are using the frontend tracking method and move your blog to another URL (e.g. after moving from development to production environment) you need to save the Advanced Ads settings again.
Tables not created
If you get a warning that the tables are not created, please disable and enable the plugin again. If that doesn’t help, please try to create them manually using the SQL query below. You might have to adjust the table prefix from wp_ to yours before using the query.
CREATE TABLE `wp_advads_clicks` ( `timestamp` int(10) unsigned NOT NULL, `ad_id` int(10) unsigned NOT NULL, `count` mediumint(8) unsigned NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; CREATE TABLE `wp_advads_impressions` ( `timestamp` int(10) unsigned NOT NULL, `ad_id` int(10) unsigned NOT NULL, `count` mediumint(8) unsigned NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; ALTER TABLE `wp_advads_clicks` ADD PRIMARY KEY (`timestamp`,`ad_id`); ALTER TABLE `wp_advads_impressions` ADD PRIMARY KEY (`timestamp`,`ad_id`);
In case your tables don’t support utf8mb4, try utf8.
Enable the debug mode if you want to analyze which, where and when impressions and clicks are tracked.
Just enter the following line into your wp-config.php file.
define( 'ADVANCED_ADS_TRACKING_DEBUG', true );
You can also just track impressions and clicks for a specific ad by defining the constant with the ad ID as a value.
define( 'ADVANCED_ADS_TRACKING_DEBUG', 34 );
Please make sure to disable this logging and remove the log file after you are finished since it takes extra performance.
It might be useful to also log page impressions in this log file in order to find out if there are specific pages or user agents that don’t see ads. You can use this plugin to add page impression logging to the debug file. Follow the instructions in that plugin to set it up.
Google Analytics tracking
You can debug Analytics tracking in your browser error console.
Go to the Network tab, filter the XHR requests and look for batch.
In the Headers section, you should scroll down to Form Data, which list all calls, the ad name, IDs, etc.
There can be multiple calls to the batch script, one for cache-busted ads and for non-cache-busted.
Issues with email reports
If email reports are sent too often or at the wrong time, disable the Tracking plugin and re-enable it again. This will reset the cron job that schedules the report.
You can check the status of the cron jobs using the Crontrol plugin. After enabling the plugin, go to Tools > Cron Events and find advanced_ads_daily_email for the full report and advanced_ads_daily_report for the individual ad reports. You can trigger them manually for debugging.
Please notice that no ad reports are sent if you only use the Google Analytics tracking method.
Please also check if cron jobs are executed on your site at all. The mentioned Crontrol plugin can also help you with that since it lists the time when all cron jobs were last executed.
For further debugging of the reports cron jobs, you can enable the cron debug file by adding the following line to your wp.config.php.
define( 'ADVANCED_ADS_TRACKING_CRON_DEBUG', true );
This will log all cron activity under