Charitable Documentation

Learn how to make the most of Charitable with clear, step-by-step instructions.

Charitable Rewards: Levels Mode

Requires: Charitable Pro plugin 1.8.16+
Pro plan and higher

Do you want donors to pick a giving tier, the way a crowdfunding campaign works? In levels mode, donors don’t type an amount. They pick a card, and the card sets the amount.

This guide covers how levels differ from rewards, what each level can carry, recurring levels, and what happens when an amount doesn’t match a level.

You could offer Friend at $25, Supporter at $75, and Champion at $100. Each one has its own picture, its own list of what’s included, and its own price.

Charitable Rewards needs version 1.8.16 or higher of the Charitable Pro plugin, on the Pro plan and higher.

A donation form in levels mode showing four giving-level cards, each with an image, a colored badge, a price, a reward chip, and a perks list

The levels replace the amount step entirely, so there’s no separate “choose an amount” block above them. Picking Champion is entering $100.

What’s In This Guide?

Watch the Video

This video walks through building giving levels and shows how they look on the donation form.

Levels Are Not the Same Thing as Rewards

This trips people up, so here’s the difference.

A reward is the perk itself. It lives in your catalog, where several campaigns can share it.

A level is a priced tier on 1 specific campaign. It can point at a reward from the catalog, but it doesn’t have to.

RewardLevel
Lives inThe shared catalog1 campaign
Has a priceYes, the amount that unlocks itYes, and it sets the donation amount
Reusable across campaignsYesNo
Can exist without the otherYesYes. A level with no reward attached is a priced tier

So a level can be a giving tier with a nice description and no perk to send out. Or it can carry a reward, in which case the card shows a chip reading “Includes Reward: Thank-You Tote Bag”, and choosing the level claims the reward.

When You’d Use Levels Mode

Levels mode works well in these situations.

  • A capital or crowdfunding campaign where the tiers are the pitch.
  • A membership drive where each tier is a membership level with its own benefits.
  • A gala or event where levels match your sponsorship packages.
  • Any campaign where you want to control the price points exactly rather than inviting any amount.

If you’d rather let donors give any amount and encourage them to give more, use Automatic Mode instead.

Where to Find It

To get started, edit the campaign and open the Rewards panel in the campaign builder. Then set “Reward Mode” to Levels.

The level editor appears below, where you add and order the tiers.

What Each Level Can Carry

FieldWhat it does
TitleThe tier name, which shows in the badge
AmountThe donation amount this level sets
DescriptionA sentence on what the money does at this level
PerksOne perk per line. These show as a bulleted list on the card
ImageThe card picture, with a focus point so crops don’t cut off faces
IconAn emoji shown inside the badge
Badge colorThe badge background, so the tiers read as a ladder
RewardAn optional reward from the catalog to include
Billing periodOptional. This makes the level recurring
EnabledHides a level without deleting it

You can drag levels into any order, and the order you set is the order donors see.

The Image Focus Point

Reward and level images get cropped to fit the card, and a center crop can easily cut off the head of whoever is in the photo.

The focus point lets you choose which part of the image matters, as a percentage across and down. The crop keeps that point in the frame.

If your photo shows a person’s face in the upper third, set the vertical focus to around 30 percent and the crop will keep them.

Showing How Many Have Chosen Each Level

When you turn on “Show Backers,” each card shows how many donors have picked it, like “3 Supporters.” You choose the word with “Backers Term.”

Showing a count can encourage others to give, but a new campaign showing “0 Supporters” on every tier works against you. Leave it off until some donations have come in.

Note: Charitable has no pledges. The donor-facing words are “donors” and “donate,” never “backers” and “pledge.” The backers term exists only because some campaigns prefer their own word for the count.

Recurring Levels

A level can carry its own billing period, which turns that tier into a recurring gift. Benefactor at $250 per month shows as $250.00/month and sets up a recurring donation when chosen.

Rewards doesn’t fix the list of periods. It comes from whatever the campaign’s own recurring settings allow, plus the option to leave the level as a one-time gift.

Here’s how a level’s period works with the campaign’s period.

  1. The level sets a period. The level’s period wins, and the donor can’t change it if you locked it.
  2. The level inherits, and the campaign is recurring-only. The campaign’s period applies and is locked.
  3. The level inherits, and the campaign allows a choice. The donor picks, as they normally would.

Important Note: Recurring levels need Charitable Recurring active on the site. Without it, a level with a period set falls back to a one-time donation.

What Happens When the Amount Doesn’t Match a Level

Donors can arrive with an amount already set, from a deep link or a shared URL, that doesn’t match any level. You choose what happens.

BehaviorWhat the donor sees
Prompt (default)They’re asked to pick a level, or to continue without one
Auto-select highestThe best level at or below their amount is chosen for them
DeclineIt’s treated as a no-reward donation at the amount they brought

