What you’re building
A monetization stack where AdSense runs on your slots by default and direct sponsors join specific slots for the dates they booked.
Put AdSense and a sponsor in the same slot and they share it. Each page view shows one, weighted by priority (1-10). Schedule the sponsor’s dates; AdSense keeps the slot to itself before and after.
AdSense is the floor. Direct sponsors are the ceiling.
Why pure AdSense leaves money on the table
AdSense pays at programmatic rates, which on many niche audiences works out low per thousand views. A direct sponsor pays a flat fee for access to a specific audience. As an illustration only, a sponsor paying a flat $450 a month for one sidebar slot can beat what AdSense earns from the same 20,000 views. Your own numbers will differ.
Pure direct sales is risky in a different way: when sponsors lapse, the slot stops earning. Leaving AdSense in the slot means it keeps earning between bookings, with zero negotiation.
The right answer is both.
How sharing a slot works
When several ads are live in one placement, WB Ad Manager shows one per page view. It picks at random, weighted by each ad’s Priority slider. The slider runs from 1 to 10 and defaults to 5. Higher priority means a bigger share.
Dates decide which ads are in the pool at all. An ad before its start date or after its end date is not considered.
So a sidebar slot with AdSense at priority 1:
- Before the booking: AdSense is the only ad in the slot, so it shows on every view.
- You book a sponsor for September at priority 10: both ads are live. The sponsor gets about 91% of views (10 out of 11) and AdSense gets the rest.
- October 1: the sponsor’s end date has passed, so AdSense has the slot to itself again. No action needed.
Nothing pauses AdSense for you while a sponsor runs. If you sold the slot as exclusive, switch the AdSense ad off for the sponsor’s dates, or give the sponsor a slot AdSense is not in.
Monthly revenue compare
These figures are an example, not a forecast.
| Month | Slot state | Revenue (20k impressions/month) |
|---|---|---|
| August | AdSense only, $2 RPM | $40 |
| September | Sponsor at priority 10 ($450/mo), AdSense at 1 | $450 plus AdSense on about 1 view in 11 |
| October | AdSense only, $2 RPM | $40 |
AdSense on your OTHER slots keeps running the whole time.
Net effect: monthly revenue depends on how many slots you can book. With 3 slots, a 50% average direct fill rate and 20k impressions per slot:
- 1.5 slots direct @ $400/mo avg = $600
- 1.5 slots AdSense @ $40/mo = $60
- Total = $660 vs. $120 pure-AdSense
AdSense policy compliance
AdSense rules around mixed inventory:
- Yes: AdSense + direct sponsors on the same site = fine
- Yes: AdSense + direct sponsors on the same page = fine (different slots)
- Yes: Same slot rotates AdSense + direct = fine (only one renders per page view)
- No: Modifying AdSense ad code to add tracking = ban
- No: Encouraging clicks on AdSense = ban
- No: Pop-unders / interstitials wrapping AdSense = ban
Google changes its program policies over time, so read the current version before you build around them.
Use the AdSense ad type, or paste the unit into a Code ad. The AdSense type takes your publisher ID and slot ID and loads the AdSense script once per page. A Code ad renders your unit unchanged.
Duties that stay with you
The plugin renders your AdSense code unchanged and caps how many ads a page shows. The rest of the compliance is yours.
- Follow the AdSense program policies. Do not edit the ad code, and do not ask readers to click.
- Label paid placements. The ad label prints “Advertisement” by default, above or below the ad, and you can change the text. It does not write a sponsorship disclosure for a sponsor.
- Handle consent yourself. AdSense uses cookies, so set up your consent tool and Google’s settings for your audience.
- Mention the lookup if you target by country. Country targeting looks the visitor up with an IP geolocation service, and IPs are anonymized with a daily-rotating hash. Say so in your privacy policy.
Planning your slots, step by step
- Pick three to five slots and give each a name you will recognise, such as sidebar top or after paragraph three.
- Add AdSense to each slot at priority 1, with no dates, so it earns while the slot is unsold.
- Write a rate card for the slots you want to sell and say whether each is shared or exclusive.
- Create the sponsor’s ad when a deal closes, with the same placement ticked, priority 10 and the agreed dates.
- Preview it live and send the sponsor the page address before the start date.
- Review after the run with the clicks and CTR from All Ads, then offer the renewal.
Setting up the slot
Per slot:
- WB Ad Manager > Add New Ad. Choose the AdSense ad type (or a Code ad with your unit), tick a placement such as the sidebar widget, and set Priority to 1. Leave the dates empty so it runs all the time.
- When you book a sponsor, add an image ad and tick the same placement. Set Priority to 10 and set the start and end dates.
- During the sponsor’s dates the two share the slot, about 91% to the sponsor. Before and after, AdSense has it alone.
Dates use your site timezone, so check it in WP > Settings > General before you schedule.
The two-tier sales pitch
This setup gives you a clean pitch to direct sponsors:
“Your campaign runs on the [Site Name] sidebar from [date] to [date]. Premium placement, top of the sidebar above the fold.”
Be exact about share. At priority 10 next to AdSense at 1, the sponsor gets about 9 views in 10. If the sponsor wants every view, sell it as exclusive and take AdSense out of that slot for the dates.
A normal week of running it
Once the slots are set up, the plugin runs itself between bookings. A normal week looks like this:
- Check what ends soon. Scan All Ads for sponsor ads whose end date falls within the next two weeks.
- Prepare the next booking. Build the next sponsor’s ad as a draft, with its dates already set.
- Read the numbers. Look at impressions, clicks and CTR for the live sponsors, and see how to rotate ads and pick a winner.
- Spot-check the slots. Load a page in a private window and confirm the right ad shows. The guide to AdSense without slowing the page helps if speed slips.
What you can measure
Free shows Impressions and Clicks columns in All Ads and a CTR comparison box for ads in the same slot. Impressions are counted when the server renders the ad, so pages served from a full-page cache undercount.
Pro adds the Ad Analytics screen, revenue by placement, geo and device breakdowns, and CSV export. There is no Reports screen in the free plugin.
AdSense earnings are not in the plugin. Google’s own dashboard has them. The plugin’s own numbers tell you how often an AdSense ad was shown, not what it paid.
What it earns, and how
AdSense income arrives from Google on its own schedule. Direct sponsor income arrives the way you invoice it, usually by bank transfer or a payment tool you already run.
Pro adds a second route: advertisers prepay credits into a wallet and the Revenue screen lists what they paid for ads and classifieds. It does not include AdSense earnings, and neither plugin writes invoices or insertion orders.
Total the two in a spreadsheet each month. The mix tells you which slots to sell harder. The AdSense alternatives post covers the decision when AdSense pays little.
Programmatic alternatives (when you outgrow AdSense)
When your traffic grows, managed ad networks such as Ezoic, Mediavine and Raptive become an option. Each sets its own traffic minimum and approval process, and their requirements change, so check each network’s own site before you plan around one.
WB Ad Manager treats them as code. Paste the network’s tag into a Code ad, keep the priority and dates, and swap the embed code when you change networks.
Hybrid setup with multiple networks
Some publishers want Ezoic on the long-tail content and Mediavine on the premium content. Give each network’s ad a display rule for the tag:
- Mediavine ad, shown on posts tagged “review”
- Ezoic ad, shown on posts tagged “news”
- Direct sponsor, scheduled at a higher priority so it takes most of the views during its dates
Set the rule once per ad and it applies across the whole site.
When to outgrow this approach
If your direct revenue exceeds programmatic by 5x (you’re booking $5,000/month direct vs $1,000 AdSense), AdSense becomes a distraction. Switch the AdSense ads off and keep the slots for direct campaigns. Between bookings, run your own house ads (your products, newsletter signup, social CTAs).
This usually happens around 50-100k monthly visitors with focused vertical content. Before that, the hybrid model is the right answer.
Common pitfalls
- AdSense ad code in the wrong slot dimensions. Each placement lists the sizes it is designed for, but the plugin does not block a mismatched size when the page renders unless you switch format matching on, and it is off by default. Check sizes yourself.
- Too many ads on one page. A Max ads per page setting (default 10) caps all ads on a page. Lower it if your pages feel crowded.
- Direct sponsor’s creative size differs from AdSense slot. Causes layout shift (CLS hit). Lock placement dimensions and require sponsors to match.
- Forgetting to set the direct campaign’s start date in your timezone. Plugin uses site timezone. Set it explicitly in WP > Settings > General to avoid 8-hour-off bugs. The end date counts through the end of that day.
What WB Ad Manager does not do here
Be clear about these limits before you promise anything to a sponsor:
- A sponsor does not override AdSense. A shared slot is picked at random by priority.
- Nothing pauses AdSense while a sponsor runs. You switch it off or move the sponsor to a slot without AdSense.
- There is no fallback if AdSense fails to fill, and no “unsold” label.
- There is no counter for AdSense units per page, only the Max ads per page setting across all ads.
- It does not report AdSense earnings, and it does not send invoices.
Your first 30 days
- Days 1 to 5. Choose your slots, add AdSense to each, and note your timezone setting.
- Days 6 to 10. Write the rate card and a one-page “Advertise with us” request.
- Days 11 to 18. Approach five readers or businesses that already know your site.
- Days 19 to 24. Run one test sponsor for 24 hours and check the share it gets.
- Days 25 to 28. Book the first real sponsor and send the preview address.
- Day 30. Compare AdSense earnings for the month against the direct fee, slot by slot.
Where it sits with the other plugins
WB Ad Manager is one of several separate, optional plugins from the same team. They run on one WordPress site and one login, and you install, host and update each one yourself.
The links that exist are narrow. The free plugin has ad positions for BuddyPress, bbPress and Jetonomy, and Pro adds a BuddyPress integration for its advertiser portal. Everything else here is a statement about the audience, not about code.
BuddyNext (community), Jetonomy (forum and Q&A), Learnomy (courses), Listora (directory), WP Career Board (job board), WB Gamification (points and badges), and the BuddyX Pro and Reign themes run on the same site. We claim no built-in link to them. A publisher who owns a community, a directory or a job board has audiences worth selling space against, and each place that audience gathers can be its own slot. See the full-stack publisher guide and the direct sponsor guide for the selling side.
See the features page for the full list. Compare tools on the Advanced Ads alternative page, or see free versus Pro and the pricing page.
Ship checklist
- 3 placement slots chosen (sidebar, after a paragraph, sticky footer or similar)
- An AdSense ad in each at priority 1, with no end date
- One test sponsor ad at priority 10 scheduled for a 24-hour window. Check it shows on most views in that window and AdSense has the slot alone afterwards
- Impressions and clicks per ad show in WB Ad Manager > All Ads, with a CTR comparison box. Pro adds the Ad Analytics screen and revenue by placement
- Sponsor pitch states the share the sponsor gets, or that the slot is exclusive
Then book your first direct sponsor. They’re often a reader who already comments.
Common questions
Does a direct sponsor replace AdSense in a shared slot?
No. When AdSense and a sponsor are live in one slot, each page view shows one of them, picked at random and weighted by priority. A sponsor at priority 10 next to AdSense at 1 gets about 91 percent of views. The sponsor’s dates only decide when it is in the pool. Nothing pauses AdSense.
What happens to the slot after the sponsor’s end date?
The sponsor’s ad leaves the pool, so AdSense has the slot to itself again with no action from you. The end date counts through the end of that day in your site timezone, so check the timezone under Settings, General before you schedule.
How do I sell a slot as exclusive?
Switch the AdSense ad off for the sponsor’s dates, or give the sponsor a slot where AdSense is not placed. Because the plugin never pauses AdSense for you, exclusivity is something you set up by hand. Tell the sponsor the share they will get, or that the slot is exclusive.
Can I use Ezoic or Mediavine instead of AdSense?
Yes, as code. Paste the network’s tag into a Code ad, or use the AdSense ad type for AdSense itself. Priority and dates work the same way. Each network sets its own approval rules and traffic minimums, so check the network’s own site before you apply.
Do I need Pro to run AdSense with direct sponsors?
No. Sharing a slot by priority, scheduling by date, country targeting and the Impressions, Clicks and CTR columns are in the free plugin. Pro adds the Ad Analytics screen, revenue by placement, A/B testing and the advertiser portal for self-serve sponsors.