Skip to content
Buy BuddyX Pro
BuddyPress Plugins

How to Build a Paid Membership Community with BuddyX + Jetonomy + Gamification

· · 13 min read
BuddyX community guide cover showing paid membership tiers, Jetonomy credits, and WP Gamification badges with founding member avatars

Running a free BuddyPress community teaches you one hard lesson fast: free traffic is cheap, free members churn, and nobody shows up for the Tuesday AMA unless their wallet is involved. A paid membership community fixes the incentive problem on day one. The members who pay turn up, post, reply, and refer friends because they already voted with their credit card.

This guide walks through a production setup on WordPress using three pieces that actually fit together: the BuddyX theme for the front end, Paid Memberships Pro (or Restrict Content Pro) for the paywall, Jetonomy for credits and forum discussions, and WP Gamification for badges. Every recommendation below is something I have shipped on real sites, with the hooks, settings, and pricing logic that worked. No fluff, no screenshots of empty dashboards, and no advice that falls apart the second you hit 200 members.

Why a paid membership community works on WordPress in 2026

Circle, Skool, and Whop all landed big funding rounds in the last two years, which means two things. First, creators are willing to pay for a software stack that handles the community, billing, and gamification in one place. Second, those platforms charge between 29 and 299 dollars a month per community owner, plus a per-member cost once you cross their seat limits. For a community of 500 paid members, that can run to 3,500 dollars a year before you sell a single thing.

WordPress with BuddyX gives you the same feature surface for a one-time theme license plus a few plugin licenses. You own the database, you control the email list, and you can bolt on WooCommerce, LearnDash, or a job board the day a member asks. The trade is time. You are the platform team now, which is why the setup order and the plugin choices matter so much. If the business case is what you are after, my earlier post on building a paid membership community that makes money covers pricing tiers, churn math, and retention tactics; this post is the technical build that sits underneath it.

If you already know the BuddyX story and want the full stack rundown, my earlier write-up on the complete BuddyX ecosystem covers the philosophy behind single-vendor stacks. This post is the hands-on build version of that idea, specifically for paid communities.

The stack at a glance

Here is what goes on the server before you touch a single setting:

  • WordPress 6.7 or later on PHP 8.2+ with at least 512 MB of memory. 1 GB is safer once you turn on real-time notifications.
  • BuddyPress (the free community plugin that powers profiles, groups, activity, and messages).
  • BuddyX Pro theme (buddyxtheme.com) for the front end. The free BuddyX will take you a long way, but the Pro version adds the header builder, member directories, and the paid member badge styling we lean on later.
  • Paid Memberships Pro or Restrict Content Pro for subscription billing. I use PMPro for the free add-ons and the BuddyPress integration; RCP is a cleaner code base if you already own a license.
  • Jetonomy for forum discussions and the credits economy. Jetonomy threads are far lighter than bbPress and come with a first-class credits ledger.
  • WP Gamification for badges and achievements. GamiPress or myCRED work too; the hooks in this article map cleanly to any of them.
  • Stripe as the payment gateway. Stripe Billing handles trials, discounts, and failed-payment recovery so you do not have to.

Total plugin cost for the first year of a small community usually lands between 400 and 700 dollars, depending on which bundles you buy. That is roughly one month of the Circle plan you were about to sign up for.

Step 1: Theme setup that does not embarrass you on launch day

Install BuddyX Pro, activate BuddyPress first, then the theme. The order matters because the theme registers BuddyPress-aware templates on the after_setup_theme hook. If BuddyPress is not active when the theme boots, the member directory and group templates fall back to generic WordPress archives and you lose the cards, hover states, and the join button.

Three BuddyX settings to change on day one:

  1. Header layout: pick the “Header Builder” option under Appearance → Customize → Header. The default header is fine, but the builder gives you a slot for the credit balance pill we add later.
  2. Member card style: set the directory to “Card grid” with the “Show last activity” and “Show membership level” toggles on. Members who pay for a community want to see other paying members, and membership-level badges answer the “is this the real community or the freeloader lobby” question instantly.
  3. Group cover ratios: 3:1 on desktop, 5:2 on mobile. BuddyX handles the responsive math itself, but the Customizer lets you pin the focal point so your group covers do not crop awkwardly on phones. Verify at 390 px viewport before you stop editing.