Below the cheapest level, all 3 options fall back to prompting, because there’s no level to select.

Layout

Levels can show in 1 of 2 layouts.

  • Image on top shows a grid of cards with the image as a banner. It’s the default, and it’s the one that looks like a crowdfunding page.
  • Image on side shows a single-column list with the image beside the text. It’s better when your descriptions are long.

Tips Worth Keeping in Mind

These tips help you build levels that donors read and choose.

  • Offer 3 or 4 levels. A list of 6 is a menu nobody reads.
  • Make the middle tier the one you want chosen, and make it clearly better value. Most donors pick the second or third option.
  • Write perks as outcomes, not objects. “Feeds a family for a week” beats “1x food box.”
  • Use the badge colors as a ladder, getting richer as the price rises. Donors can see the order before they read a word.
  • If a level includes a physical reward, choosing it collects a shipping address. Keep that in mind for your cheapest tier.

FAQs on Levels Mode

Does every level need a reward?

No. A level with no reward attached is a priced tier with a description and perks list.

Can I hide a level without losing it?

Yes. Turn off its Enabled setting, and the level is hidden without being deleted.

Do levels show on peer-to-peer fundraiser pages?

No. Levels don’t carry down to fundraiser donation forms, so use automatic mode on the parent campaign for peer-to-peer.

Developer Reference

Filters

FilterDefaultPurpose
charitable_rewards_level_image_sizelarge or thumbnail by contextRegistered image size for level card images
charitable_rewards_tier_image_sizethumbnailImage size for the reward chip image
charitable_rewards_unlock_color#1a7f37Accent color for the selected state

Level Fields

Levels are stored in their own table, with 1 row per level per campaign. The fields map to the editor as follows.

FieldNotes
title, description, amountThe basics. Amount is what the level sets
perksNewline-separated. Rendered as a list
image_id, image_focus_x, image_focus_yAttachment ID plus focus percentages, both defaulting to 50
icon, badge_colorEmoji and hex color for the badge
reward_idOptional link to a catalog reward. Null for a tier with no perk
display_orderDrag order
enabled0 hides the level without deleting it
recurring_periodEmpty means inherit from the campaign
recurring_defaultLocks the period so the donor can’t change it

Period Resolution

Charitable_Rewards_Level_Recurring::resolve_period() decides the effective period. It returns the period, whether it’s locked, and which of the 3 rules above produced it.

Sanitization checks a posted period against the campaign’s own allowed list, so a level can never offer a period the campaign doesn’t support.

Markup

The level list is a ul.charitable-reward-level-list inside .charitable-reward-levels-wrap, which also carries a charitable-reward-levels-layout-top or -side class. The plugin grids the list at 3 columns on desktop, 2 below 900px, and 1 below 600px.

Each level card is an li carrying .charitable-reward-level. It reuses the donation-amount suggested-donation-amount classes so core’s amount-selection behavior applies.

Unmatched Amounts

Charitable_Rewards_Unmatched resolves what to do with an amount that matches no level. It returns an action (prompt, a level to select, or a decline), the level ID, and how much more would be needed.

The campaign setting key is unmatched_amount_behavior, with the values prompt, auto_highest, and decline.

Customization Examples

Serve full-size images to level cards.

add_filter( 'charitable_rewards_level_image_size', function () {
    return 'full';
} );

Match the selected-level accent to your brand color.

add_filter( 'charitable_rewards_unlock_color', function () {
    return '#31714c';
} );

Wrapping Up

You now know how to set up giving levels, attach a reward to a level, make a level recurring, and choose what happens when an amount doesn’t match.

Next, add 3 or 4 levels to a draft campaign and preview the form. If you get stuck on any step, our support team is happy to help.

You May Also Want to Read

These guides cover the other parts of Charitable Rewards that work with levels.

Helpful Links

🤝 Get help when you need it

Connect with Customer Support →  

📑 Find the guide you need

Browse the Documentation Hub →  

⬇️ Download proven strategies, campaign ideas, and expert tools

Get the Fundraising Kit →  

🔗 Let your AI Assistant do the fundraising work for you.

Connect Charitable to your AI assistant →

💸 Get Free Fundraising Resources
Head to the Charitable Fundraising Hub →

🤔 Got questions about Charitable?
Charitable FAQs →

Need help understanding non-profit terms and jargon?
See our Non-Profit Glossary →

Still have questions? We’re here to help!

Last Modified:

What's New In Charitable

View The Latest Updates
🔔 Subscribe to get our latest updates
📧 Subscribe to Emails

Email Subscription

Join our Newsletter

We won’t spam you. We only send an email when we think it will genuinely help you. Unsubscribe at any time!

Feature New

🎟️ Introducing Charitable Events: Sell Tickets Inside Your Campaigns!

