Title: AdSanity for MainWP
Author: Brandon Dove
Published: <strong>June 19, 2026</strong>
Last modified: June 19, 2026

---

Search plugins

![](https://ps.w.org/adsanity-for-mainwp/assets/banner-772x250.png?rev=3578021)

![](https://ps.w.org/adsanity-for-mainwp/assets/icon-256x256.gif?rev=3578021)

# AdSanity for MainWP

 By [Brandon Dove](https://profiles.wordpress.org/brandondove/)

[Download](https://downloads.wordpress.org/plugin/adsanity-for-mainwp.1.0.4.zip)

 * [Details](https://wordpress.org/plugins/adsanity-for-mainwp/#description)
 * [Reviews](https://wordpress.org/plugins/adsanity-for-mainwp/#reviews)
 *  [Installation](https://wordpress.org/plugins/adsanity-for-mainwp/#installation)
 * [Development](https://wordpress.org/plugins/adsanity-for-mainwp/#developers)

 [Support](https://wordpress.org/support/plugin/adsanity-for-mainwp/)

## Description

If you run AdSanity across a fleet of client sites, you know the drill. Want to 
check how an ad is performing? Log into the site. Want to make sure nothing’s about
to expire? Log into every site, one by one. AdSanity for MainWP pulls all of it 
into one place.

It lives on your MainWP dashboard and reads ad data from every managed site that’s
running AdSanity and the free AdSanity MainWP Connector. Set your date range, sort
your sites, and drill into any one of them without ever leaving the dashboard.

What you get:

 * **Fleet-wide reporting.** Impressions, clicks, and CTR from every managed site,
   added up in one view with 7, 30, and 90-day ranges.
 * **A sortable per-site table.** See which sites are carrying the load and click
   through to any of them for the full picture.
 * **A trend chart.** A simple, dependency-free look at where your numbers are heading.
 * **Alerts for the stuff that’s easy to miss.** Expiring ads, outdated AdSanity
   installs, and missing or stale connectors, all flagged for you.
 * **An overview widget.** Published ads, ads expiring soon, and connector health,
   right on your MainWP overview page.

A few things to know before you start. This is a MainWP dashboard extension, not
an AdSanity add-on, so it runs on your dashboard site and doesn’t need AdSanity 
installed there. Every site you want to track needs AdSanity core plus the free 
AdSanity MainWP Connector.

#### New to AdSanity?

Managing ads on a WordPress site usually means pasting ad code into your theme and
forgetting where you put it. A campaign ends, the ad keeps running, and you’re digging
through template files trying to pull it.

[AdSanity](https://adsanityplugin.com/?utm_source=wporg&utm_medium=readme&utm_campaign=adsanity-for-mainwp&utm_content=overview)
handles all of that. It’s a WordPress ad manager that lets you build image ads, 
network ads like AdSense, or your own custom code, then group them and place them
anywhere on your site with a single block or shortcode. You set a start and end 
date, AdSanity tracks impressions and clicks, and you finally know what’s working.

#### AdSanity add-ons

When you need more, there’s an add-on for it:

 * **[Ad Block Detection](https://adsanityplugin.com/add-ons/ad-block-detection/?utm_source=wporg&utm_medium=readme&utm_campaign=adsanity-for-mainwp&utm_content=ad-block-detection):**
   Ad blockers quietly eat into your numbers. Spot the visitors who run one and 
   show them a friendly message (or send them somewhere else).
 * **[Advertiser Reporting](https://adsanityplugin.com/add-ons/advertiser-reporting/?utm_source=wporg&utm_medium=readme&utm_campaign=adsanity-for-mainwp&utm_content=advertiser-reporting):**
   Stop emailing screenshots to advertisers. Give each one a login to check how 
   their own campaigns are doing.
 * **[Conditional Ad Appearance](https://adsanityplugin.com/add-ons/conditional-ad-appearance/?utm_source=wporg&utm_medium=readme&utm_campaign=adsanity-for-mainwp&utm_content=conditional-ad-appearance):**
   Set rules so the right ad shows on the right content, instead of running everything
   everywhere.
 * **[Custom Ad Sizes](https://adsanityplugin.com/add-ons/custom-ad-sizes/?utm_source=wporg&utm_medium=readme&utm_campaign=adsanity-for-mainwp&utm_content=custom-ad-sizes):**
   Need a size that isn’t standard? Build your own ad dimensions and reuse them 
   across the site.
 * **[Google Analytics Tracking](https://adsanityplugin.com/add-ons/google-analytics-tracking-integration/?utm_source=wporg&utm_medium=readme&utm_campaign=adsanity-for-mainwp&utm_content=google-analytics-tracking):**
   Send impressions and clicks to GA4 so your ad data lives with the rest of your
   analytics.
 * **[Image Cache Buster](https://adsanityplugin.com/add-ons/image-cache-buster/?utm_source=wporg&utm_medium=readme&utm_campaign=adsanity-for-mainwp&utm_content=image-cache-buster):**
   Keep animated GIF ads from getting cached and going stale, so every view shows
   the real thing.
 * **[Impressions](https://adsanityplugin.com/add-ons/impressions/?utm_source=wporg&utm_medium=readme&utm_campaign=adsanity-for-mainwp&utm_content=impressions):**
   Cap an ad by daily or lifetime impressions and deliver exactly what you sold.
 * **[Ordered Ad Group Widget](https://adsanityplugin.com/add-ons/ordered-ad-group-widget/?utm_source=wporg&utm_medium=readme&utm_campaign=adsanity-for-mainwp&utm_content=ordered-ad-group-widget):**
   Show a group of ads in the exact order you want, every single time.
 * **[Rotating Ad Widget](https://adsanityplugin.com/add-ons/rotating-ad-widget/?utm_source=wporg&utm_medium=readme&utm_campaign=adsanity-for-mainwp&utm_content=rotating-ad-widget):**
   Rotate a group of ads on a timer so one spot can serve more than one advertiser.
 * **[User Role Ad Visibility](https://adsanityplugin.com/add-ons/user-role-ad-visibility-2/?utm_source=wporg&utm_medium=readme&utm_campaign=adsanity-for-mainwp&utm_content=user-role-ad-visibility):**
   Hide ads from members, subscribers, or any user role you pick.
 * **[Weighted Ads](https://adsanityplugin.com/add-ons/weighted-ads/?utm_source=wporg&utm_medium=readme&utm_campaign=adsanity-for-mainwp&utm_content=weighted-ads):**
   Give your best-paying campaigns more weight so they show up more often.

Browse the whole lineup, free and pro, on the [AdSanity add-ons page](https://adsanityplugin.com/add-ons/?utm_source=wporg&utm_medium=readme&utm_campaign=adsanity-for-mainwp&utm_content=addons-archive).

## Screenshots

[⌊The network dashboard with fleet-wide: published ads, ads expiring soon, and connector
health.⌉⌊The network dashboard with fleet-wide: published ads, ads expiring soon,
and connector health.⌉[

The network dashboard with fleet-wide: published ads, ads expiring soon, and connector
health.

[⌊The trend chart and the sortable per-site table, with drill-down links to each
site.⌉⌊The trend chart and the sortable per-site table, with drill-down links to
each site.⌉[

The trend chart and the sortable per-site table, with drill-down links to each site.

[⌊The alerts strip flagging expiring ads, outdated AdSanity installs, and missing
or stale connectors.⌉⌊The alerts strip flagging expiring ads, outdated AdSanity 
installs, and missing or stale connectors.⌉[

The alerts strip flagging expiring ads, outdated AdSanity installs, and missing 
or stale connectors.

[⌊The overview widget on the MainWP overview page: published ads, ads expiring soon,
and connector health.⌉⌊The overview widget on the MainWP overview page: published
ads, ads expiring soon, and connector health.⌉[

The overview widget on the MainWP overview page: published ads, ads expiring soon,
and connector health.

[⌊The per-site view showing that site's ad inventory and stats.⌉⌊The per-site view
showing that site's ad inventory and stats.⌉[

The per-site view showing that site’s ad inventory and stats.

## Installation

 1. Install and activate MainWP Dashboard on your dashboard site.
 2. Upload the `adsanity-for-mainwp` folder to `/wp-content/plugins/` and activate 
    it.
 3. On each managed site, install AdSanity core and the AdSanity – MainWP Connector.
 4. Open MainWP > Extensions > AdSanity for MainWP and run the connectivity test.

## FAQ

### Do I need AdSanity on my MainWP dashboard site?

Nope. AdSanity for MainWP runs on the dashboard and talks to your managed sites 
through MainWP, so there’s no need to install AdSanity on the dashboard itself.

### What has to be on each managed site?

Two things: AdSanity core and the free AdSanity MainWP Connector. The Connector 
is what hands your ad data back to the dashboard, so a site won’t show up in your
reports until both are active.

### Is this plugin free?

Yes. AdSanity for MainWP is free, and so is the Connector that runs on your managed
sites. You’ll need AdSanity core on those sites, but the MainWP pieces don’t cost
anything.

### Will it slow down my managed sites?

It shouldn’t. Most of the reporting rides along with the regular MainWP sync instead
of hitting every site on each page load, so the overhead stays low. The bigger date-
range pulls only happen when you ask for them.

### Can I create or deploy ads from the dashboard?

Not from here. AdSanity for MainWP is focused on reporting and monitoring across
your fleet. You still create and manage the ads themselves on each site with AdSanity.

### Does it work without MainWP?

No. This is a MainWP dashboard extension, so it needs the [MainWP Dashboard](https://wordpress.org/plugins/mainwp/)
plugin installed to do anything.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“AdSanity for MainWP” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ Brandon Dove ](https://profiles.wordpress.org/brandondove/)
 *   [ Jeffrey Zinn ](https://profiles.wordpress.org/jeffreyzinn/)

[Translate “AdSanity for MainWP” into your language.](https://translate.wordpress.org/projects/wp-plugins/adsanity-for-mainwp)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/adsanity-for-mainwp/),
check out the [SVN repository](https://plugins.svn.wordpress.org/adsanity-for-mainwp/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/adsanity-for-mainwp/)
by [RSS](https://plugins.trac.wordpress.org/log/adsanity-for-mainwp/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.4

 * Network dashboard rebuilt in MainWP’s Semantic UI styling for automatic light
   and dark mode support.
 * Added a dependency-free SVG trend chart with 7/30/90-day presets and per-site
   drill-down links.
 * Overview metabox now reads from the MainWP sync rollup instead of a per-page-
   load cross-site fan-out.
 * Added soon-expiring date labels to the inventory table.
 * Hardened dashboard access control with MainWP permission gating and bounded the
   cross-site fan-out.

#### 1.0.0

 * The first release!

## Meta

 *  Version **1.0.4**
 *  Last updated **7 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.3 or higher **
 *  Tested up to **7.0**
 *  PHP version ** 8.1 or higher **
 * Tags
 * [advertising](https://wordpress.org/plugins/tags/advertising/)[MainWP](https://wordpress.org/plugins/tags/mainwp/)
   [reporting](https://wordpress.org/plugins/tags/reporting/)[site management](https://wordpress.org/plugins/tags/site-management/)
 *  [Advanced View](https://wordpress.org/plugins/adsanity-for-mainwp/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/adsanity-for-mainwp/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/adsanity-for-mainwp/reviews/)

## Contributors

 *   [ Brandon Dove ](https://profiles.wordpress.org/brandondove/)
 *   [ Jeffrey Zinn ](https://profiles.wordpress.org/jeffreyzinn/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/adsanity-for-mainwp/)