Title: SmartSpot Ad Manager
Author: Isaac Auta
Published: <strong>October 8, 2026</strong>
Last modified: October 8, 2026

---

Search plugins

![](https://ps.w.org/smartspot-ad-manager/assets/banner-772x250.png?rev=3735289)

![](https://ps.w.org/smartspot-ad-manager/assets/icon-256x256.png?rev=3735289)

# SmartSpot Ad Manager

 By [Isaac Auta](https://profiles.wordpress.org/isaacshed/)

[Download](https://downloads.wordpress.org/plugin/smartspot-ad-manager.2.0.4.zip)

 * [Details](https://wordpress.org/plugins/smartspot-ad-manager/#description)
 * [Reviews](https://wordpress.org/plugins/smartspot-ad-manager/#reviews)
 *  [Installation](https://wordpress.org/plugins/smartspot-ad-manager/#installation)
 * [Development](https://wordpress.org/plugins/smartspot-ad-manager/#developers)

 [Support](https://wordpress.org/support/plugin/smartspot-ad-manager/)

## Description

**SmartSpot Ad Manager** lets you manage advertising on your WordPress website. 
Display image ads or custom code ads (Google AdSense, HTML, JavaScript) anywhere
on your site with URL targeting, device-specific controls, and native integrations
for popular page builders.

100% free & open-source. No Pro upgrades, no paywalls, no licensing.

Suited for bloggers, content creators, and website owners who want to monetize their
site using image and custom-code ads.

### Key Features

 * **Easy Ad Management** – Create and manage ads from a straightforward admin interface.
 * **URL Targeting** – Display ads on specific pages, posts, or custom post types
   with exact, contains, or starts-with matching.
 * **Image Ads** – Upload banner images and set click-through URLs.
 * **Custom Code Ads** – Paste Google AdSense, HTML, or JavaScript ad code directly.
 * **Multiple Ad Positions** – Before content, after content, sidebar, header, footer,
   and two custom positions.
 * **Device Targeting** – Show different ads on desktop, mobile, and tablet.
 * **Automatic Injection** – Ads set to Before/After Content appear automatically
   on singular posts.
 * **Shortcode Support** – Place ads anywhere with easy shortcodes.
 * **Widget Support** – Add ads to any widget area with our enhanced widget.
 * **Elementor Compatible** – Native Elementor widget with full position + single-
   ad modes.
 * **Gutenberg Ready** – Native block with ServerSideRender preview.
 * **Divi, Beaver Builder, WPBakery, SiteOrigin, Oxygen, Bricks** – Native modules
   for every major builder.
 * **Priority Control** – Set which ads show first when multiple ads match.
 * **Responsive Design** – Ads look great on all devices.
 * **No Coding Required** – User-friendly interface for non-technical users.
 * **GDPR Friendly** – Plugin stores zero personal visitor data.

### Display Your Ads

Multiple ways to display ads:

 1. **Automatic**: Choose “Before Content” or “After Content” position and ads appear
    automatically.
 2. **Shortcode (by Position)**: `[thesiadm_ads position="before-content"]`
 3. **Shortcode (Single Ad)**: `[thesiadm_ad id="123"]`
 4. **Widget**: Drag the SmartSpot Ad Manager widget to any sidebar.
 5. **Elementor**: Use the SmartSpot Ad Manager widget in Elementor (position or single-
    ad mode).
 6. **Gutenberg**: Add the “SmartSpot Ad” block in the block editor.
 7. **Divi / Beaver Builder / WPBakery / SiteOrigin / Oxygen / Bricks**: Use the native
    module provided for each builder.
 8. **Template Tag**: `<?php thesiadm_display_ads('header'); ?>` or `<?php echo thesiadm_display_single_ad(
    123); ?>`

### URL Targeting Options

Control exactly where your ads appear:

 * **Exact Match** – Show on specific pages only
 * **Contains** – Show on pages containing a URL pattern
 * **Starts With** – Show on all pages in a section

Examples:
 * `/` – Homepage only * `/blog/` – Blog section (Starts With) or anywhere
containing “blog” (Contains) * `/products/` – Product pages section * `/contact-
us/` – Contact page

### Works With Every Page Builder

SmartSpot Ad Manager includes native modules and compatibility layers for:

 * **Elementor** (Custom widget with alignment, margin, padding controls)
 * **Gutenberg / WordPress Blocks** (Native block with server-side render preview)
 * **Classic Editor** (Shortcode button coming soon; shortcodes work everywhere)
 * **Divi Builder** (Custom module)
 * **Beaver Builder** (Custom module)
 * **WPBakery Page Builder** (vc_map elements)
 * **SiteOrigin Page Builder** (Custom widget)
 * **Oxygen Builder** (Custom element)
 * **Bricks Builder** (Custom element)
 * **Any shortcode-aware editor**

### Perfect For

 * Bloggers monetizing their content
 * Affiliate marketers
 * Website owners selling ad space
 * Publishers with multiple advertisers
 * Anyone wanting simple, powerful ad management

### Developer Friendly

SmartSpot Ad Manager includes hooks, template functions, and filters:
 * `thesiadm_display_ads(
$position )` – Echo ad HTML for a position * `thesiadm_get_ads( $position )` – Returns
ad HTML * `thesiadm_display_single_ad( $id )` – Returns a single ad * `thesiadm_has_ads(
$position )` – Check if ads exist for current page / position * `thesiadm_allowed_ad_html`–
Filter the HTML allowed in custom code ads * Full shortcode system with aliases:`
thesiadm_ads`, `thesiadm_ad`, `smartspot_ads`, `smartspot_ad`

### Support

Need help? Check out our:

 * [Documentation](https://smartspotad.isaacauta.com/docs)
 * [FAQ](https://smartspotad.isaacauta.com/faq)
 * [Support Forum](https://wordpress.org/support/plugin/smartspot-ad-manager/)

### External Services

This plugin optionally supports Google AdSense for displaying custom code ads.
 
Service: Google AdSense Usage: Displaying ads on your website via custom code pasted
by the admin. Data Sent: When AdSense code is rendered on the front-end, Google 
may receive IP address and browser information per their own policies. Privacy Policy:
https://policies.google.com/privacy Terms of Service: https://www.google.com/adsense/
new/localized-terms

No data is collected or transmitted by this plugin itself.

### Privacy Policy

SmartSpot Ad Manager does not collect, store, or transmit any personal data from
your website visitors. The plugin only stores ad configuration data (titles, images,
URLs, code snippets you enter) in your local WordPress database.

If you choose to include third-party ad network code in Custom Code ads (e.g., Google
AdSense), those networks may collect data under their own privacy policies. You 
are responsible for compliance with privacy regulations when using third-party services.

### Credits

SmartSpot Ad Manager is developed and maintained by Isaac Shed.
 https://isaacauta.
com

Special thanks to the WordPress community for their continuous support and feedback.

### Contribute

SmartSpot Ad Manager is open source! Contribute on GitHub:
 https://github.com/isaacshed/
smartspot-ad-manager

## Blocks

This plugin provides 1 block.

 *   SmartSpot Ad

## Installation

### Automatic Installation

 1. Log in to your WordPress admin panel
 2. Go to Plugins  Add New
 3. Search for “SmartSpot Ad Manager”
 4. Click “Install Now” and then “Activate”

### Manual Installation

 1. Download the plugin ZIP file
 2. Go to Plugins  Add New  Upload Plugin
 3. Choose the ZIP file and click “Install Now”
 4. Activate the plugin

### Getting Started

 1.  Go to **Ad Manager** in your WordPress admin menu
 2.  Click **Add New Ad**
 3.  Enter a title for your ad
 4.  For an **Image Ad**: Upload a Featured Image and set Ad Link + Open in New Tab
 5.  For a **Custom Code Ad**: Choose “Custom Code” ad type and paste your AdSense/
     HTML/JS in the Ad Code box
 6.  Select a Position (Before Content, After Content, Sidebar, Header, Footer, Custom…)
 7.  Enter target URLs where the ad should display (leave empty to show everywhere)
 8.  Select devices to target
 9.  Set priority (1 = highest)
 10. Click **Publish**

Your ad is now live! If you chose Before/After Content, ads display automatically.
For other positions use a shortcode, widget, or page builder module.

## FAQ

### How do I display ads on my site?

There are several ways:

 1. **Automatic**: Set the ad position to “Before Content” or “After Content” and ads
    inject automatically on singular posts/pages.
 2. **Shortcode**: Add `[thesiadm_ads position="before-content"]` or `[thesiadm_ad 
    id="123"]` to any post, page, or widget.
 3. **Widget**: Go to Appearance  Widgets and add the SmartSpot Ad Manager widget.
 4. **Elementor / Divi / Beaver Builder / WPBakery / etc.**: Drag the native SmartSpot
    module onto your page.
 5. **Code**: Use `<?php thesiadm_display_ads('header'); ?>` in your theme files.

### Can I show different ads on different pages?

Yes! Use the URL Targeting feature. When creating an ad, enter the specific URLs
where you want it to appear. For example, enter `/blog/` (with match type “Starts
With”) to show ads only on blog section pages.

### What ad sizes are supported?

SmartSpot Ad Manager works with any image size. Common ad sizes include:

 * 728×90 (Leaderboard)
 * 300×250 (Medium Rectangle)
 * 160×600 (Wide Skyscraper)
 * 300×600 (Half Page)
 * 320×50 (Mobile Banner)

### Can I use Google AdSense?

Yes! Select “Custom Code” as the Ad Type and paste your AdSense code into the Ad
Code box. The plugin will load the AdSense library automatically if it’s not already
loaded.

### Does it work with Elementor?

Yes! SmartSpot Ad Manager includes a native Elementor widget with two display modes:
by position, or a specific single ad. Includes responsive margin, padding, and alignment
controls.

### Does it work with the Block Editor (Gutenberg)?

Yes! Use the “SmartSpot Ad” block. The block provides ServerSideRender preview in
the editor and renders identically on the front-end.

### Can I target mobile vs desktop users?

Yes! Use the Device Targeting meta box to select which devices (Desktop, Mobile,
Tablet) will see each ad. This is free for everyone.

### Will ads slow down my site?

No! SmartSpot Ad Manager is lightweight and optimized for performance. Image ads
use native lazy loading and queries use `no_found_rows` to keep them fast.

### Can I track ad clicks?

The plugin integrates with Google Analytics (gtag.js and ga.js) for impression and
click event tracking. You can also use your own analytics solution via the included
hooks.

### Is it GDPR compliant?

Yes. SmartSpot Ad Manager itself does not collect, store, or transmit any personal
data from your website visitors. The plugin only stores ad configuration (your content)
in your local WordPress database.

If you use third-party ad networks (e.g., Google AdSense via custom code), those
services may collect data according to their own privacy policies, and you are responsible
for compliance with applicable regulations when using them.

### Does it work with custom post types?

Yes! SmartSpot Ad Manager works with all post types, including custom post types
created by other plugins or themes. The “Before/After Content” injection works on
any singular view, and shortcodes/widgets work everywhere.

### Does it work with Divi, Beaver Builder, WPBakery, Oxygen, Bricks?

Yes. Each popular page builder has a registered native module that ships with the
plugin. The modules load only when the corresponding builder is active, so they 
never add overhead.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“SmartSpot Ad Manager” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ Isaac Auta ](https://profiles.wordpress.org/isaacshed/)

[Translate “SmartSpot Ad Manager” into your language.](https://translate.wordpress.org/projects/wp-plugins/smartspot-ad-manager)

### Interested in development?

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

## Changelog

#### 2.0.4 – 2026-10-03

 * Repo availability re-confirmed: public repository URL now resolves correctly 
   for the review crawler.
 * No code or functionality changes in this release; packaged to trigger a fresh
   re-review of the 2.0.3 baseline against the now-public GitHub repository.

#### 2.0.3 – 2026-09-30

 * Removes comparative promotional superlatives from the plugin header description
   and readme (factual language only).
 * Replaces the widget admin inline `<script>` toggle with a standalone `assets/
   js/widget-toggle.js` file properly loaded via `wp_enqueue_script()` on the widgets
   and customizer screens only; now correctly re-syncs after `widget-updated` / `
   widget-added` AJAX events.
 * Removes the discouraged `load_plugin_textdomain()` runtime call (retains the `
   Text Domain` and `Domain Path` headers that GlotPress / WP.org language packs
   rely on).

#### 2.0.2 – 2026-09-30

 * Fixes a remaining `MissingUnslash` PHPCS warning on the ad-code metabox save 
   path by calling `wp_unslash()` on the raw superglobal before `sanitize_textarea_field()`(
   canonical sanitization order).

#### 2.0.1 – 2026-09-30

 * Resolves every WordPress Plugin Check error and warning reported for the initial
   2.0.0 package.
 * Adds the required `translators:` comment above every placeholders-containing `
   esc_html__()` / `_n()` i18n call in Elementor and metaboxes output.
 * Replaces all `parse_url()` usage with `wp_parse_url()` and adds a sanitized `
   $_SERVER['REQUEST_URI']` read before URL matching.
 * Fixes unescaped-output errors (`$target` attribute on image ad links; Bricks `
   render_attributes` call — now with appropriate phpcs-ignore rationale for framework-
   pre-escaped strings).
 * Renames the two shortcode callback aliases to the `thesiadm_` prefix and renames
   the three SiteOrigin template globals to `$thesiadm_*` to satisfy `PrefixAllGlobals`.
 * Adds slow-query phpcs annotations on the two bounded `meta_query` / `meta_key`
   WP_Query usages (they run with `no_found_rows=true` on a low-cardinality meta).
 * Fixes naming-convention warnings on the old admin textdomain loader.
 * Reduces readme tags from 10  5 (allowed max), shortens short description to 127
   chars, and bumps `Tested up to` from 6.9  7.1 so the plugin appears in WP.org
   search results.

#### 2.0.0 – 2026-09-30

 * Makes all features 100% free: removes every Pro upgrade notice, paywall, licensing
   call, restriction, and upsell prompt from the plugin.
 * Unlocks Header, Footer, Before / After Content, Sidebar, Custom, and Inline positions
   for all users.
 * Unlocks Custom Code (AdSense / HTML / JS) ads and full device targeting for all
   users.
 * Adds native Elementor widget with two display modes (By Position, Specific Single
   Ad), responsive alignment, and responsive margin / padding controls.
 * Adds native Gutenberg `thesiadm/ad-block` block with server-side rendering preview,
   mode toggle, and inspector controls.
 * Adds native modules / integrations for Beaver Builder, Divi, WPBakery, SiteOrigin
   Page Builder, Oxygen, and Bricks (all conditionally loaded via class_exists /
   function_exists gates on builder-specific hooks — zero overhead when the builder
   is absent).
 * Rewrites the display engine with automatic Before / After Content injection via`
   the_content`, hardened `wp_kses()` allowlist for ad HTML on both save and render
   paths, lazy-loading for image ads, sensible empty-URLs = show-everywhere semantics,
   and deduped AdSense `adsbygoogle.js` loading.
 * Introduces two shortcodes: `[thesiadm_ads position="before-content"]` (position
   mode) and `[thesiadm_ad id="123"]` (single-ad mode), with `[smartspot_ads]` /`[
   smartspot_ad]` aliases, plus matching template tags.
 * Expands the legacy WP Widget with a Display Mode toggle, dynamic JS hide/show,
   and separate position / single-ad dropdowns.
 * Fixes the public CSS classname prefix (`.sam-*`  `.thesiadm-*`) so ad wrappers
   actually render styled.
 * Upgrades the admin assets: clipboard fallback, priority badges, ad-type-aware
   featured image box, Ctrl+S save, responsive sizing, and a safe v2.0 welcome notice
   that fires once on upgrade.
 * Bumps the minimum headers: Requires at least 5.0, Requires PHP 7.2, Tested up
   to 7.1, Text Domain `smartspot-ad-manager`, Domain Path `/languages`, full External
   Services disclosure for Google AdSense in the readme.

#### 1.0.0 – 2024-00-00

 * Initial public release.

## Meta

 *  Version **2.0.4**
 *  Last updated **3 weeks ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.0 or higher **
 *  Tested up to **7.1.3**
 *  PHP version ** 7.2 or higher **
 * Tags
 * [ad manager](https://wordpress.org/plugins/tags/ad-manager/)[ads](https://wordpress.org/plugins/tags/ads/)
   [advertising](https://wordpress.org/plugins/tags/advertising/)[elementor](https://wordpress.org/plugins/tags/elementor/)
   [gutenberg](https://wordpress.org/plugins/tags/gutenberg/)
 *  [Advanced View](https://wordpress.org/plugins/smartspot-ad-manager/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/smartspot-ad-manager/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/smartspot-ad-manager/reviews/)

## Contributors

 *   [ Isaac Auta ](https://profiles.wordpress.org/isaacshed/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/smartspot-ad-manager/)

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](https://smartspotad.isaacauta.com/donate)