Dashboard - status, setup checklist and site health at a glance.
AdFlow is the ad inserter and ad manager for Google AdSense, every other ad network and your own banner ads – and it just works. Add your Publisher ID and Auto Ads are live. Place AdSense, Google Ad Manager or any network’s ads before, inside and after your content without touching code, fix “Earnings at risk” with the built-in ads.txt manager, respect your visitors’ consent with Google Consent Mode v2, and run your own sponsor banners next to Google – with honest statistics that work behind any page cache.
Coming from another ad plugin? Import from Advanced Ads, Ad Inserter, AdRotate or WP QUADS in one click – your old shortcodes keep working.
Set up in one minute – enter your Publisher ID, done. A setup checklist and site health tell you exactly what is missing.
Everything in one free plugin – AdSense, other networks, your own sponsors, placements, ads.txt, consent and statistics. No add-on needed for the basics.
Built for page caching – rotation, statistics and targeting rules run in the browser, so they keep working with WP Rocket, LiteSpeed, Cloudflare and every other cache.
Safe for your AdSense account – the same ad code attributes Google gives you, the only two ad labels Google allows, ads hidden from logged-in admins, and a failsafe that never lets a broken ad break your page.
Fast – the ad script and styles load only on pages that show an ad.
Free features
Google AdSense: Auto Ads and ad units
Auto Ads in one step – Google’s machine learning places the ads; exclude post types or single pages (contact, checkout…).
All AdSense ad types – display, in-article, in-feed and multiplex, using the ad code attributes Google gives you, with responsive formats.
Reusable ad units – set an ad up once and use it everywhere: placements, the AdFlow Ad block, a widget or the [adflow id="123"] shortcode.
Ad-free pages – turn manual ads off on chosen post types or pages with a search picker, or tick a box on any post.
AMP – AdSense units and Auto Ads work with the official AMP plugin; own ads show without statistics.
Elementor and Bricks – a native AdFlow element in each, and translations through WPML and Polylang.
Hide ads from logged-in administrators – protect your account from accidental self-clicks.
Optional ad label – “Advertisements” or “Sponsored Links”, the two labels Google permits.
Automatic ad placements – no shortcodes
Any number of in-content ads – every N paragraphs with a maximum per post, or before or after any HTML element. Short posts are skipped and these ads keep their distance from other ads.
Conditions on each placement – device, category, tag, specific posts and language.
Before content, after paragraph N, after content on posts, pages or any public post type.
Shortcodes, a Gutenberg block and a classic widget when you want an ad in one exact spot.
Fix “Earnings at risk”: ads.txt manager
AdFlow serves the correct AdSense line from your Publisher ID – no file to upload.
Add lines for other ad networks, with validation, and a live checker confirms Google can read the file.
Consent tools: Google Consent Mode v2
Consent Mode v2 – “denied” by default for visitors from the EEA, UK and Switzerland, updated automatically by Complianz, CookieYes, Cookiebot or any WP Consent API plugin.
Load ads after consent – AdSense, other networks’ code and Ad Manager slots stay held until your Google-certified (IAB TCF v2.2) message, CookieYes, Complianz, Cookiebot or a WP Consent API plugin has the visitor’s answer; no timer releases them. AdSense’s own consent message is supported too. Works with page caching.
Any ad network, and your own sponsors
Custom code units for Google Ad Manager, Media.net, Ezoic or any other network, managed next to AdSense.
Image banners and text ads for sponsors, affiliates or your own offers, with rel="sponsored" links and a disclosure label.
Scheduling – start and end dates, with an AdSense unit shown when no campaign is running, on cached pages too.
Rotation groups – several ads take turns, by weight or in order.
Cookieless statistics – impressions (counted when the ad renders), viewable impressions (IAB/MRC: 50% on screen for 1 second) and real clicks. Bots, prefetches and admins are filtered; only daily totals are stored, never IP addresses.
Optional redirect-link click tracking with {ad_id}, {placement}, {site} and {cachebuster} macros.
Find out why an ad is not showing
Ad Inspector – one click in the toolbar outlines every ad on the page as filled, unfilled, requested or not requested.
“Will this ad show?” – every ad lists what could stop it (schedule, targeting, consent, frequency).
Site health – Publisher ID, ads.txt, caching and consent checks on one dashboard.
Teams and agencies
Roles and permissions – let editors or a sales team manage ads or view reports without admin rights.
Approval workflow – ads from users without the “Publish ads” permission wait for review, and reviewers are emailed.
Switch from another ad plugin in one click
Import ads, rotation groups, placements and (AdRotate and WP QUADS) statistics from Advanced Ads, Ad Inserter, AdRotate and WP QUADS. The other plugin does not need to be active, nothing in it is changed, importing twice never creates duplicates – and [the_ad], [adinserter], [adrotate] and [quads] shortcodes are answered by AdFlow, so no post needs editing.
⭐ AdFlow Pro: earn more, protect your account, sell ads
AdFlow Pro is a separate add-on for this plugin. It brings earnings, click protection, more placements, targeting and direct ad sales together in one plugin, with no add-ons to buy. Every plan includes every Pro feature:
Personal (1 site) – $49 a year, or $129 once
Plus (5 sites) – $99 a year, or $249 once
Agency (25 sites) – $149 a year, or $399 once
14-day money-back guarantee. If your licence ever expires, Pro keeps working. Compare plans →
Invalid-click protection – stops serving ads to a visitor who clicks too often. Flagged visitors never load the AdSense script, so no ad is hidden against Google’s policy.
A self-serve “Advertise with us” page – advertisers choose a package, upload a banner and pay with your own Stripe Payment Link, PayPal or any checkout. You approve; it runs for the paid days.
Advertiser reports – custom date ranges, placements, devices, CSV export, shareable report links, weekly or monthly emails and expiry reminders.
Sponsor eCPM next to your AdSense RPM, frequency capping and dayparting.
🧰 For agencies and developers
Export/import your setup between sites, an activity log, a REST API and WP-CLI commands, and priority email support.
👉 Get AdFlow Pro · everything in the free plugin stays free.
Documentation
The complete AdFlow and AdFlow Pro documentation is built in: open AdFlow → Docs in your dashboard – searchable, with a guide for every feature.
External services
AdFlow connects to these services only when you use the related feature:
Google Funding Choices / consent messages – only if you use Google’s own consent message in AdSense; AdFlow waits for it and does not load it itself.
Your own site – the ads.txt checker requests your site’s public /ads.txt URL to confirm it is reachable. No data is sent anywhere else.
Custom code units load whatever third-party code you paste into them; that network’s terms apply.
AdFlow’s own statistics are stored in your WordPress database as daily totals. They use no cookies and the reports store no IP addresses or visitor identifiers. To limit abuse of the counter, a salted one-way number that many visitors share is kept for up to a day; it cannot be turned back into an address. The totals are estimates from visitors’ browsers, not audited figures.
More from MantraBrain
Easy Invoice – invoices, quotes and payments in WordPress.