Charitable Documentation

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

Recurring Donations 2.0+

Do you want to make managing recurring donations easier for you and your donors?

The new Recurring Donations 2.0 extension in Charitable is just what you need! This powerful feature allows you to accept, manage, and report on subscription-based donations effortlessly.

With Charitable Pro version 2.0.0 and the Recurring Donations extension, you can enhance your fundraising efforts by incorporating recurring donations into any of your campaigns. This guide will walk you through the key features, setup, and best practices to help you get the most out of recurring donations.

Available in Charitable Pro 2.0.0+ (Recurring Donations extension).


Key Features

  • Accept recurring donations on any campaign, with flexible periods and amounts.
  • Recurring Only mode ensures all donations are subscriptions.
  • Donor self-service allows supporters to manage and cancel their own subscriptions.
  • Automated notifications for failed payments.
  • Advanced reporting tools, including MRR (Monthly Recurring Revenue) summary cards.
  • Export recurring donations data to CSV.
  • Compatible with major gateways like Stripe and PayPal.

Why Use Recurring Donations?

Recurring donors tend to contribute significantly more over time than one-time donors. By leveraging the Recurring Donations extension, you can provide supporters with an easy path for sustained giving, predict revenue streams for your organization, and utilize comprehensive reporting tools to track growth and retention.


See It In Action


Requirements

  • Charitable Pro (any plan that includes the Recurring Donations extension)
  • WordPress 5.9 or later
  • PHP 7.4 or later
  • A supported payment gateway (Stripe or PayPal) for automatic renewals

Getting Started

Activation

  1. Log in to your WordPress admin.
  2. Navigate to Charitable » Extensions.
  3. Find Recurring Donations and click Install and Activate.
  4. Once activated, new options for recurring donations will be available in the Campaign Builder.

How to Use The New Recurring Donation Features

Enabling Recurring Donations on a Campaign

Click on recurring donations in settings
  1. Open the Campaign Builder for any campaign
  2. Go to the Settings panel
  3. Expand the Recurring Donations section
  4. Select a mode from the dropdown (see Mode Options below)
  5. Configure period, amount, and length settings as needed
  6. Save or publish the campaign

Mode Options

ModeBehavior
DisabledNo recurring option is presented to donors
SimpleDonors see a checkbox to make their gift recurring
AdvancedDonors choose between one-time and recurring with a period selector
Recurring OnlyAll donations must be recurring; one-time option is hidden

Recurring Only mode (new in 2.0.0): Selecting this mode removes the one-time donation option entirely. A notice appears on the donation form: “All donations to this campaign are recurring.” Use this for monthly giving clubs, operational funds, or any campaign designed around sustained giving.

Period Configuration

When recurring is enabled, you can set:

  • Period mode: Fixed (admin-defined) or Variable (donor-chosen)
  • Donation period: Daily, Weekly, Monthly, Quarterly, Semi-Annually, Annually
  • Donation length: Number of recurring payments (0 = unlimited)

Donor Dashboard

Donors can view and manage their recurring donations from the donor dashboard or the [my_recurring_donations] shortcode.

Cancel Subscription (new in 2.0.0)

New recurring donations in donor dashboard

Cancel link appears in the recurring donations table for any subscription with a cancellable status (active, pending, on-hold). Clicking it presents a confirmation prompt before cancellation is processed.

After cancellation: – The subscription status updates to Cancelled – A success notice confirms the action – The donor is redirected back to the donor dashboard

Subscriptions with a non-cancellable status (completed, expired, already cancelled) display a dash in the Cancel column.


Emails

Payment Failed Email (new in 2.0.0)

An automated email sent to donors when a recurring payment fails. It fires when a subscription status changes to charitable-failed.

Recurring payment failed email

To configure:

  1. Go to Charitable » Settings » Emails
  2. Locate Payment Failed and click to edit
  3. Enable the email, customize the subject and body, and save

Available merge tags:

Merge TagDescription
{donor_first_name}Donor’s first name
{donor_full_name}Donor’s full name
{campaign_name}Campaign title
[charitable_email show=recurring_summary]Subscription summary block
{site_name}Your site name

The email is sent to the donor only, not the admin. To receive admin copies, configure a separate notification email.

Recurring Donation Cancelled Email