Create a child theme even if you never plan to edit templates. Plugin conflicts are easier to debug when you know exactly which files are yours. A BuddyX child theme is three files: style.css, functions.php, and a screenshot.png. That is it.

Step 2: Paid Memberships Pro configuration for a community (not an LMS)

PMPro ships with a membership-first mental model: you buy a level, you get access to restricted content. For a community, the restriction pattern is slightly different. You are not gating an article, you are gating the ability to post in specific groups, unlock premium threads, and earn credits.

Create three levels:

  • Free (Level 1) at 0 dollars: can read public groups, can post in the #introductions group, cannot DM anyone, cannot join paid groups.
  • Plus (Level 2) at 19 dollars a month or 190 a year: can join up to 10 paid groups, DMs enabled, 500 monthly credits, access to the shared calendar.
  • Pro (Level 3) at 49 dollars a month or 490 a year: everything in Plus, plus unlimited groups, 1,500 monthly credits, direct access to the founders’ channel, live AMA recordings.

Three is the magic number for membership pricing. Two levels leave money on the table because the top 10 percent of members want to pay more. Four levels cause decision paralysis and you get the same conversion rate as two.

In PMPro → Settings → Advanced Settings, turn on Multiple Memberships Per User only if you plan to run community add-ons later (like a separate LMS level). Otherwise leave it off. The advanced settings “Require Email Confirmation” should be on. Community accounts without verified emails are how spam farms walk in and turn your activity feed into a pharmacy.

Step 3: Gate BuddyPress groups by membership level

BuddyPress does not know about PMPro out of the box. The integration plugin (PMPro BuddyPress Add-on) handles 80 percent of the wiring, but gating specific groups by level still takes a snippet. Here is the code that powers the paid-group gate. It lives in a mu-plugin so theme switches do not break it.

Read it carefully because there are two things it does quietly. First, it redirects non-members who try to open a restricted group URL to your PMPro levels page with a message key so you can show a custom pitch (“This is a Pro-only group, here is why it is worth it”). Second, it removes restricted groups from the directory listings for non-members, so the paid groups are not visible at all until the user upgrades. That second part matters for conversion rate. Visible-but-locked groups feel like teasing; invisible groups feel like a reward.

Step 4: Jetonomy credits as the community currency

Jetonomy ships with a credits ledger that is separate from the forum threads themselves, which is why it is the right fit for a paid community. You can award credits for paid signups, spend credits on premium threads, and expose the balance anywhere on the site with a shortcode or block.

The plan I use in production:

  • 100 credits on a free signup. Enough to let them unlock one premium thread and feel the paywall they do not yet own.
  • 500 credits a month on Level 2 (Plus).
  • 1,500 credits a month on Level 3 (Pro).
  • Credits stack up to 12,000 lifetime, then cap. Capping stops hoarding and forces members to spend, which pushes engagement.
  • Premium threads cost between 25 and 100 credits. Most cost 25. The 100-credit threads are the AMA recaps, which is where the Pro members get the most obvious value.

The code below wires PMPro signup and renewal into the Jetonomy credit ledger, and adds an unlock endpoint for premium threads. Drop it in the same mu-plugin as the group gate.

Notice the idempkey. It is hashed against the user ID, the level ID, and the year-month. That means a member who downgrades and re-upgrades in the same month does not double-dip credits, and a webhook retry does not grant the monthly allowance twice. Idempotency bugs are the most expensive ones in a credits system, and Stripe will absolutely retry a webhook on you.

Before the snippet ships, export a CSV of every member’s current balance as your zero state. You want the audit trail the day somebody tweets that your site ate their credits.

Step 5: Gamification badges that drive the behaviour you actually want

Badges are the cheapest retention tool in the community toolkit. They cost nothing to award, they show up on the member profile, and they create a gentle status ladder that makes early members want to stay long enough to climb it. The mistake most community owners make is awarding too many badges, or awarding them for behaviour nobody cares about. Badges for “logged in seven days in a row” do not drive retention. Badges for “replied to a new member’s first post” do.

