← All posts

Ads Inside a WordPress Community Without Wrecking the Feed

How WB Ad Manager places ads inside Jetonomy threads, BuddyPress feeds and bbPress forums, who sees them, and the limits worth knowing before launch.

On a community site, the most valuable pixels aren’t in the header. They’re inside the conversation: the thread someone is reading, the activity feed they scroll, the member directory they browse. That’s where attention is, and it’s also where a badly placed ad does the most damage.

A banner dropped into the page template can’t tell a forum thread from a blog post. It sits in the same spot on every page, and members learn to scroll past it. Ads that live inside the community’s own layout can be placed with some care: after the topic body, after every fifth reply, between activity items.

WB Ad Manager’s free plugin has placements for three community plugins: Jetonomy, BuddyPress and bbPress. This guide covers every position it offers, how the “every Nth item” rules work, how to decide who sees what, and the limits that matter before you turn it on. All of it is in the free plugin.

One ad system, three community plugins

Each community plugin gets its own group of placements, and each only appears when the matching plugin is active. If Jetonomy isn’t installed, you won’t see Jetonomy positions in the ad editor. There’s no setting to configure and nothing to enable first.

A community placement works like any other. You create an ad, choose its type, tick the positions where it should appear, and publish. The same ad can run in a Jetonomy sidebar, a BuddyPress directory and a blog post if you want, because placements are just checkboxes on the ad.

The ad types available are the plugin’s standard five: image, rich content, code, Google AdSense and email capture. The rich content type is a plain HTML box, not a visual editor, so paste markup into it.

Jetonomy: seven positions

Jetonomy is the forum and Q&A plugin. WB Ad Manager registers one position for each place Jetonomy exposes in its templates, so each is independently selectable:

  • Sidebar Top. Above every widget in the sidebar.
  • Sidebar After About. Right after the About card, on space pages only.
  • Sidebar Bottom. Below every widget.
  • After Topic Body. Between the topic and its replies.
  • Before Replies. Above the list of replies on a single topic.
  • Between Replies. After every Nth reply, with the frequency set on each ad.
  • After Replies. Below the replies and above the reply form.

The module is written for Jetonomy 1.3.0 and later, which is the first version that exposes these positions. Keep both plugins current.

For a Q&A forum, “After Topic Body” is usually the strongest spot, because the reader has just read the question and is about to scan the answers. “After Replies” catches people who’ve reached the end of a thread and are deciding what to do next.

Between replies: how often is too often

The between-replies position is where community ads go wrong, so it has its own controls. On the ad, you set how many replies to wait, and the default is five. You also choose whether the ad repeats.

  • Repeat off: the ad appears once, after the Nth reply. A thread of 30 replies shows it a single time.
  • Repeat on: the ad appears after every Nth reply. A thread of 30 replies with N set to 10 shows it three times.

Start with repeat off. One ad in a long thread is noticeable. Four is the sort of thing members mention in the feedback channel.

BuddyPress: activity, directories and sidebars

BuddyPress sites have three kinds of positions.

The activity stream. An ad can appear inside the feed after a set number of activity items. The default is after the third item. As with Jetonomy, a repeat option decides whether it shows once at that position or every Nth item. An ad in the stream sits among the posts members came to read, so it needs to look like it belongs there, and it should always be labelled.

The directories. Four positions sit around the BuddyPress lists: before and after the members list, and before and after the groups list. These suit sponsors who want people actively browsing for other members or groups.

The sidebars. There are widgets for member profiles, group pages and the activity page. They’re normal WordPress widgets, so you drop them into the sidebar areas your theme provides.

bbPress: forum lists, topic lists and single topics

bbPress has the same idea in its own vocabulary. The positions are before and after the forum list, before and after the topic list, and before and after a single topic. A repeat setting and a “show after every” number control how often an ad appears inside a topic’s replies, and a sidebar widget places an ad on single topic pages.

Why a thread is not a blog post

A blog post has one author and one reader’s attention. A thread has many voices, and the reader is often in the middle of a task: reading an answer, deciding whether to reply, checking whether someone has replied to them. An ad that interrupts that task costs more goodwill than the same ad under an article.

That does not mean community ads are a bad idea. It means the position should respect the moment. The end of a topic body, the end of a long thread and the sidebar are natural pauses. The middle of an argument is not.

Mobile deserves its own thought. On a phone there is usually no sidebar, so sidebar positions may not show at all, depending on your theme. Check which of your positions actually appear at phone width before you count on them.

Decide who sees the ads

A community has two audiences, and they don’t want the same thing. Guests are a prospect audience: they might be landing from search, and you’d like to monetize that traffic. Members are the reason the community exists, and ads can erode their goodwill.

The free plugin lets you handle them differently:

  • Logged in or logged out. An ad can be limited to either group.
  • Roles. An ad can be limited to certain WordPress roles, so a sponsor can reach only your free members.
  • Dates and days of the week. An ad can have a start and end date, and can run only on set days.
  • A global switch. One setting hides ads from every logged-in user.

A common pattern is to show sponsors to guests and to free-tier members, and show nothing to paying members. That turns the absence of ads into a reason to upgrade.

You can also target by device, and by country. Country targeting works by looking up the visitor’s IP address with an external geolocation service, so mention that in your privacy policy. The plugin anonymizes IP addresses with a daily-changing hash, but the lookup itself is a call to another service.

