Abuja Digital Studio · Est. 2018
Start a Project
← All plugins
Live · v4.0.1 · Premium

OAds

Native ad manager for WordPress. Run image, text-card, and HTML embed ads with per-section targeting, date scheduling, impression and click tracking, video event metrics, an advertiser self-serve portal, sellable ad plans, and a full analytics dashboard. All native, all on your server.

WP 6.0+PHP 8.0+7 database tablesNative + portal + plans
0Impressions today
0Median CTR
7Database tables
Lifetime updates
~ oads / delivery.log
● live

Test a zone.
See what fills it.

This is a UI simulation of OAds’ built-in zone inspector, showing you exactly what the tool looks and feels like inside your WP admin. When installed, it pulls live eligible-ad counts, click-through rates, impression totals, and active targeting rules from the ad delivery tables.

Inspect a section.
Read the inventory.

Simulated demo. Runs automatically as you scroll. The real plugin reads live data from your delivery tables.

Demo simulation
Active ads in zone·awaiting lookup
CTR last 7d·awaiting lookup
Impression count·awaiting lookup
Targeting rules·awaiting lookup

Everything ads,
none of the network.

One plugin. No third-party ad networks unless you want them. No revenue share. Your inventory, your data, your server, your rules.

// Native ads · 7 database tables · 22 features
Image ads with custom destination
Text-card ads (headline / body / CTA)
HTML embed ads (any creative)
Custom post type oads_ad
Per-section targeting (taxonomy)
Named zones with size constraints
Date-range scheduling (start / end)
Frequency capping per visitor
Geo and time-of-day targeting
Rotation groups (random / RR / A/B)
Impression tracking + analytics
Click tracking + CTR rollups
Video event tracking (5 events)
Advertiser self-serve portal
Sellable ad plans with pricing
WooCommerce product wiring
REST API for ad delivery
Full WP-CLI surface
Lazy below-the-fold delivery
IP anonymization (GDPR)
Data retention cron
Disclosure label (“Sponsored”)

Click around.
It’s all real.

Six interactive previews of the actual OAds admin. No screenshots; these are working mock-ups of what ships in the plugin.

Ads

Active ads, types, sections, schedules, impressions, and click counts in one admin view.

28Active ads
48,200Impressions today
1,442Clicks today
2.99%Median CTR
Recent ad activitylive sample
AdTypeSectionImpr.CTR
Spring sale bannerimagesidebar4,8203.4%
Velluma launchtextin-article6,1402.8%
Studio mentoringhtmlfooter2,9101.9%
Northrise webinarimageheader2,1804.1%
Craftshop promotextsidebar7,3303.7%

Zones

Named placements with size constraints and fill priority. Each zone maps to a section term and a do_action('oads_zone', 'slug') call.

Impressions per zone · last 8 weeksgrowing
Configured zonesby fill priority
ZoneSizeFillActive ads
header728x90direct4 ads
sidebar300x250direct9 ads
in-article336x280direct7 ads
footer728x90house3 ads
modal500x500direct5 ads

Groups

Rotation groups for A/B testing and round-robin delivery. Click Simulate run to watch a group rotate. Click any card to make it the active variant.

Variant A servedVisitor lands on the post. Group selector picks variant A from the rotation pool.
Impression loggedRow inserted into wp_oads_impressions with section and page_url. Frequency cap ticks up.
Click interceptedVisitor clicks the ad. wp_oads_clicks logs the hit, then redirects to destination URL.
A/B winner declaredAfter 10k impressions, group engine sets ab_winner to the higher-CTR variant.
Active groupsrunning
Spring sale A/B2 variants · 12,440 impressionsactive
Sidebar rotation5 ads · round-robinactive
House fallback3 ads · randomremnant

Portal

Advertisers submit through [oads_portal]. Each submission is a row in wp_oads_submissions with creative, sections, budget, and dates.

12Submissions this month
8Approved
$4,820Booked revenue
3Pending review
Recent advertiser submissionsby status
SUBMISSION
Velluma SaaS
sidebar · $400approved
SUBMISSION
Craftshop NG
in-article · $250approved
SUBMISSION
Northrise Labs
header · $800pending
SUBMISSION
Studio F
footer · $150approved
SUBMISSION
Mango Studios
modal · $600approved
SUBMISSION
Lagos Builders
sidebar · $300pending

Analytics

Per-ad and per-zone rollups: impressions, clicks, CTR, video events, top creatives, top pages. All from your own database.

Impressions vs clicks · last 8 weekslive
Spring sale banner image
last 7d
12,440 impr · 422 clicks · 3.39%
Velluma launch text
last 7d
8,920 impr · 248 clicks · 2.78%
Studio mentoring html
last 7d
6,180 impr · 118 clicks · 1.91%
Northrise webinar image
last 7d
4,820 impr · 198 clicks · 4.11%
Craftshop promo text
last 7d
3,310 impr · 122 clicks · 3.69%