The four badges I start every community with:

  • Founding Member: the first 100 paid members get this, ever. Social proof for them, FOMO for everyone who joins later.
  • First Voice: published their first topic. Everyone gets this one eventually; the point is to nudge lurkers into posting.
  • Helper: 10 approved replies in any group or thread. The 10-reply mark is where lurkers become regulars.
  • Ready to Launch: completed the onboarding checklist (avatar, bio, first group, first post). Separate from First Voice because you want each completion to feel like progress.

Here is the WP Gamification wiring. Same mu-plugin again.

If you want a deeper walkthrough of gamification patterns, my earlier post on seven ways to use gamification in a WordPress community covers course completion badges, streak mechanics, and how to layer points on top of badges without breaking the economy. Read it next.

Step 6: The member journey (day 0 through day 30)

Payment is the easy part. The next 30 days decide whether a new member becomes a lifer or a churn statistic. Here is the journey I map for every paid community, with the automation that runs it.

DayMember seesSystem does
0Welcome screen on login, 100 starter credits, Founding Member badge (if eligible), Stripe receiptPMPro level assigned, credits granted, journey emails scheduled for days 1/3/5/7
1Welcome email with one clear action: “Pick your interests and join three groups”Email sent via wp_mail or your drip engine
3“Say hello in #introductions” nudgeChecks if they have posted yet; skips if they have
5Group tour email with five recommended groups for their interestsRecommendations pulled from BP Xprofile interests field
7Upgrade nudge (only for Level 2): “You have spent 200 credits, here is what Pro unlocks”Checks actual credit burn before sending
14First badge summaryTriggers if they have earned at least one badge
30Monthly recap with credits left, groups joined, reputation rankCron-driven digest via BP Activity report

Here is the drip sequence scheduled from the PMPro checkout hook. It uses the native WordPress cron and wp_mail so it works on Bluehost shared hosting just as well as it does on a dedicated Kinsta plan. When you are ready to outgrow wp_mail, swap the action body for your FluentCRM / Groundhogg / Mailgun call.

One note on cron: WordPress cron fires on page load by default, which is fine for communities with traffic but falls apart at 3 AM on a low-traffic site. Add a real cron hit to the server with DISABLE_WP_CRON set to true, then run wp cron event run --due-now every five minutes. Your day-5 email sends at day 5, not day 9.

Step 7: Pricing strategy that actually holds up

Pricing is the part of a paid community that people get wrong because it feels like a finance problem. It is a positioning problem. The numbers below are anchored to what works for communities between 200 and 2,000 members. Above 2,000, you start looking at per-group pricing and premium tiers, which is its own post.

  • Free tier exists for one reason: to give the paid tier a reference price. A free tier with zero friction is a lead magnet. A free tier with too much value is a competitor to your own paid tier.
  • Price per month, bill per year: offer monthly and annual. Annual should save the member two months (16 percent discount). This is the cleanest psychological win and it dramatically cuts your churn forecast.
  • Never discount the first month. First-month discounts attract members who were always going to churn. Instead, offer a seven-day full-access trial. Trials select for the people who will stick around.
  • Grandfathered pricing is a feature. Tell founding members their rate is locked. It is the single best retention tool you have, and it costs you nothing because new members pay the new price.
  • Plan your first price change. The first 100 members get Founding rates. At 250 members, prices go up 25 percent. Publish the ladder on the pricing page. Scarcity works when it is honest.

Run the numbers before you open the doors. A 500-member community at Plus (50 percent of members) and Pro (10 percent) produces roughly 7,700 dollars a month in gross revenue. Stripe takes 3 percent plus 30 cents per transaction, hosting and plugin renewals run 150 dollars a month, and if you hire a part-time moderator that is another 1,500 dollars a month. You keep about 70 percent of gross, which at this scale is enough to matter.

Step 8: Moderation, roles, and trust levels

