← All use cases

Self-serve ad platform

Let your members sell ads to each other (and keep your cut)

Self-serve ad marketplace inside your site. Members buy credits, launch their own campaigns, you set inventory + commission. Pro feature.

What you’re building

A self-serve advertising platform that lives inside your WordPress site. Members top up an account balance (via WooCommerce, EDD, MemberPress, or any billing plugin), build their own ad campaigns from a front-end dashboard, pick placements + budgets, and run them against your inventory.

You set the rate card. You set the moderation rules. You collect the revenue.

This is the Reddit / Facebook / LinkedIn ads model — small advertisers self-serve, the platform takes the cut. Implemented inside WordPress.

Why this is structurally better than direct sales

Direct ad sales scale linearly: each sponsor = one email thread, one upload, one report. Revenue caps at how many threads you can hold.

Self-serve scales differently: 100 small advertisers + a UI = the same labor as 5 direct deals. Revenue compounds because:

  • Long-tail advertisers who’d never buy $500/month sidebar will spend $30 testing self-serve
  • Members already in your community trust the platform more than a cold sponsor pitch
  • Credit top-ups create float (members buy $100 in credits, run $40 in ads, balance sits)

Reddit’s self-serve ad business is ~25% of revenue from advertisers spending <$10k/year. Same shape applies at every scale.

What members actually do

Front-end member flow:

  1. Sign up + verify as an advertiser (separate role from regular member). Free, takes 30 seconds.
  2. Top up credits. $20 minimum, paid via your existing checkout (WooCommerce, EDD, Stripe). Balance shows in their dashboard.
  3. Build a campaign. Pick ad type, upload creative, choose placement, set start + end date, set max daily spend. Plugin previews live in their dashboard.
  4. Submit for review. Goes to a moderation queue you control.
  5. You approve / reject. Approval flips it live. Spending starts.
  6. Campaign runs. Plugin deducts credits per impression or per click (you set the model). Report in member dashboard updates real-time.

Stops when credits run out, end date passes, or daily cap hits.

Inventory + pricing models built in

Pro supports both:

  • CPM (cost per mille) — $X per 1,000 impressions. Standard programmatic model.
  • CPC (cost per click) — $X per click. Members pay only when ad is clicked.

Common configuration:

PlacementCPMCPC
Sidebar widget$2-5$0.20-0.50
In-article$4-8$0.40-0.80
Header bar$6-10$0.60-1.00
Activity feed (BuddyPress)$3-7$0.30-0.70

You set these. Plugin enforces them on campaign creation.

Commission to you (the platform owner)

Two ways to take a cut:

  1. Markup at the rate-card level. You charge $5 CPM. You cost the platform $0 (it’s your inventory). 100% is your margin.
  2. Real commission against external inventory. If you ever integrate third-party ad networks, plugin tracks commission rate per network.

For most cases, model #1 applies: every dollar advertisers spend is yours minus payment-processor fees.

Moderation workflow

Critical part. Self-serve ad platforms fail without it.

Plugin queues every new campaign for review. Admin dashboard shows:

  • Campaign creative + landing URL
  • Targeting + placement
  • Member’s history (previous campaigns + flags)
  • One-click approve / reject with reason

Rejection sends a notification with your reason. Members can resubmit.

Recommended rejection criteria (publish these as platform policy):

  • Misleading claims
  • Affiliate cloak chains (single hop is OK; chained redirects not)
  • Content unrelated to community focus
  • Adult / gambling / weapons (depending on your community)
  • Direct competitor of the platform

Spend 5-10 min per campaign on review for the first 50 campaigns. Patterns emerge fast. Most members self-correct after one rejection.

BuddyPress + bbPress group ads

Pro ships with BuddyPress integration. Members can run ads scoped to specific BuddyPress groups they own. Group admins get a “Boost this group” button that opens the campaign builder pre-filled for their group.

This is the killer feature for community marketplaces: members promote their own groups using their own balance. Platform takes the cut without sourcing campaigns.

Member-side reporting

Every advertiser dashboard shows:

  • Active campaigns with impression + click + spend counts updating real-time
  • Historical campaigns with full CSV export
  • Credit balance + top-up button
  • Pending invoices (for credit-based platforms)
  • Refund requests (if a campaign was malformed)

Build trust by making the data they see match the data you see exactly. Self-serve ad platforms collapse when advertisers don’t believe the metrics.

The 14-day launch playbook

  1. Day 1-3. Pick rate card. Define moderation policy. Wire WooCommerce credit top-ups.
  2. Day 4-5. Build 3 placement types into your theme (sidebar, in-article, header).
  3. Day 6-7. Run a closed beta with 5-10 existing community members. Free first campaign for each.
  4. Day 8-12. Iterate on the dashboard UX based on what trips them up. Almost always: ad sizing, billing clarity, “where will my ad appear?” preview.
  5. Day 13. Publish your launch announcement + open advertiser signup.
  6. Day 14. Live. Start moderating.

Common pitfalls

  • No daily / monthly cap on member spend. Members run out of credits accidentally and feel scammed. Add a hard daily cap as a default.
  • Approval queue lag. If approval takes >24 hours, members lose interest. Define an SLA + stick to it.
  • No clear refund policy. Bad creative goes live, member wants money back. Have a 7-day refund-on-non-performance rule.
  • Mixing self-serve ads with AdSense in same slot. Confuses both pricing systems. Reserve specific slots for self-serve; keep AdSense on the rest.
  • Underpricing. $1 CPM destroys perceived value + your margin. Don’t undercut a marketplace you’re trying to build trust in.

Ship checklist

  • WooCommerce / EDD credit top-up wired (plugin > Pro > Billing settings)
  • 3 placements defined with public rate card
  • Moderation policy written and linked from advertiser dashboard
  • Daily + monthly spend caps configured per role
  • Beta cohort of 5-10 existing members lined up
  • Refund-on-non-performance policy published

Then open signup. Most platforms see meaningful revenue inside 60 days.