Settings

Disclosure label, frequency cap defaults, lazy delivery, GDPR + IP anonymization, data retention, AdSense fallback, and prebid header bidding.

180dData retention
OnLazy delivery
OnIP anonymize
OffPrebid bidding
Configured optionshealthy
Disclosure labelSponsoredactive
Frequency cap default3 per visitor / dayactive
AdSense fallbackconfiguredactive
Portal notify emailads@studio.ioactive
Read the developer docs

What you get
vs. what they sell you.

Most ad stacks for WordPress are either rev-share networks (AdSense) or plugin-plus-paid-add-on stacks (Advanced Ads, AdRotate). OAds is the whole thing in one install, with a one-time price and no revenue share.

AdSenseAdvanced AdsAdRotateOAds
Native image ads (no third-party network)noBuilt in
Native text-card adsnopaid add-onBuilt in
HTML embed ads (any creative)Built in
Per-section / per-zone targetingBuilt in
Date-range scheduling (start / end)paid add-onBuilt in
Impression trackingBuilt in
Click trackingBuilt in
Video event tracking (start / q1 / mid / q3 / end)nononoBuilt in
Advertiser self-serve portalnopaid add-onnoBuilt in
Sellable ad plans with pricingrevenue sharenonoBuilt in
A/B rotation groupsnopaid add-onBuilt in
Round-robin rotationnoBuilt in
Geo + time-of-day targetingnopaid add-onpaid add-onBuilt in
Frequency cappingpaid add-onBuilt in
Built-in analytics dashboardseparate consoleBuilt in
REST API + WP-CLI surfacenononoBuilt in
Data stays on your servernoYours
Pricing modelrev share (~32%)Free + premium add-onsFree + $53 yr$49 once

Clean public API.
Read the source.

PSR-4 namespaced classes, helper functions for the common stuff, REST endpoints for ad delivery, WP-CLI commands, and a hook surface that lets you extend any subsystem without forking.

// Render an ad zone in any template, theme part, or shortcode.
// OAds picks an eligible ad based on section, schedule, frequency caps, and group rotation.
use Orravo\OAds\Display;

do_action('oads_zone', 'sidebar');

// Or call the renderer directly with options:
Display::render_zone([
    'section'     => 'in-article',
    'fallback'    => 'house',
    'lazy'        => true,
    'disclosure'  => 'Sponsored',
]);

Choose your plan.
Lifetime or monthly.

No tiers based on impression count. No revenue share. Pay once, install on the sites in your tier, get every future update free.

// lifetime
One-time payment. All future updates included.
₦132K
≈ ₦66K
// monthly
Cancel any time. No lock-in.
≈ ₦4K/mo

Asked & answered.

Do I need an AdSense or other third-party account to use OAds? +
No. OAds is a native ad manager. You upload your own creatives (image, text-card, or HTML embed), assign them to sections, set a schedule, and OAds serves them directly from your WordPress site. AdSense and prebid header bidding are optional integrations if you want them, but the whole thing works standalone.
Will it slow down my site? +
No. Ad selection runs in a single optimized SQL query against the candidate pool, with frequency caps and schedule checks done in PHP. Lazy delivery defers below-the-fold zones until they enter the viewport. On a moderately busy WP site (50k pageviews per day), median ad render adds under 8ms per request.
How does the advertiser portal work? +
Drop the [oads_portal] shortcode on a page. Advertisers fill in a form (creative, target sections, budget, dates), pay through your existing WooCommerce or off-platform, and the submission lands in your wp_oads_submissions table. You review in the admin, click approve, and OAds creates the actual ad post and activates it on schedule.
Can I sell pre-priced ad plans? +
Yes. Drop the [oads_plans] shortcode on a sales page. Define plans in the admin (price, impression cap, duration, allowed sections), and the page renders a pricing grid. If you wire WooCommerce product IDs, OAds auto-activates the plan on order completion. Otherwise it routes to a custom CTA URL.
What’s the table prefix and what tables does it create? +
OAds creates 7 tables: wp_oads_impressions, wp_oads_clicks, wp_oads_zones, wp_oads_groups, wp_oads_video_events, wp_oads_submissions, and wp_oads_plans. Plus a custom post type oads_ad and a taxonomy oads_section. All tables are properly indexed for the common queries (per-ad, per-section, per-day rollups).
Refund policy? +
14-day no-questions refund. We’re a small studio in Abuja and we’d rather you tell us what didn’t work and let us fix it, but we won’t argue if you’d rather have your money back.

Stop renting your inventory.
Run your ads like a real publisher.

Get OAds for ≈ ₦66K one-time