The day you take payment is the day you inherit moderation responsibility. Paid members expect rules to be enforced. Free members expect the same, but paid members are louder when you let them down.

The role hierarchy I use:

  • Subscriber (WP default, free tier): read public groups, post in introductions.
  • Member (custom role, Plus tier): read and post in paid groups, DM, create private groups.
  • Pro Member (custom role, Pro tier): same plus host rooms, propose AMAs, use early-access features.
  • Moderator (paid staff or top-tier member): remove posts in assigned groups, issue 24-hour mutes, escalate to admin.
  • Admin (you): everything, plus billing refunds.

Jetonomy has its own trust level system that works independently of WordPress roles. A member earns trust level 2 after 10 approved replies, trust level 3 after 50 approved replies plus a minimum of 30 days on the site. Trust level 2 unlocks image uploads inline. Trust level 3 unlocks group creation without admin review. Tie your community’s auto-moderation rules to trust levels, not to WordPress roles, because trust levels are a behaviour signal while roles are a billing signal.

Step 9: Payment recovery without scaring people

Roughly 4 percent of card payments fail every month for reasons that have nothing to do with intent to pay (expired cards, travel fraud locks, changed banks). Stripe’s “Smart Retries” setting handles most of this for you, but BuddyX sites also need to handle the social side. When a member’s card fails, do not lock them out instantly. Downgrade them to free for 7 days, show a banner on every page asking them to update the card, and only then suspend access. The difference between that and a hard lock is maybe 1 percent of your revenue, which on a 500-member community is 77 dollars a month of saved churn.

The RankMath schema and readability signals you already get for free on a BuddyX community become much more valuable when you combine them with a strong security posture. The BuddyPress community security checklist I published recently covers the specific plugin CVEs that matter for a paid community. Patch those before you open paid signups.

Step 10: Launch checklist

  • Stripe webhook endpoint tested in test mode, then live mode, with a synthetic subscription that renews in one hour (set the billing interval to hour temporarily).
  • PMPro checkout tested at 390 px viewport. Half of your signups will happen on a phone.
  • Five seed groups created, each with a pinned welcome post written by you.
  • First 10 topics pre-seeded in Jetonomy so the forum does not look empty.
  • GDPR and privacy policy linked in the PMPro checkout page footer.
  • Credits ledger CSV export verified and stored off-site.
  • Email deliverability test using a tool like Mail-Tester. A 9/10 or better score means your welcome emails will not go to spam.
  • At least one founder badge manually granted to yourself and a co-founder, so the member directory does not look empty on day one.
  • Monitoring: a Query Monitor or New Relic hit on the PMPro checkout page at peak time (Tuesday 10 AM local). If it is over 800 ms, optimise before you drive traffic.

Common mistakes I keep seeing

Four patterns I see in paid communities that never break 100 members:

  1. Too many groups on launch. Start with three. Let members ask for more. An empty group is a vacuum that pulls the rest of the community down with it.
  2. Credits with no spend surface. If a member cannot spend credits on anything meaningful, the credit balance is just a number. Always ship at least one premium thread on day one.
  3. Badges with no meaning. If a member earns a badge in the first 10 minutes without doing anything, the badge is worthless. Badges should require effort, and the effort should correlate with the behaviour you want.
  4. Forgetting mobile. Half of your members will only ever log in on a phone. BuddyX ships responsive; your customisations should too. Put a 390 px check in your pre-publish routine for every template edit.

What to build next

Once the paid community has steady revenue, the obvious next steps are a members-only podcast feed, a shared calendar with live events, and an invite-a-friend credit bonus. Each one compounds with the existing setup because the membership level, the credits ledger, and the badge system all already know who the member is. You are not stitching new features on top of a free community; you are extending an economy you already own. If a BuddyPress private groups setup is next on your list, the gating pattern from Step 3 carries over cleanly.

The stack works. The hooks are stable. The pricing model holds. If you are ready to stop paying 3,500 dollars a year to rent a community platform, the BuddyX route pays for itself in the first 30 paid members, and it keeps paying you every month after that. Start with the three levels, ship the four badges, wire the credits, and let the members tell you what to build next.