A worked example: one busy thread

These numbers are an example, not a forecast. Suppose a forum thread has 25 replies and you add a between-replies ad with the wait set to 8.

  • With repeat off, the ad appears once, after reply 8.
  • With repeat on, it appears after reply 8, after reply 16 and after reply 24. That is three ads in one scroll.
  • With the wait set to 12 and repeat on, it appears after reply 12 and after reply 24, which is two.

Now add an After Topic Body ad and a Sidebar Bottom ad, and a reader of that thread meets up to five ad slots. For a thread that long, three is plenty. The sensible move is to start with the single repeat-off ad and add a second only when the click-through figures justify it.

Rotation among several sponsors

If several ads are live in the same position, the plugin shows one per page view. It picks at random, weighted by each ad’s priority, a number from 1 to 10 with a default of 5. A sponsor at priority 10 next to one at priority 1 gets most of the impressions, though the lower one still appears now and then. Frequency caps, including a per-visitor limit, let you control how often one person sees the same ad.

Be careful with expectations here. This is weighted random rotation, not a guaranteed sequence, and it doesn’t make a direct sponsor automatically beat AdSense in the same slot. If you need a sponsor to have a position to themselves, give the two ads different positions.

Label every ad

Members get annoyed by ads that pretend to be posts. The plugin has an ad label setting, and by default it prints “Advertisement” above the ad. You can change the text and put it below instead.

Don’t turn the label off in a community. It costs a little click-through and buys a lot of trust, and it’s good practice for ad disclosure.

Common mistakes in community ad setups

Most problems come from a handful of habits, and all of them are easy to avoid.

  • Repeating from the first reply. A low wait number with repeat on turns a short thread into a wall of ads. Raise the number first.
  • Stacking two ads at one position. Several live ads in one position rotate, one per page view. If you want two ads visible at once, give them different positions.
  • Showing the same ad to members all day. The session limit on each ad caps how often one visitor sees it in a browser session. Use it on any ad that sits in a busy thread.
  • Skipping the label. In a feed an unlabelled ad looks like a post, and members notice.
  • Forgetting the empty community. A new forum with five threads has little to sell. Fill the community first, and sell space once there is steady reading.

Limits to know before you start

  • Impressions are counted when the server renders the ad. If a page is fully cached, the count can be low. Check how your caching treats pages that contain ads.
  • There’s a cap on ads per page. The default is ten, across all ads.
  • Detailed analytics are Pro. Free shows impressions and clicks per ad and a click-through comparison. Breakdowns by country, device and source belong to the Pro analytics.
  • Position counts depend on your theme and plugin versions. Jetonomy positions need the version noted above.
  • AdSense rules still apply. Putting AdSense inside a thread follows Google’s own policies about placement and number of units. Read them first.

What to measure after launch

Free gives you two numbers per ad, impressions and clicks, shown as columns in the ad list, plus a click-through comparison for ads in the same position. That is enough for a first review.

Look at each position separately by giving every position its own ad. If one ad runs in four places, the totals cannot tell you which place earned the clicks. The detailed breakdowns by country, device and source are Pro analytics, so on the free plugin, separate ads are the way to get position-level answers.

Review once a week, not once a day. Community traffic is lumpy: a popular thread on Tuesday can double the numbers. Compare ads over the same stretch of days, and change one setting at a time so you know what caused a shift.

A sensible starting setup

For a forum on Jetonomy, start small:

  1. One sponsor ad in “After Topic Body”, shown to logged-out visitors only.
  2. One AdSense unit in “Sidebar Bottom”, also guests only.
  3. One “Between Replies” ad, repeat off, after the eighth reply.
  4. The ad label left on.
  5. Paying members see none.

Run it for two weeks and read the click-through figures per ad. Move only one thing at a time.

Test it with two accounts

  1. Install the community plugin you’re targeting and create a test ad.
  2. Tick one position and publish. View a page with that position as a guest and confirm the ad and its label appear.
  3. For a between-replies or activity position, set the number to 2, and check where it lands with repeat on and off.
  4. Log in as a member and confirm the audience rules behave as you set them.
  5. Turn on the global setting that hides ads from logged-in users and confirm the member view is clean.
  6. Check the page on your phone, because the ad shouldn’t push the reply form out of reach.

When to leave ads out of a community

Some spaces are better without ads. A support area where people arrive frustrated, a space for new members who have not yet posted, and any group where members pay for a quiet experience all fall into this group.

You do not have to remove ads site-wide to do this. Each ad has its own display rules, so you can show it only on chosen pages, post types or categories. The free plugin also has a setting that hides ads from all logged-in users, and a separate one for administrators. If your members are your product, the honest answer is often to monetize the guests who find you through search and leave the members alone.

If you are weighing how much of the community to open to sponsors, the direct sponsor ads use case shows how a flat-fee slot is usually sold, and the full-stack publisher use case looks at mixing several income sources on one site.

Where to go next

If you’re new to placements, placing your first ad zones covers how positions work in general. Rotating ads and picking a winner explains the click-through comparison, and automating the ad sales pipeline covers selling slots to sponsors. The features page lists the rest, and Free vs Pro shows the honest split.