Most nonprofits sell event tickets in one tool and collect donations in another, which leaves two sets of reports and a manual match at the end of the year. Charitable Events brings both together, selling tickets through the same donation forms and payment gateways you already run in Charitable. Why this is important:

  • 🎟️ Every ticket is a donation: Ticket sales run through the gateway you already use and count toward the campaign goal, with everything managed under Charitable » Events.
  • 📱 QR check-in from any phone: Each attendee gets their own QR code on the receipt, and volunteers scan at the door through a check-in link that needs no WordPress account.
  • 🧾 Receipts ready for tax time: Give each ticket type a fair market value, and Charitable puts the correct tax-deductible amount on every donor receipt.
  • 📋 Attendee details at checkout: Ask every guest for a meal choice, shirt size, or access needs, with a separate attendee record created for each ticket.
  • 🗓️ Blocks and calendars included: Three editor blocks plus Sugar Calendar and The Events Calendar support put your events where supporters already look.

Check out our announcement here.

ai New

🚀 Unleash AI Power in Charitable!

Your AI assistant can now build, edit, and manage your Charitable fundraising campaigns directly — just by asking. With Charitable Pro adding write support for the WordPress Abilities API, tools like ChatGPT, Claude, and Cursor can handle full administrative actions safely through MCP. Why this is important:

  • 🤖 Campaign creation in plain language: Prompt your assistant with a goal like “Set up a fundraiser for the shelter with a $5,000 goal”, and it builds a real draft campaign complete with suggested donation tiers.
  • 🎨 Instant donation form tweaks: Add custom fields, change button colors, or reorder elements without diving into form settings.
  • 📝 Offline gift logging: Tell your assistant about cash or check gifts, and it will match donor emails and record transactions into your history.
  • 🛡️ Safety and control by default: Write access stays strictly off until turned on in Charitable » Tools » AI MCP, keeping read-only reporting safe by default.
  • 📜 Full audit logging: Every change made by an AI assistant is tracked under Charitable » Tools » Logs, so you always know who (or what) updated your site.

Check out our announcement here.

Improvement Payments

💰 Accept Recurring Donations with Windcave and Charitable

A donor sets their gift up once on Windcave’s secure payment page, and Charitable bills every renewal after that on schedule. Why this is important:

🏦 Organizations banked in New Zealand or Australia: monthly giving on the gateway your bank already set you up with, with no second processor to onboard.
⛪ Churches taking regular tithes and offerings: congregants set their own schedule once, which is the simplest way to launch recurring church giving without a separate platform.
🌏 Groups with donors in several currencies: Windcave handles more than 20, so a supporter can give in the currency they actually hold.
📅 Operating funds rather than one-time campaigns: switch on Recurring Only mode and the one-off option disappears, so every gift to that campaign is a subscription.
🧾 Teams with no developer on staff: 3 sets of credentials pasted into a settings page, and no code anywhere.

Check out our announcement here.

automation update

⚡ Visual Automation Builder: Drag and Drop With No Code!

Charitable Automation Connect 2.3.0 introduces the Visual Automation Builder, a full-screen canvas that lays each automation out as a flow of connected cards: a trigger, optional conditions, and a list of actions that run in order.

🧩 Many actions, one trigger: Tag a donor, send an email, add a note, and fire a webhook from a single event, dragged into any order.

✉️ Act inside Charitable: New Send Email, Tag Donor, and Add Donor Note actions run with no external service required.

🔤 Merge tags: Personalize emails and notes with live fields like {first_name}, {total}, and {campaign_name}.

🔁 Apply to existing donors: Run Tag Donor and Add Donor Note against the donors you already have.

🖥️ Canvas or Simple: Switch views anytime, and automations built before 2.3.0 keep working unchanged.

Read more here.

Integration updated

📬 Introducing Brevo for Charitable: Turn Donors into Subscribers Automatically

The moment a supporter makes a gift is when they are most engaged. With the new Brevo integration for Charitable, you can automatically turn those one-time donors into long-term subscribers without touching a single spreadsheet.

Simply collect donor consent right on your donation form and start your welcome series immediately.

What’s New:

🔄 Automated Subscriber Sync: New donors who opt in are added straight to your Brevo contact list as soon as their payment clears—no manual exports or CSV imports required.

🎯 Granular Consent & Opt-In Control: Customize your checkbox label, choose whether it defaults to checked or unchecked, or turn on Brevo double opt-in to keep your list clean and compliant.

📋 Per-Campaign List Mapping: Route supporters to your global email list or map specific campaigns to targeted Brevo lists to tailor your follow-up messaging.

⚡ 5-Minute Setup: Connect instantly by pasting your Brevo API key into the Newsletter settings, map your contact fields, and start building your email list on autopilot.

Ready to grow your mailing list? Brevo is available now starting on the Charitable Plus plan—connect your account today!