Manage and optimize your ads in WordPress with this easy to use and extendable plugin.
|Author:||Thomas Maier (profile at wordpress.org)|
|WordPress version required:||4.6|
|WordPress version tested:||5.0|
|Added to WordPress repository:||23-06-2014|
|Total downloads:||1 626 583|
|Active installs:||80 000+|
Click to start download
Placements that let you inject ads anywhere into your site without coding (7 in Advanced Ads + 14 through add-ons).
Support for all kinds of ad types, including dedicated AdSense type. AMP is included in the Responsive add-on.
Flexible ad input with the Plain Text ad type and code highlighting.
Align your ads within the content.
Dynamically change AdSense ad options in your WordPress backend.
Choose where to display your ads using many conditions.
Use various conditions to choose who should see ads (basic plugin and more in add-ons).
Track impressions and clicks (Tracking add-on).
Convert AdSense ads into AMP automatically (Responsive add-on)
How to put ads on WordPress?
You can use Advanced Ads to insert ads into your WordPress site without any coding.
To get started, just take a look at
- the general first ad tutorial
- using AdSense Auto ads in WordPress
- the AdSense overview page.
- Ads not showing up? Take a look here.
What about my users’ privacy and GDPR?
You can show ads only to visitors that give their consent. See GDPR support.
Advanced Ads itself does neither save personal information (e.g., an IP address) in your database nor cookies in the visitor’s browser.
Third party services like Google Analytics are disabled by default.
You can learn more about how Advanced Ads and its add-ons handles data and privacy of your visitors on this page.
Which ad networks are supported?
Advanced Ads is compatible with all ad networks and banners from affiliate programs like Google AdSense, Chitika, Clickbank, Amazon, and also Google Ad Manager (Google Double Click, DFP), media.net.
You can also use it to insert additional ad network tags into header or footer of your site without coding.
AdSense has even a dedicated ad type leveling the specific options this ad network provides.
PHP functions and shortcodes
You can use functions and shortcodes to display ads and ad groups.
The integers in this example are the IDs of the elements.
Use these shortcodes to insert an ad or group into your post/page.
[the_ad id="24"] [the_ad_group id="5"]
Use these functions to insert an ad or ad group into your template file.
<?php the_ad(24); ?> <?php the_ad_group(5); ?>
In addition to directly displaying ads and groups you can define ad placements and assign either an ad or group to them.
[the_ad_placement id="header-left"] <?php the_ad_placement('header-left'); ?>
Is there a revenue share?
There is no revenue share. Advanced Ads doesn’t alter your ad codes in a way that you earn less than you would directly including the ad code in your template.
Can I place ads directly in my theme files?
Yes. I would add a “Manual” placement into your theme files. It would allow you to change the displayed ads or groups later without changing your code again.
Does it work with other ad plugins?
Yes. Advanced Ads can be combined with other ad plugins.
Just use their shortcodes in our “Rich Media” ad type to combine both features.
Works with AdRotate, Ad Inserter, Ad Injection, Quick AdSense, Quick AdSense Reloaded (WPQUADS), Simple Ads Manager, and other plugins.
Can I use Flash ads?
There is a dedicated Flash ad type in Pro.
Is the plugin compatible with page builders?
Yes. It works out of the box with all site builders that allow shortcodes or widgets, like Elementor, SiteOrigin, Beaver Builder, WPBakery Page Builder (formerly Visual Composer), and others.
There is also a free add-on to support the WPBakery Page Builder (formerly Visual Composer).
Will ads show up for ad block users?
Visitors who have any ad blocker (e.g., AdBlock Plus) enabled won’t see ads from known external sources (e.g., AdSense).
You can still monetize those spots with custom content.
Read more about ad blockers and the features Advanced Ads has to deal with them on this page.
Does the plugin supports an ads.txt?
Google AdSense and some other networks ask you to provide an ads.txt. You can create and integrate this file easily with this plugin.
I am a developer. Can I customize the plugin?
Yes. Advanced Ads is based on WordPress standards and therefore easily customizable using either WordPress hooks or the ones we defined here.
- added function that allows Advanced Ads Pro to prevent script optimizing plugins to break ad codes
- fixed JS conflict for plain text ads using PHP or shortcodes
advanced-ads-frontend-prefixto adjust the frontend prefix dynamically
- placement position set to center does cause selected ad to be placed to the left
- fix ads within multiple groups not being saved
- new ad block works with WordPress 5.0
- show hint when shortcode or PHP options are enabled, but not needed
- fixed long group pages not being saved
- fixed AdSense Auto ads check in the Ad Health bar giving false positives
- show hint if Auto ads are enabled
- allow responsive Adsense ads with custom sizes to be floated
- show an advice if user does not have permissions to edit ads
- fixed AdSense key overlay not accepting copy&paste in Safari and Firefox
- reverted code optimization that broke some forms
- fixed HTML issue with paragraph index when saving the placement page
- improved list of ads imported from AdSense account
- use width and height ad settings for image ads if they differ from the entered sizes
- added option column with shortcode to the ad list. It is optional. Go to “Screen Options” at the top right of the ad list page to enable it
- show warning if AdSense Auto ads code is used in ad code field
- added a warning if Advanced Ads constants are enabled
- extended “Transparent Background” option for AdSense to fix a border they have in some themes
- removed ad block counter code when not used
- updated add-on updater class
- added a warning about floated responsive AdSense ads
- fixed posts instead of ads showing up on the ad overview list caused by 15zine theme
- fixed translation issue that caused Italian sites to not save ads properly
- removed unneeded language files since they are now hosted on wp.org
- removed filter for paginated ad list since it was unintentionally broken by third-party plugins
- fixed compatibility with Q2W3 Fixed Widget that gone missing with last update
- fixed issue with JNews theme which produced a widget ID that is blockable by ad blockers
- fixed second page on ads overview showing the same results as the first
- fixed issue that caused some items to vanish on admin pages without screen ID
- fixed issue caused by wrongly registered third party taxonomies
- fixed conflict on ad list with plugins going an extra query, e.g., Elementor
- added PHP version check to new AdSense connector (5.4)
- added AdSense integration
- added sub menus to setting pages
- added name to taxonomies in Display Conditions if the same label is repeated
- added clearfix option to fix possible layout issue with AdSense responsive ads
- removed title attribute from image ads
- plugin update warning now only appears for Advanced Ads plugin and add-ons
- rewritten filters on ad list to work with all ads not just those on the current page
- allowed to create new placement with same name
- fixed issue with license activations on sites using the Multilanguage by BestWebSoft plugin
- fixed duplicate queries in backend
- fixed possible conflict between assets created by the Ad Blocker module
- added Privacy module to hide ads until consent is given, see new Privacy settings
- prevented entering 0 in the position index field of the Content placement
- compatibility between Elementor plugin and Content placement
- made Ad Health available to all users that can edit ads
- hide dashboard widget for user roles that can’t edit ads
- don’t use wrapper when using the “Header Code” placement
- compatibility between Responsive add-on and “WP AMP Ninja” plugin
- added ad block that works with Gutenberg version 2.8.0
- allowed to use uppercase letters in wrapper ID
- do not count cache preload features of caching plugins as bots
- removed orange border for just updated placements since it implicated that there was something wrong
- use AnonymizeIP by default for ad block counter feature
- remove “ca-” from AdSense publisher ID dynamically if entered by accident
- fixed possible content breaking by empty Content placement
- fixed issue with Pagination condition in Pro
- fixed minor license check issue
- fixed issue with legacy value for the Unlimited Ad Injection option
- prevent possible issue with empty groups
- show only 1 ad in groups by default
- fix for loading the wrong plugin language in WP Admin
- added helpful advice when license activation was blocked by firewall
- made ads for ad blockers (Pro) work when Google Analytics ID is not set
- prevented Google Custom Search tags from breaking with content injection
- added code to fix Analytics tracking in Tracking add-on for multisites loading an ad from another blog
- prepared for repeating content ad injections in Pro
- minor backend fixes
- fixed issue for new installations
- updated labels and links for AdSense Page-Level ads and QuickStart since both are now combined as “Auto Ads”
- added link to create new AdSense account
- removed “Remove Widget ID” option. No longer needed after fixing a compatibility issue with Q2W3 Fixed Widget plugin
- prepared for Pro feature to repeat an ad multiple times by injecting it into the content
- fixed minor conflict caused by Bridge theme
- fixed links to support page
- fixed possibility to create an infinite loop by adding an ad (type: group) to a group which it represents
- fixed issue when rebuilding Ad Blocker file folder and using not direct filesystem method
- moved support page into a tab on the settings page
- show link to assigned ad and ad group on placement page
- dynamically adjust available ad weight in a group depending on the number of ads
- added option to interpret shortcodes in plain text ad type
- specified some of the warnings on settings page
- fixed ‘Display only once’ feature when used together with Content placement
- added more checks for conflicting plugins
- show critical warnings also on settings page
- reopen placement options that were opened last when saving the placement list
- added check for missing PHP extensions
- updated label for bot detection setting and warn, if current user is bot-like
- minified ad block counter code in frontend or remove, if not used
advanced-ads-ad-image-tag-stylefilter to adjust image ad style
- fixed images not being centered when in a placement
- added “placement_has_ads” and “group_has_ads” functions to test if a placement/group has not empty output
- allowed to rotate ordered ads with same weight
- show warning if Page-level ad code is used for AdSense ad type
- delayed Ad Health checks for hidden AdSense ads
- added fix for WooCommerce store page to work with Specific Pages condition
- prepared for more AMP features in next update of Responsive add-on
- fixed bug when old version of Tracking was running
- updated review message
- prepared for upcoming fixes for Pro add-ons with WP Rocket defer option
- fixed index issue
- fixed issue introduced to some ad types with last code highlighting support update
- fixed layout issue on sites with ‘Right to Left’ locale
- ignore content and excerpt when searching for a post in the Specific Pages condition
- use code highlighting by default for plain text ad type
- fixed newsletter signup form
- fixed bug that shows install message for Genesis add-on even if already installed
- prevent ad injection on BuddyPress image upload pages
- added more Yandex bots to bot check
- compatibility with iOS 9.3
- improved security of WP Admin forms and AJAX requests
- added translation notice
- fixed publish date showing up for newly created ads
- fixed issue when searching for post IDs in the “Specific Pages” Display Condition
- linked the new AdSense In-feed add-on where needed
- optimized settings page layout
- process Advanced Ads shortcodes correctly when they are nested inside Rich Content ads
- added option to make AdSense background transparent
- only show missing the_content filter warning if relevant
- show Ad Health warning if current user looks like a bot
- fixed showing correct group type options
- added Ad Health warning if ads are disabled in the frontend
- fix for Wizard navigation
- added option to disable AdSense-related Ad-Health warnings
- fixed search for terms with numbers in them
- added check for hidden AdSense units
- added warning that AdSense InFeed and InArticle ads can’t be aligned left or right
- fix to feedback form
- added option to analyze the number of visitors using an ad blocker
- exchanged Dummy ad image and URL to something more neutral
- compatibility with PHP 5.2
- use margin: auto to center reserved ad space
- renamed Groups menu item to also mention “Rotations”
- do not execute shortcodes of the current ad in its own content
- updated first-ad video tutorial link
- fixed wizard skipping a step after being stopped and reopened
- fixed wrong scheduled time displayed on ad overview list
- hotfix for PHP below 5.4
- fixed HTTPS warning showing up for links
- optimized Wizard – fewer steps and less clutter
- added more options to the placement box after a new ad is saved
- load dashboard widget using AJAX
- show a warning in Ad Health if an ad contains HTTPS, but the site is using HTTP
- fixed problem when multiple add-ons were updated at once
- added “Taxonomy” Display Condition
- display arrow if an Ad Health message is a link
- removed “jQuery not in Header” warning after we fixed all known issues
- renamed and updated add-on updater class to use SSL only
- updated pt_BR translation
- added Japanese translation
- replaced “Cheatin’ uh?” message with something useful if user role does not have required permissions
- prevent output of Adsense ads on AMP pages if they are not converted to AMP-format with Responsive add-on
advads_is_ampfunction to fix ad injections on AMP pages
- implemented a simple ad block counter with Google Analytics
- fixed Content Age condition
- fixed group options not changing correctly when switching types
- added support for new AdSense InFeed and InArticle ad codes
- create a new ad group on group page
- add group wrapper even if the group was not edited on the group edit page
- add the ‘advanced-ads-output-wrapper-after-content-group’ filter
- removed unused MarketPress license code
- removed debug page
- removed license expires notice
- updated composer
- updated translation files
- fixed issue with inheriting settings of ad group ad type
- removed PHP notice in Import feature
- new Content Age display condition added – display ads based on post age
- allow to enable/disable ad label for each placement
- complete rework of group and placement options
- added Dummy ad type
- show AdSense code form inline instead of in a popup
- optimized workflow in wizard to show only relevant information
- select draft, pending and future posts in the Specific Pages condition, too
- warn if QuickStart ads from AdSense are loaded
- show ads on AMP pages for all bots
- properly escaped output of image ad title and alt attribute
- removed description field from groups since we have never seen this being used, let us know when you need it though
- updated all translation files
- fixed wrong month names in translated versions of the ad overview list
- fixed with small image ads not appearing on AMP pages
- fixed missing and wrong textdomains
- fixed search for single digit IDs in Specific Pages condition not working
- added explicit “link ads” AdSense type with normal and responsive format
- included link to AdSense types manual
- optimized bot check
- removed TinyMCE security features from links added to the rich media ad type to not break affiliate links
- fixed error appearing when image of an image ad does not exist anymore
- fixed wizard not going to ad parameters box automatically after selecting ad type
- fixed issue with shortcode button that caused some page builders and scripts to break
- fixed saving settings on multisite sub-blogs
- applied fix to updater class
- fixed basic fix function needed for Sticky ads
- fix a warning that appears when wp admin bar is missing.
- added option to also consider elements in containers for ad content injection
- show warning in Ad Health bar when not all ads could be injected
- added logic to display ad specific warnings and possible conflicts
- added warning to disable shortcode button or ad blocker in order to use the visual editor for posts
- reapplied user capabilities to create or edit ads to make sure they are never wrong
- added warning about left and right position not working with responsive AdSense units
- edited feedback form
- add ad/group wrapper, if needed
- fixed jumping “more terms” button in taxonomy conditions
- updated local storage script
- fixed issue causing passive-cache busting and layer not to work together
- check if local storage is supported by the browser, if needed
- use flexbox layout for longer input fields in conditions
advanced-ads-admin-max-termsfilter also for limit in author condition
- updated EDD Updater Class for add-on updates
- fixed error message when all placements were removed
- fixed adblock disguise folder not working correctly on https pages
- use the same ad block disguise settings for all sites in a multisite
- update to advanced.js to allow injection into hidden elements
- fixed group options being overridden, when filtered groups are being saved
- fixed missing attribute for responsive Matched Content ads
- fixed issue with MarketPress license check
ADVANCED_ADS_DISABLE_SHORTCODE_BUTTONconstant to wp-config.php in order to remove the shortcode button from the TinyMCE interface
- don’t move ads into hidden elements
- set license key fields to readonly after updated
- show “reserve ad space” only for ad types where it makes sense
- using WordPress Filesystem to create ad block disguise folder
- disable page level ads on pages where all ads are disabled
- hide double compatibility warning with cache-busting in Advanced Ads Pro
- hide warning about unexcaped
- added helpful links when download of an add-on failed
- set active license key fields to readonly
- bundles add-on related functions into one class
- updated Spanish translation
- added Vietnamese translation
- allow Unlimited Ad Injection setting to specify the number of posts in the loop to show ads
- allow to override specific options in functions and shortcodes
- added feedback form on deactivation
- fixed Visitor Conditions connector being saved wrongly first
- fixed ads not appearing on AMP pages
ADVANCED_ADS_ENABLE_REVISIONSconstant to allow revisions for ads
- fixed wrong output after using quick edit in the ads list
- fixed custom position logic to not leave critical errors when localStorage is disabled
- fixed update checks on every admin page impression due to W3TC object cache breaking transients
- fix for class name sensitive systems and Tracking autoloader
- better highlighting of AND and OR connectors in display and visitor conditions
- removed general conditions as default from display conditions
- highlighted video and manual links for conditions
- show is_home and is_front_page as the same item in ad debug mode
- show warning if plain ad code contains HTTP, but the website is using HTTPS
- added notice if add-on licenses expired to plugin page
- changed “mobile device” into “device” condition with better option descriptions (mobile + tablet | desktop)
- changed “Post Content” placement label into “Content” since it is used for all post types
- hide manage ads link in dashboard widget from users who can not edit ads
- fixed dependency issue with Tracking add-on
- fixed dependency issue with AJAX cache-busting
- fixed missing scripts for ad block disguise
- added filter to change General display conditions set
ADVANCED_ADS_AD_DEBUG_FOR_ADMIN_ONLYin order to allow only admins to see ad debug mode
- only check once per day for add-on updates
- fixed one support link
- fixed multiple add-on update checks
- fixed error message when ad group is empty
- highlight ads in the frontend through the “Ad Health” options
- check if PHP DOM module is enabled and warn in “Ad Health” if not
- added DFP debug link to “Ad Health”
- added button to check Add-On license keys for changes
- extended ad debug mode with more information
- restructured support page to reach helper more quickly
- fixed header ad bug
- fixed compatibility issues with Yoast SEO, WPML, and Jetpack
- confirmed working with Divi Themes and NewsMag