Sent to the donor when a subscription is cancelled, whether by the donor or an admin. Configurable in the same Emails settings screen.


Reporting

recurring donations report new

MRR Summary Cards (new in 2.0.0)

Located at Charitable » Reports » Advanced, select Recurring Donations from the report type dropdown.

Four summary cards appear at the top of the report:

CardDescription
Active SubscriptionsCount of all currently active recurring donations
Est. Monthly Revenue (MRR)All active subscriptions normalized to a monthly figure
New This PeriodSubscriptions created within the selected date range
Cancelled This PeriodSubscriptions cancelled within the selected date range

How MRR is calculated:

Each active subscription’s amount is multiplied by a period factor to produce its monthly equivalent:

PeriodMonthly Factor
Daily×30
Weekly×4.333
Monthly×1
Quarterly×0.333
Semi-Annual×0.167
Annual×0.083

Active Subscriptions and MRR are global figures that do not change when you adjust the date filter. New This Period and Cancelled This Period reflect the selected date range.

Exporting Recurring Donation Data

Use the Export button on the Recurring Donations admin list page (Charitable » Recurring Donations) to download a CSV of filtered results.


Shortcodes

[my_recurring_donations]

Displays the current donor’s recurring donations in a table. Intended for use on a logged-in donor dashboard page.

ParameterTypeDefaultDescription
campaign_idintLimit to donations for a specific campaign
statusstringallFilter by donation status

Customization

Status Badge Colors

Status badges are displayed as small colored pills in both the admin list table and the donor-facing tables.

