A WordPress plugin · works with any theme

Share AdSense revenue with your writers — from their accounts, not your pocket.

A WordPress plugin that manages your AdSense placements and splits what they earn between the site and its writers — through the writers’ own accounts, so Google pays them directly, with nothing passing through you.

Share AdSense revenue with your writers — from their accounts, not your pocket.
29
ad placements, each saying where it sits
14 KB
of JavaScript reaches the visitor, and no CSS
1
database read per request
0
external dependencies

An Arabic site with writers. Three ways to share the revenue, all bad.

The owner wants to reward the writers with a share of the ads, and is left choosing between:

Work it out by hand and transfer every month

Hours every month, and an argument about the numbers that never ends.

Give them access to the account

Nobody does this.

Do not share at all

And lose the best writers to somebody who does.

How is the revenue split? Two rules, no more.

  1. 1

    The share applies inside that writer’s posts only

    The home page, the archives, the pages, the header and the footer are always the site’s. A writer does not take 70% of the site’s income — they take 70% of the impressions on their own posts.

  2. 2

    One draw per visit, not per ad

    On every visit to a post a member wrote, one draw is made: with a 70% chance every ad on that visit is served from the writer’s account, and with a 30% chance every one of them from the site’s. Two accounts never mix on a single page — mixing two publishers in one visit is against AdSense policy.

  3. 3

    And no money passes through you

    The ads on a writer’s post are served from their own AdSense account, so Google takes its cut and sends the rest straight to them. You transfer nothing, calculate nothing, and answer for nothing.

Three states a writer can be in — and where the money goes in each

Their own account

When: they enter their publisher ID. The money: to them, from Google directly.

A channel inside yours

When: they have no account and you create a channel for them. The money: to you, and you settle with them from the channel report.

No details at all

When: they never fill in their profile. The money: to you, and their own dashboard says so.

29 ad placements, and every one says where it sits and how it is delivered

Each placement carries a badge naming how it is delivered — automatic, inside the content, beside the title, through the theme, or manual with its automatic fallback named. So you never set an ad in a placement that does not appear and then go hunting for the reason.

Site-wide — 7

<head> · after <body> · before and after the header · before and after the footer · before </body>

A single post — 15

Before and after the title area · before and after the title · before the content · after paragraphs 1 to 8 · mid-content · after the content · after the post · before the comments

Archives — 4

Before the archive title · after it · the start of the post list · its end

Special — 3

A sticky ad at the bottom of the screen · the sidebar, as a widget · shortcodes

Built for an Arabic site that actually lives on AdSense

It does not break AMP pages

One forbidden tag in AMP invalidates the whole page, not just the ad. The plugin renders amp-ad with the right attributes automatically — no second tab and no parallel set of placements.

The density limit protects you from yourself

Breaking the ad-density policy suspends the whole account, not the unit. So the limit is computed from each post’s word count — and the word counter understands Arabic.

Display rules without eval()

A condition such as is_single() && !is_category('sport') is evaluated by a safe, white-listed parser, and a wrong rule is refused with a message that names the mistake.

ads.txt is generated and maintained

It carries your ID and your writers’ IDs, and is rewritten whenever a writer’s account changes. Turning revenue sharing off takes their IDs back out of it.

Know how many of your visitors block ads

Detection with three modes: silent measurement, which is the default; a message the visitor can dismiss; or withholding the content. The administrator is always exempt.

It works with any theme

The placements that hug the title are mounted in the browser, so they work with any theme that puts its title in an <h1>. With the Albadil theme they all become automatic.

Light on the visitor

14 KB of JavaScript and no CSS file at all, with optional lazy loading and reserved ad space so the content does not jump.

Importing never carries over what will quietly not work

Move your settings across from the Albadil theme or from the previous generation in one click, with a report: what came over, what was refused, and why.

Inside the dashboard

Revenue sharing: one general share, and exceptions for particular writers.
Revenue sharing: one general share, and exceptions for particular writers.
The general settings — every tab says exactly what it does.
The general settings — every tab says exactly what it does.
Post ads: the placements, each with its delivery badge.
Post ads: the placements, each with its delivery badge.
The ads.txt file is generated and maintained, with its status as the site serves it now.
The ads.txt file is generated and maintained, with its status as the site serves it now.
Ad-block detection in three modes, with silent measurement as the default.
Ad-block detection in three modes, with silent measurement as the default.
Tools: moving from an older system, with a report saying what moved, what was refused and why.
Tools: moving from an older system, with a report saying what moved, what was refused and why.
524
automated tests on the distribution engine alone · 3,194 assertions
38
checks against a real WordPress
L6
PHPStan level 6, with no exceptions
73%
test code against production code

The licence

Paid once. A licence for one domain, with twelve months of updates and support.

The licence

25.00 $ One payment
  • Domains1
  • SupportOne year
  • UpdatesOne year
  • A licence for one domain
  • Updates and support for twelve months
  • All 29 placements and the whole revenue-sharing engine
  • Your ads never stop when the licence ends — only the sharing does
Buy now

And your ads never stop when the licence ends — only the revenue sharing does.

Questions asked before buying

Does the money reach the writer from Google directly?

Yes, if they enter their publisher ID. Nothing passes through you.

And if they have no AdSense account?

You create a channel for them inside yours; their posts are counted on that channel and you settle with them from its report.

Can two publishers’ ads appear on one page?

No — one draw per visit settles the whole page to a single account.

What if I turn revenue sharing off?

Every impression returns to your account at 100% immediately, and the writers’ IDs leave ads.txt.

Will it work with my theme?

Yes. The placements that depend on the theme’s markup say so, and name their automatic fallback.

What about AMP pages?

Covered, with no extra setup and no second tab.

Does it slow the site down?

14 KB of JavaScript, no CSS files, one database read.

What happens when the licence ends?

Your ads never stop. Only the revenue sharing stops, with a notice in the dashboard.

Share the revenue with your writers from today — without transferring them a penny yourself.

A licence per domain, 29 placements, and a distribution engine guarded by more than five hundred tests.

Buy the licence