WordPress Ad Manager & AdSense Ads – Ad Inserter
Ad management plugin with many advanced advertising features to insert ads at optimal positions.
Supports all kinds of ads including Google AdSense ads, Google Ad Manager (DFP – DoubleClick for publishers) ads, contextual Amazon Native Shopping Ads, Media.net ads and rotating banners.
Ad Inserter can insert ads where other plugins fail.
It’s all about the settings.
Average Rating: 5 out of 5 stars – check Ad Inserter reviews
One of the best adsense plugins …
Most comprehensive Ad plugin available …
Better than the old Google adsense plugin …
The best WP Ad management plugin …
Very flexible and excellent documentation …
Excellent Ad Plugin …
Easy to use and also does more than I need …
Exactly what I needed to sell advertising spots …
Awesome Plugin and Super Support! …
Lots of options and easy to use …
Crazy flexible …
Great plugin that makes it simple …
Superb Plugin and Support team also so good …
Best in same kind of plugins …
Must Have Plugin for Each WP Site …
Best Ad Placement Plugin …
Best Solution for Advertisement Management …
Comprehensive, flexible and well supported …
God bless these guys! …
PRO for Free …
Looking for AdSense plugin with simple setup for ads at best positions? A plugin for Amazon ads and Google Analytics code in the header?
Features – check documentation for the complete list
Enable AdSense integration and get powerful AdSense plugin
Support for Google Ad Manager (DoubleClick for publishers) ads
Syntax highlighting editor
Code preview with visual CSS editor
Automatically inserts ads on posts and pages
Insert ads before or after post
Insert ads before or after content
Insert ads before or after paragraph
Insert ads before or after random paragraph
Insert ads before or after multiple paragraphs
Insert ads before or after image
Insert ads before or after comments
Insert ads before or after excerpt
Insert ads near any element on the page (using CSS selectors)
Insert ads above the header (after
Insert ads in the footer (before
Insert ads at relative positions in posts
Insert ads between posts on blog pages (in-feed AdSense ads)
Insert ads between excerpts on blog pages
Insert ads between comments
Insert ads at custom hook positions (
do_action () WP function)
Insert ads before or after any HTML element using CSS selectors
Visual HTML element selector (DOM explorer)
Avoid inserting ads near images or headers (AdSense TOS)
Disable ads on individual posts or pages
Insert header (
<head> section) and footer code
Insert raw HTTP response header lines
Insert Google Analytics, Matomo (Piwik) or any other tracking code
Code generator for banners and placeholders
Code generator for AdSense ads
Visual advert editor – create ads from scratch
Manual insertion: widgets, shortcodes, PHP function call
Sticky (fixed) widgets (sticky sidebar – the sidebar does not move when the page is scrolled)
Custom alignments and styles for ads
Insert ads (different ad code) on AMP pages
Custom CSS class name for wrapping divs to avoid ad blockers
Use shortcodes from other plugins
Use custom fields as defined in posts
Use post title, tags or category names to create contextual ads
PHP code processing
Ad labels – show customized label above ads
Ad rotation (server-side and client-side – works with caching)
Timed ad rotation – define times to rotate ads in a single ad block
Create rich media ads with standard WordPress TinyMCE editor
Ad blocking detection – popup message, page redirection
Desktop/mobile device detection (server-side and client-side – works with caching)
Blacklist/Whitelist categories, tags, taxonomies, post IDs, urls, url query parameters, cookies, referrers
Easy copying and pasting ads or settings using internal clipboard
Simple troubleshooting with many debugging functions
Function to visualize inserted blocks and ads
Function to visualize AdSense ads with ad names and IDs
Function to visualize available insertion positions
Function to visualize HTML tags
You name it 🙂
Ad Inserter review on WP Mayor
The Best WordPress Ad Management Plugin?
Ad Inserter review on ShoutMeLoud
Both Google and Amazon recommend this plugin for inserting ads, which is a testament to its quality
Endorsed by Google
Google lists Ad Inserter plugin as possible solution to place code for AdSense ads into your WordPress site.
Ad Inserter is a perfect plugin to place code for Google AdSense ads at top positions for optimal monetization of your website: ordinary AdSense ads (ad units), AMP ads, Auto ads (page level ads), In-feed ads, in-article ads, responsive ads, AdSense ads that need page-specific header code, etc.
If you’re new to AdSense, one of your first tasks is to connect your site to AdSense. This requires you to copy the code on your AdSense homepage and paste it into the HTML of your page, between the
Check How to insert ad code in your WordPress site. Advanced users can enable AdSense integration: import AdSense ads from the plugin settings page – no need to copy codes for AdSense ads from the AdSense admin pages. List ad units, preview AdSense ads and get ad codes where you need them.
Endorsed by Amazon
Amazon suggests to use Ad Inserter to add Native Shopping Ads to WordPress posts.
Native Shopping Ads provide highly relevant and dynamic product recommendations in a stylishly designed and responsive ad unit that can be placed at the end or within your content to create a more compelling visitor experience and shopping opportunity.
Check WordPress Integration Guide for Native Shopping Ads. Ad Inserter supports also advanced contextual ads: check settings for contextual Native Shopping Ads that show ads with items related to the post content (using post tags).
If you need statistics for ads and metrics for impressions and clicks, A/B testing, lazy loading ads, sticky ads, slider ads, pop-up ads, geotargeting or geolocation to serve country-specific ads, functions to protect content from users using ad blockers, functions to serve different ads for users using ad blockers, multisite options to limit settings for ads, to block some IP addresses, to schedule ads, there is Ad Inserter Pro – all-in-one WordPress ad management plugin with many advanced features:
Geolocation using Webnet77 or MaxMind databases (works also with caching)
Country, state, region and city level geotargeting
Blacklist/Whitelist IP addresses or countries/cities (works also with caching)
Ad impression and click statistics (works also with
Statistics reports for clients in PDF format
External tracking via Google Analytics or Matomo (Piwik)
A/B testing – discover ads and settings that perform best
Lazy loading ads (works with AdSense ads)
Sticky ads with optional close button
Sticky sidebar ads (stick to the screen or to the content)
Floating slide-in banner ads
Sticky (floating) ads with animations (fade, slide, turn, flip, zoom)
Animation trigger for sticky ads (page scroll in % or px, HTML element becomes visible)
Support for sticky ad bar
Support to schedule ads with fallback option
Support for ads in iframes
Ad blocking detection – replace ads, protect content
Ad blocking statistics
Multisite options to limit settings on the sites
Individual post/page exception management
Export and import of settings
No ads on the settings page
Support via email
Run a WordPress related blog? Have experience with AdSense ads? Interested in reviewing Ad Inserter Pro? Introduce yourself.
Have experience with WordPress theme or plugin translation? We are looking for translators! Contact us.
You can also use shortcodes from other plugins (for example, to insert ads from other ad plugins like AdRotate, Advanced Ads, Quick Adsense, AdSense Plugin WP QUADS, Insert Post Ads).
Ad Inserter can insert ads where other plugins fail.
It’s all about the settings.
Ad Inserter – WordPress Ad Manager
One Plugin for All Ads
Ad Inserter is not just another plugin for WordPress ads. Do you enjoy finding the right plugin to solve a particular problem on your site? For example:
for ad management and ad injection
to insert Google AdSense ads or Media.net ads
for Google Ad Manager / DoubleClick for Publishers (DFP) ads
to insert Amazon Native Shopping ads
to insert affiliate ads (CJ Affiliate by Conversant, ClickBank, ShareASale, Rakuten LinkShare, etc.)
to insert ads form BuySellAds, Chitika, Ezoic, Booking.com, Tradedoubler, Awin, Getyourguide
to insert ads between paragraphs
to insert ads between posts
to insert ads between comments
to insert ads on custom posts
to insert AMP ads on AMP pages
to insert different ads for mobile devices
to insert ads at custom action hooks (e.g. using Genesis Theme Framework Hook Guide)
to hide ads on specific pages
for ad rotation – to rotate different ads in a single ad position
for PHP code widgets and PHP ads
for sticky (fixed) widgets
to detect ad blocking
to insert banners
to insert Google analytics code
to insert various opt-in forms (MailChimp, AWeber, GetResponse, etc.)
Maintaining several plugins (often from different vendors) is not easy. And each plugin is slowing down the speed of your website.
Speed Up Your WordPress: Replace them all with free Ad Inserter!
To become familiar with the plugin check Quick Start to display ads on your website.
To learn how to configure the most advanced WordPress AdSense plugin check documentation for AdSense ads: AdSense ad units, AdSense Auto ads, AdSense in-feed ads, AdSense in-article ads, AdSense AMP ads,…
Please note that code for AdSense ads may in some cases display blank ad blocks – no ads. This has nothing to do with the plugin. After AdSense code is inserted, Google needs some time (hours) to check pages before it starts to serve ads. Blank AdSense ad block means that AdSense code is inserted properly and AdSense code is running, only it doesn’t display anything (yet). Typical reasons for blank AdSense ads are the following:
Your AdSense account is not fully approved yet
Your website or page was not approved for AdSense ads
Google has not checked and approved to serve ads to your website (yet)
Your AdSense account is banned
No ads available for your website
Wrong AdSense publisher ID or slot ID – check or regenerate ad code
Errors in ad code – check browser console for error messages
Main AdSense Features
To show AdSense ads you need to place code for AdSense ads on your website – you need WordPress AdSense plugin. Ad Inserter is a perfect tool to automatically insert code for AdSense ads on any page. AdSense integration and clearance options to make sure that your page will comply with the AdSense program policies, are just two advanced features that will help you to monetize your website with AdSense ads.
Get code for AdSense ads directly from your AdSense account
Code generator for AdSense ads
Create code for AdSense AMP ads from normal AdSense ad code
Convert standard AdSense text & display ads to AdSense link ads or vice versa
Convert fixed size AdSense ads to responsive AdSense ads
Convert responsive AdSense ads to fixed size AdSense ads
Create responsive AdSense ads with fixed ad sizes for differrent devices
Support for AdSense Auto ads
Support to exclude AdSense Auto ads on specific pages
Optionally limit insertion to 3 AdSense ads per page
Disable insertion of AdSense ads on Error 404 pages
Insert AdSense In-feed ads or In-article ads between posts or comments
Simple troubleshooting when AdSense ads are not displayed
Debugging function to label AdSense ad blocks to mark blank AdSense ads
Ad Inserter is also a powerful AdSense plugin. However, AdSense ads require some knowledge of ad terminology in order to use the right code for ads and to place them properly. This is a short list of commonly used terms:
Google AdSense: a program run by Google that allows publishers in the Google Network of content sites to serve automatic text ads, image ads, video ads or interactive media ads. Google AdSense provides the right ads for any audience: ads are reviewed to ensure they’re high quality and relevant to your content or audience, even when viewed on smartphones and tablets. Block ads you don’t like, customize where ads appear, and choose which types of ads fit your site best
AdSense text ads: ad with a title that’s also a clickable link to a webpage, one or two lines of text, and a website address
AdSense display ads: graphical ads offered in several formats
AdSense video ads: one type of ads that can appear on AdSense sites – they can show on your pages if you have chosen to display image ads and are using supported ad size
AdSense richer text ads: a form of text ads supplemented with advertiser images that are displayed as “display-like” ads
AdSense ad unit: a set of Google ads displayed as a result of one piece of AdSense ad code – for AdSense publishers who want full control over the placement of their ads
AdSense ad code: a snippet of HTML that when placed on any page of an approved site shows Google AdSense ads in a specific ad layout and format
AdSense ad format: the way AdSense ads are shown to the users on your site – different ad formats can support different ad types, such as text ads, display ads, video ads
Responsive AdSense ads: ads will resize to fill available width
Fixed size AdSense ads: you define width and height of ads
AdSense In-feed ads: ads between similar-looking content blocks that repeat one after the other
AdSense In-article ads: ads that fit seamlessly in between the paragraphs of your pages
AdSense Auto ads: a code that you insert on every page once and it will automatically display AdSense ads on positions chosen by the Auto ads code – a fast and easy way for AdSense publishers to get up and running with ads
AdSense ads on AMP pages: AMP pages need different code for AdSense ads. Each Ad Inserter code block can be configured to insert different codes on AMP pages – you can use use built-in AdSense code generator to generate code for AMP AdSense ads
Blank AdSense ads: blank (empty) ad blocks when Google for some reason does not display ads
AdSense integration: connection between plugin and your AdSense account
AdSense Program policies: all publishers using AdSense ads are required to adhere to AdSense Program policies – if you fail to comply with these policies, Google reserves the right to disable ad serving to your site (you get blank AdSense ads) and/or disable your AdSense account at any time
Personalized AdSense ads: Google considers AdSense ads to be personalized when they are based on previously collected or historical data to determine or influence ad selection, including a user’s previous search queries, activity, visits to sites or apps, demographic information, or location
Non-personalized AdSense ads: ads that are not based on a user’s past behavior. Non-Personalized AdSense ads allow publishers to present EEA users with a choice between personalized ads and non-personalized ads, or to choose to serve only non-personalized ads to all users in the EEA. Non-Personalized AdSense ads only use contextual information, including coarse general (city-level) location.
Insert Any Code Anywhere on the Page – Automate Insertion of Ads
Automatic insertion of ads using standard (the_content, the_excerpt, loop_start, loop_end, the_post,…) or custom WP hooks
Manual insertion of ads with shortcodes
Insertion of ads with widgets or PHP function calls from child theme
Please support plugin development
Support the advancement of this plugin:
Write a short review – positive reviews are a great way to show your appreciation for my work. Besides being an incredible boost to my morale, they are also a great incentive to fix any bug found in the software and to add new features for better monetization of your website.
Donate if Ad Inserter helps you to make money with ads
Buy license for Ad Inserter Pro – Top WordPress plugin for ads
Ad Inserter Documentation
Ads not displayed
Block Alignment and Style
WordPress Page Types
Black and White Lists
Post and Page Exceptions
Settings for ads …
Does Ad Inserter insert any internal ads?
No revenue sharing and no such thing as “internal ads” or “our ads” on your website. Period. What you configure is what will be inserted (+ some internal scripts for plugin features).
Ad Inserter is free, open source plugin and inserts only the code or ads you configure (blocks, Header, Footer). The code you see is the code that will be inserted. Please check page source code before you make any conclusion.
You can also use Ad Inserter to insert code for AdSense Auto ads on each page (usually in the header). However, the exact placement of ads will be done by the ad code, not Ad Inserter!
The easiest way to check Ad Inserter blocks is to use Label blocks debugging function:
Please note that when you disable Ad Inserter you also disable insertion of all codes and blocks you have configured.
Therefore, if your issues go away when you disable the plugin THIS DOES NOT INDICATE any issue with the plugin! You need to try to disable individual codes to see which one is causing trouble.
I have installed code for AdSense ads and I see ads placed at random positions.
You are probably using code for AdSense Auto ads.
AdSense Auto ads (known also as AdSense Page Level Ads) is a code that you insert on every page once and it will automatically display AdSense ads on positions chosen by the code.
AdSense Auto ads use Google’s machine learning to pick the best placements on your pages to show ads. You only need to add one piece of code to all your pages, and let Google take care of the rest.
AdSense Auto ads may not be suitable for some WordPress themes or layouts. In such cases it is easier to place ads at wanted locations by using normal AdSense code and specifying exact locations where the code should be inserted.
I have installed code for AdSense ads but the ad blocks are blank.
Blank AdSense ad block means that the code is inserted properly only the ad code doesn’t display ads. Typical reasons for this are the following:
After the ad code is inserted Google needs some time (hours) to check the pages before it starts to serve ads.
AdSense account is not fully approved yet – if your account is new you need to wait until Google checks ad codes on your website and and confirms your account. Usually this takes few days.
Your website or page is not approved yet – you need to wait until Google web crawlers check your pages.
Your website or page was not approved for AdSense ads
Your AdSense account is banned
No ads available for your website
Errors in ad code – check or regenerate ad code
You are using ad blocker
In such case you can try other ad networks for contextual ads. Check Ads Not Displayed for more information.
What is GDPR?
The GDPR (General Data Protection Regulation) is a regulation in European Union (EU) on data protection and privacy for all individuals within the EU and the European Economic Area (EEA) that was designed to harmonize data privacy laws across Europe. If you collect personal information from any EU citizen (within or outside the EU), you must first obtain explicit and unambiguous consent.
GDPR compliance: What cookies does the plugin use
In this case 3 cookies may be used (to store pageviews and action settings):
aiADB_PR. However, no personal data is stored in the cookies.
Of course, the ads you may insert with the plugin may use own cookies – please check with ad networks for details.
How to display a GDPR compliant cookie message?
You can use any plugin for GDPR compliance / cookie consent. For example:
PLEASE NOTE: Installing GDPR plugin alone does not make your site GDPR compliant. Since ads you insert may use various cookies, you may need to make sure you have necessary configurations in place. Please check next question regarding showing ads based on visitor’s consent.
How to show ads based on visitor’s consent?
Ad Inserter supports inserting (showing) ads based on cookies or cookie values. You can define cookie conditions by black/whitelisting Url parameters (where also cookies are checked).
PLEASE NOTE: If you are using caching (very likely) you also need to set Dynamic blocks to Client-side insert (tab ⚙ / tab General) in order to check cookies in visitor’s browser and not when the page is generated.
For example, If you are using one of the following plugins for cookie consent you need to whitelist the following cookie and value in Url parameter list:
What is plugin usage tracking?
When enabled, the information regarding WordPress environment and Ad Inserter usage will be collected and sent to plugin developers (once per month and on events like plugin activation/deactivation).
This is completely optional and can be disabled at any time. So if you have opted in (by clicking Allow when asked for permission) and now you would like to disable tracking, you should go to tab ⚙ / tab General, select Disable for Plugin usage tracking and save settings.
If this setting is not available then you have not selected any option yet – tracking is disabled unless explicitly enabled by clicking Allow when asked for permission (or when this setting is set to Enable).
What data is collected: Ad Inserter version, activation status, number of active blocks, date of installation, date of last saved settings, status of review notice and remote debugging, block class name, location, website url and name, WordPress version, language, text direction, charset, number of posts, active theme and version, list of installed plugins, PHP version, server name, IP address (used to determine country), site count for multisite installations, deactivation reasons and details (if provided).
Ad Inserter is only a plugin for WordPress content management software. It works together with WordPress, other installed plugins and selected theme.
This data provides information to make the plugin to be compatible with as many environments as possible, to test the plugin with commonly used plugins and themes, to understand why users deativate (and uninstall) the plugin and to get ideas to make improvements to the plugin.
If you are not happy to reveal this information and you have opted in, simply disable usage tracking as described above.
Your decision will be respected.
I wish to show ads side by side but not in the same block. How do I do this?
Configure block 1 and 2 with ads using:
Automatic Insertion: Disabled
Block Alignment and Style: No Wrapping
Enable shortcode: checked
Configure block 3 with
[adinserter code="1" ignore="page-type"] [adinserter code="2" ignore="page-type"]
and use block 3 to insert ads.
I use After Content insertion position but the ads are inserted after the stuff provided by other plugins. How can I insert ads directly after post content?
This happens because Ad Inserter processes posts last and therefore “sees” also content added by other plugins.
Try to set Ad Inserter plugin priority to 10 (early processing, Ad Inserter settings – tab ⚙ / tab General).
How can I add some title or label (e.g. Advertisements) above AdSense ads?
If this is a sidebar widget then you can simply name the widget.
For each code block you can also show a label above each ad. Default text (or HTML code) for ad labels can be set on the general plugin settings tab (tab ⚙ / tab General / Ad label.
To enable ad label above the ad go to code block for this ad, click on the Misc button and then on the Display tab check Ad label.
If you configured only text for ad label then the following code will be added above ad code:
<div class="code-block-label">AD_LABEL_TEXT</div> (
code-block is the block class name used, AD_LABEL_TEXT is the text for Ad Label).
You can then style the label using CSS for class
.code-block-label (the best place for this code is Header section). If HTML code is configured for ad label then this code will be used (instead of the div code above).
In case you need a different label for some ad you can simply add label HTML code above the ad code. For example:
Ad lables can be inserted only above ads (blocks) inserted by Ad Inserter – AdSense Auto ads are automatically inseted by AdSense Auto ads code.
How can place ads below Read More tag?
Configure ad block with the following options:
Automatic Insertion: After Paragraph
Paragraph Number: 1
Count only paragraphs that CONTAIN:
Check source code of your website for proper “read more” tag.
How can I rotate between different alignments so I can test an ad aligned to the right against an ad aligned to the left?
Set Block Alignment and Style to “No Wrapping” and create manual wrapping around both ads separated with [ADINSERTER ROTATE]:
<div style="float: left; margin: 0 8px 8px 0;"> AD CODE LEFT </div> [ADINSERTER ROTATE] <div style="float: right; margin: 0 0 8px 8px;"> AD CODE RIGHT </div>
Please note that responsive AdSense ads can not work with floating alignments (ad container width is not known) – either use AdSense code with fixed ad sizes or don’t use floating alignment.