StatusDefault Color
ActiveGreen (#008000)
PendingGray (#999)
CompletedBlue (#3fb8f5)
FailedOrange (#f7a129)
CancelledRed (#ff0000)
On HoldLight Blue (#8bb0e7)
ExpiredYellow (#ffe14a)

Template Overrides

To override a recurring donations template, copy the file from the plugin’s templates/ folder into your theme under charitable/and modify as needed.


Troubleshooting

The Cancel button does not appear in the donor dashboard

The cancel button only shows for subscriptions with a cancellable status (active, pending, on-hold). If the subscription is already cancelled, completed, or expired, no button is shown.

Additionally, some payment gateways do not support programmatic cancellation. For gateways that do not support it, the cancel button may not appear even for active subscriptions.

The Payment Failed email is not sending

Confirm the email is enabled in Charitable » Settings » Emails. Also verify that the subscription status is being updated to charitable-failed when a payment fails, as the email fires on that status transition.

MRR seems lower than expected

MRR only includes active subscriptions. Paused, on-hold, or failed subscriptions are not included. The figure is also an estimate based on stated billing periods, not actual payment history.

Recurring Only mode shows the one-time option

Clear your browser cache and any page caching plugins. The one-time option is hidden via CSS and JavaScript in the campaign builder and donation form. A caching layer serving a stale page may show outdated markup.


Developer Resources

Hooks and Filters

  • charitable_recurring_donation_modes – Filter the available recurring donation mode options
  • charitable_send_recurring_payment_failed – Control whether the Payment Failed email is sent for a specific donation
  • charitable_process_cancellation_{gateway} – Gateway-specific cancellation logic; return true to confirm success
  • charitable_recurring_cancel_redirect – Filter the redirect URL after a donor cancels a subscription
  • charitable_recurring_my_recurring_donations_table_after_receipt – Action for adding columns to the donor-facing recurring donations table

Useful Functions

  • charitable_recurring_get_recurring_donation( $donation_id ) – Returns a Charitable_Recurring_Donation object
  • charitable_recurring_get_valid_donation_statuses() – Returns array of valid status keys and labels

MRR Calculation

// Access MRR data programmatically
$report = Charitable_Report_Advanced_Recurring::get_instance();
$mrr_data = $report->get_mrr_data( $start_date, $end_date );
// Returns: active_count, mrr, new_count, cancelled_count

Additional Resources

/pattern cta

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!

Integration page builder

Divi Fans Rejoice! Native Divi 5 Campaign Progress Bar Module!

With our new native Divi 5 module, you can anchor your microsites with real-time fundraising stats directly on the visual canvas. Here’s how it works, and why it’s worth turning on today.

Create campaign updates that are VISUAL AND LIVE. You can also:

📊 Campaign Progress Bar: Drop a live progress bar into any Divi 5 layout and show goal progress in real time.

🎨 Deep styling controls: Easily customize the bar and track color, height, and radius to match your brand perfectly.

👁️ Visual Builder ready: Configure and preview everything directly on the Divi canvas as a first-class module.

🔁 Identical rendering: The same exact engine powers this module, meaning consistent design without legacy shims.

✅ Faster launches: Never leave the Divi 5 interface to configure shortcodes or guess how your goal labels will look.

Learn more here.

Integration page builder

👉🏻 New in Charitable: Native Elementor Widgets for Seamless Campaign Building

With native Elementor widgets, you design donation campaigns right alongside the rest of your page without touching code. Here’s how it works, and why it’s worth turning on today.

Create fundraising pages that are VISUAL, NATIVE, AND SHORTCODE-FREE. You can also:

⚡ Mini Donation: Add a compact, high-converting donation widget with preset amounts and full color control.

⏳ Campaign Countdown: Build urgency for a deadline-driven appeal, complete with optional confetti when the goal is hit.

📣 Donation Feed: Prove momentum by showing visitors the social proof of real people giving right now.

🏆 Donor Leaderboard: Celebrate top supporters with gold, silver, and bronze styling to spark friendly giving.

🖼️ Campaign Showcase: Feature multiple campaigns in a landing page grid or carousel, with search, filters, and badges.

Learn more here.

Addon New

🗒️ Custom Receipts… New Addon!

With Custom Receipts, you decide which page your donors see, on every campaign. Here’s how it works, and why it’s worth turning on today.

Left side shows a donation receipt with donation number, date, total, and payment method for a  gift to Anywhere, titled 'One Family Gets Clean Water For A Week.'

Create receipts that are CUSTOM TO THE DONOR OR CAMPAIGN. You can also:

📅 Year-end appeal: Reinforce the goal and invite donors to share while momentum is high.

🎗️ Memorial or tribute campaign: Give a gentle, respectful thank-you that fits the moment.

💎 Major gifts: Show a special message only to donors who give above a threshold.

🔁 Recurring growth: Invite one-time donors to become monthly supporters right on the receipt.

🌍 Global campaigns: Surface a country-specific note, like a Gift Aid reminder, only where it applies.

Learn more here.

New templates

🤩 New Beacon Campaign Templates w/ “Hero” Block!

With the new Beacon Campaign Templates for Charitable Pro, you can launch a stunning, full-width fundraising page that instantly captures visitor attention above the fold.

Fundraising page header for Save Maple Grove Park with a donation widget and a small square photo of a sunlit tree thumbnail on the left.

🔦 Above-the-Fold Impact: Lead with a full-width hero image, your logo, and your goal with a donation widget locked right on top of the banner so your ask and momentum register instantly without scrolling.

📐 Two Flexible Layouts: Choose between a structured two-column layout for side-by-side storytelling and supporting details, or a clean one-column view designed for uninterrupted long-form narratives.

⚡ All-in-One Hero Field: Powered by the new Campaign Hero field, bringing background media, live progress bars, custom donation amounts, and recurring giving tabs together into a single cohesive block that can be dropped into any layout.

🎨 Automatic Theme Matching: The hero banner and donation widget automatically inherit your campaign theme’s button and accent colors, ensuring your entire presentation stays beautifully on-brand without touching a line of CSS.

Learn more here.

donation form Feature New

📝 Donation Form Block: Embed a Working Donation Form Anywhere

With the new Donation Form Block for Charitable Pro, you can drop a fully working donation form directly onto any page or post in the WordPress block editor. No redirects, no page reloads, and zero friction between reading your story and making a contribution.

📝 Drop Forms Anywhere: Place a working form directly onto your homepage, inside a story-driven blog post, on a dedicated landing page, or within a campaign announcement.

🎯 Dynamic Campaign Binding: Easily choose a specific campaign from the block sidebar or set it to automatically bind to whichever campaign is currently being viewed.

📐 Full vs. Minimal Form Views: Switch between a full layout or a compact minimal view to perfectly fit sidebars, narrow columns, or wide landing pages.

🎨 Scoped No-Code Styling: Customize typography, container spacing, border radius, amount buttons, and accent colors independently for every form instance without touching a line of CSS.

Learn more here.