Charitable Documentation

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

Charitable Ambassadors: Creator Donations View

Requires: Charitable Pro 1.8.16+ Charitable Ambassadors 3.1.0+

The Donations tab on the My Campaigns page lets each campaign creator see every donation to their own fundraiser, filter and sort the list, export a CSV, and optionally send a personal thank-you to each donor. None of this requires WordPress admin access – the whole flow lives on the front-end ambassador dashboard.

For nonprofits running peer-to-peer programs, the win is twofold. Creators get the recognition tool they keep asking for (“can I thank my donors myself?”), and admins keep the master donor relationship intact (replies route back to the creator, not the admin inbox).

When you’d use it

  • Giving creators ownership of donor relationships. Most ambassadors want to thank the people who supported their fundraiser – they just need a tool that makes it one click.
  • Cutting down admin workload. If creators can thank donors themselves, your admins stop being the bottleneck for every personal acknowledgement.
  • Exporting per-fundraiser data without exposing the full site donations table. Each creator gets a CSV scoped to their own fundraiser only.
  • Running creator-led recurring outreach. Active recurring donations show up in the KPI strip so a creator can see who’s still supporting them month-over-month.

How creators benefit

A donation arrives at 3pm. The ambassador used to wait until you (the admin) sent a generic thank-you email later that night, or they checked nothing because they had no visibility. Now the ambassador opens My Campaigns > Donations, sees the new donation at the top of the list, and clicks Send Thanks. The donor gets a personal note from the ambassador within minutes, with the donor’s reply routed back to the ambassador’s inbox – not yours.

The behavioural shift matters. Donors who receive a personal thank-you within 24 hours are dramatically more likely to give again, and to give larger amounts when they do. By moving the acknowledgement closer to the donation event, and personalising it through the actual creator, you compound the goodwill that the donation itself generated.

Finding it

Ambassador front-end > My Campaigns > Donations tab

Once you’ve enabled Donations in the admin (see below), every ambassador sees a new tab on their My Campaigns page next to “My Campaigns” itself. The tab strip is keyboard-accessible (use arrow keys to move between tabs).

What creators see

At the top of the Donations tab is a KPI strip – five numbers that summarise the creator’s own fundraising activity at a glance:

KPIPlain-English meaning
Total raisedThe full amount the creator’s fundraisers have brought in. Refunded and pending donations are excluded.
DonorsUnique donor count. A donor who gave twice still counts as one.
DonationsTotal number of completed donations.
Avg donationTotal raised divided by donation count.
Active recurringNumber of recurring donation plans still active. Only shows when the Recurring Donations addon is enabled.

Below the KPIs, the donation list. Each row shows the donor name (or “Anonymous” if the donor chose to remain anonymous), donation amount, donation date in the site’s local timezone, campaign the donation was made to, and a status badge (Completed / Pending / Failed / Refunded).

Filtering and sorting

The toolbar above the list has two controls:

ControlOptions
Date RangeAll Time, Last 7 Days, Last 30 Days, Last 90 Days.
StatusCompleted, Pending, Failed, Refunded. Default is Completed.

Pagination respects the current filter, so a creator filtering to “Last 7 Days, Completed” sees only those rows across all pages.

Exporting a CSV

The Export CSV button at the top of the list streams a CSV of the currently-filtered donations to the creator’s browser. The file includes the same columns as the on-screen list, plus the donation ID and the donor email when the donor wasn’t anonymous.

The CSV export is formula-injection safe – any cell starting with =+-@, or a control character is prefixed with a single quote so Excel and Google Sheets render it as text rather than evaluating it as a formula.

Send Thanks – personal thank-you emails

If you (the admin) enable thank-you emails, every donation row gets a Send Thanks button. Clicking it opens a modal with a templated email that the creator can review and send.

What the creator can do in the modal:

  • Review the templated subject and body (admin-configured – see below).
  • Edit the body before sending. Smart tags like {donor_name} and {campaign_title} are already substituted at this point – what the creator sees is what the donor will see.
  • Send. The email is sent immediately. The button on the donation row changes to a green “Thanked” badge so the creator can see at a glance which donors they’ve already reached out to.

A few practical guardrails are built in:

  • Race-guard. If the creator clicks Send Thanks twice in quick succession, only the first send is processed – the second is silently ignored. No duplicate emails.
  • Rate-limit. A creator can send at most one thank-you email per donation, and at most 60 thank-you emails per hour. Beyond that, the button shows a friendly “please slow down” message.
  • Reply-to routing. The email’s Reply-To header is set to the creator’s own email address, so any reply lands in the creator’s inbox, not the admin’s. The From address remains your site’s default sender.

Admin setup

The whole feature is off by default. To turn it on:

WordPress Admin > Charitable > Ambassadors > Settings > My Campaigns

There are two settings that govern this feature:

SettingWhat it controls
Show Donations TabWhether the Donations tab appears on the My Campaigns page at all. Off by default; flip it to On to enable the tab.
Allow Creators to Send ThanksWhether the Send Thanks button appears on each donation row. Off by default; only enable after you’ve reviewed the email template (next section).

Then the email template:

WordPress Admin > Charitable > Ambassadors > Settings > Emails

Look for the Creator Thank-You row. Click to edit the subject and body. The template supports the following smart tags:

TagSubstitutes to
{donor_name}The donor’s display name, or “Anonymous” if they opted out.
{donor_first_name}The donor’s first name only.
{donation_amount}The donation amount with currency symbol.
{campaign_title}The campaign the donation was made to.
{creator_name}The fundraiser owner’s name. Used in sign-offs.
{site_name}Your site’s name.

A reasonable default template ships with the plugin so you don’t need to write one from scratch. Review the wording, adjust the tone to match your brand, save.

Tips

  • Roll it out gradually. Enable the Donations tab first and let creators see their donor lists for a week or two. Only after that, flip on Send Thanks. This gives creators time to digest the new visibility before you put a send button in their hand.
  • Set expectations in your onboarding email. When a new ambassador signs up, tell them about the Donations tab. They’ll find it on their own eventually, but a heads-up makes for a better first-week experience.
  • Edit the template, don’t replace it. The default body uses smart tags in places that match how donors expect a thank-you to read. Tweak the wording, but keep the structural shape (greeting, gratitude, what the donation enables, sign-off).
  • Monitor early thank-yous. For the first week after enabling Send Thanks, scan a few sent emails for tone. If a creator is being too casual or off-brand, a quick gentle nudge (“Hey, just so you know – our supporters tend to expect a slightly more formal tone”) is far easier than rolling back the feature.

Anonymity handling

Donors can mark a donation as anonymous at checkout. When they do:

  • Their name appears as “Anonymous” in the creator’s donation list and CSV export.
  • Their email is omitted from the CSV.
  • The Send Thanks button is hidden for that row – there’s no way for the creator to email an anonymous donor through this tool.
  • The donor’s identity is also hidden from the donor-search autocomplete used elsewhere in the plugin.

Anonymity is enforced at the data-access layer, not just the UI, so a creator can’t bypass it by inspecting the page source or hitting the AJAX endpoint directly.


Developer reference

Shortcode behavior

The Donations tab is rendered inside the existing [charitable_my_campaigns] shortcode – there’s no separate shortcode. The tab strip switches between two view modes via a cap_view query argument:

  • ?cap_view=campaigns (default): the original list of the creator’s own campaigns.
  • ?cap_view=donations: the new donations view.

The shortcode reads the Show Donations Tab setting before rendering the strip; with the setting off, only the original view shows.

Filters

FilterDefaultPurpose
charitable_ambassadors_creator_donations_enabledreads settingMaster toggle for the whole feature. Return false to hide it.
charitable_ambassadors_creator_donations_send_thanks_enabledreads settingToggle for the Send Thanks button.
charitable_ambassadors_creator_donations_per_page20Page size for the donations list.
charitable_ambassadors_creator_donations_rate_limit60Maximum thank-you emails a single creator can send per hour.
charitable_ambassadors_creator_donations_date_window_years10How far back filters can reach. Increase if you need historical exports beyond 10 years.
charitable_ambassadors_creator_donations_csv_columnsarrayThe CSV column list. Add or remove columns by filtering the array.
charitable_ambassadors_creator_thank_you_smart_tagsarrayAdd custom smart tags. Return an array keyed by tag name with a callback for substitution.

Actions

ActionFires whenArgs
charitable_ambassadors_creator_thank_you_sentCreator successfully sends a thank-you email.$donation_id$creator_id$donor_id
charitable_ambassadors_creator_donations_csv_exportedA creator exports a CSV of their donations.$creator_id$filter_args$row_count

Classes and AJAX endpoints

SymbolRole
Charitable_Ambassadors_Creator_Donations_RepoData-access class. Owns the query()aggregates(), and owns_donation()methods. All anonymity masking happens here.
Charitable_Ambassadors_Creator_Donations_AjaxAJAX router. Handles the filter, paginate, send-thanks, and CSV-export requests.
Charitable_Ambassadors_Email_Creator_Thank_YouThe Charitable_Email subclass for the thank-you template. Adds the smart-tag layer on top of Charitable’s standard email plumbing.
wp_ajax_charitable_ambassadors_creator_donations_queryAJAX action: filtered + paginated list.
wp_ajax_charitable_ambassadors_creator_donations_exportAJAX action: CSV stream.
wp_ajax_charitable_ambassadors_creator_donations_thankAJAX action: send a single thank-you email.

All three AJAX endpoints check is_user_logged_in() + verify the current user owns the campaign(s) the donation rows are scoped to. Anonymity is enforced at the repo layer; the AJAX endpoints are thin wrappers.

Template overrides

The shortcode renders through standard Charitable template overrides. To customise the Donations tab UI from your theme:

your-theme/charitable-pro/charitable-ambassadors/shortcodes/my-campaigns/donations-tab.php
your-theme/charitable-pro/charitable-ambassadors/emails/creator-thank-you.php

Customization examples

Allow only verified ambassadors to send thanks:

add_filter( 'charitable_ambassadors_creator_donations_send_thanks_enabled', function ( $enabled ) {
    if ( ! $enabled ) {
        return false;
    }
    return (bool) get_user_meta( get_current_user_id(), '_charitable_user_verified', true );
} );

Raise the thank-you rate-limit to 200 per hour:

add_filter( 'charitable_ambassadors_creator_donations_rate_limit', function () {
    return 200;
} );

Add a custom smart tag for the donor’s city:

add_filter( 'charitable_ambassadors_creator_thank_you_smart_tags', function ( $tags ) {
    $tags['donor_city'] = array(
        'description' => __( 'The donor city, from billing address.', 'your-theme' ),
        'callback'    => function ( $donation ) {
            return (string) get_post_meta( $donation->ID, 'donor_address_city', true );
        },
    );
    return $tags;
} );

Add a CSV column for the donation gateway:

add_filter( 'charitable_ambassadors_creator_donations_csv_columns', function ( $columns ) {
    $columns['gateway'] = array(
        'header'   => __( 'Gateway', 'your-theme' ),
        'callback' => function ( $donation ) {
            return (string) get_post_meta( $donation->ID, 'donation_gateway', true );
        },
    );
    return $columns;
} );

Related


Asset list (for the docs editor)

FilenameWhat to captureSuggested alt text
01-donations-tab.pngThe Donations tab on My Campaigns, KPI strip + first 4-5 donation rows visible.The Donations tab on the My Campaigns page, showing KPIs at the top and a filterable list of donations below
02-tab-strip.pngClose-up of the My Campaigns tab strip, “Donations” tab highlighted.The My Campaigns page now showing two tabs: My Campaigns and Donations
03-donation-row.pngA single donation row close-up, Send Thanks button visible on the right.A donation row with donor name, amount, date, campaign, status, and a Send Thanks button on the right
04-send-thanks-modal.pngThe Send Thanks modal open over the donations list, subject + body visible.The Send Thanks modal, with the donor name pre-filled, the subject line, and the editable email body
05-email-template.pngThe Creator Thank-You email template editor in admin (Settings > Emails).The Creator Thank-You email template editor in admin, showing the subject and body fields with smart tag references

Notes

All five screenshots need the testbed to have:

  • The Donations tab + Send Thanks settings both enabled in Ambassadors > Settings > My Campaigns.
  • At least one logged-in ambassador account with 3+ completed donations on their own fundraiser.
  • A configured Creator Thank-You email template (the defaults work; capture as-is).
  • At least one anonymous donation in the list so the doc can show how that row renders (optional but ideal).

05-email-template.png is admin-side; the other four are taken while logged in as an ambassador (use User Switching to switch from admin to a seeded ambassador).

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!

ambassadors New

👤 Creator Profiles: Put a Face to Every Peer-to-Peer Campaign

Ambassadors 3.3.0 now provies Creator Profiles — giving your supporters a permanent, shareable public home that turns one-time fundraisers into ongoing relationships.

👤 Public Creator Pages: Give every fundraiser an instant, clean landing page at /creator/their-name/ to showcase their custom avatar, bio, and a browsable grid of their campaigns.

📊 Proof of Impact: Boost donor trust by displaying site-wide milestones on the profile—like total funds raised and total donor counts.

💳 Interactive Hover Cards: When donors hover over a creator’s name on a campaign page, a compact card expands with their bio and social handles right at the moment of decision.

📍 Responsible Location Sharing: Allow creators to safely show local supporters where they are based using only city, state, and country details.

🛠️ Self-Serve Customization: Fundraisers can update their own profiles and link up to six social networks directly from the My Campaigns hub, saving you admin time.

Ready to empower your advocates? Update to Ambassadors 3.3.0 and turn on “Enable Public Creator Page” today!

Improvement Payments

📱 Turn Mobile Scrollers Into Donors: Meet Charitable’s Mollie Upgrade

Losing mobile supporters because they hate typing out long card numbers on their phones? Charitable’s updated Mollie integration features:

⚡ One-Tap Wallet Checkout: Enable donors to complete their gifts instantly using Apple Pay or Google Pay with a simple face scan, fingerprint, or tap.

💰 No Extra PCI Burden: Skip complex domain verification and security compliance since all wallet transactions run safely through Mollie’s hosted checkout.

🛠️ Custom Cancel Routing: Keep the experience predictable by automatically sending donors who back out to your cancellation page, or use developer filters to route them to a custom page.

Visit this page to learn more.

ambassadors improved New

Moderation and Directory Screens In Ambassadors 3.0

Ambassadors 3.0 has new features: moderation and directory screens… now easily see those who are earning donations on your peer to peer network – including campaign creators that might need to be verified – all in one place. Generate reports, email ambassadors and campaign creators directly and more.

🚀 See when campaign creators and ambassadors have updated their campaigns, what donors/donation they have brought in and more.

🎉 Manually add ambassadors and campaign creators, and approve them in one-click!

Visit this page to learn more.

New Payments

⚡ Unlock India-Based Donations: Meet Charitable’s Native Razorpay Integration

Trying to collect donations in India? Charitable’s native Razorpay integration features:

⚡ Instant UPI Integration: Accept fast, local donations directly inside your form via apps like PhonePe, Google Pay, Paytm, and BHIM without sending donors away from your site.

📲 Auto-Generated Campaign QRs: Instantly render scannable QR codes encoding a UPI deep link directly on your public campaign pages and sidebars for an effortless “scan-to-give” experience.

💰 Dual Local & Global Reach: Headline your campaigns in INR while seamlessly accepting major international currencies like USD, EUR, GBP, and CAD to maximize global support.

🔁 Seamless Recurring Giving: Fully integrates with the Charitable Recurring addon to manage automatic monthly subscriptions directly through Razorpay without extra code.

↩️ Automatic Two-Way Sync: Keep your books perfectly clean with two-way refund syncing—issue a refund inside WordPress or your Razorpay dashboard and both sides update automatically.

🔒 Webhook-Verified Security: Automatically protect your donation records using HMAC-signed webhook verification to ensure every status update represents real money cleared on the rails.

Visit this page to learn more.

Integration New

🎉 New Built-in PushEngage Integration

Struggling with falling email open rates and rising ad costs just to keep your supporters engaged? Charitable’s built-in PushEngage integration features:

🔔 Zero-Fee Direct Messaging: Deliver crisp, instant pop-up notifications straight to your donors’ desktops and mobile devices.

⏱️ Four Smart Automated Triggers: Automatically send updates for immediate donation thank yous, full-list campaign launches, urgent “ending soon” alerts, and goal milestone celebrations.

📈 Group Momentum Broadcasts: Turn private milestones into public wins by automatically broadcasting alerts to your entire subscriber list the moment a campaign hits 50%, 75%, or 100% of its goal.

📊 Automatic Analytics Tracking: Monitor exactly where your incoming notification traffic is coming from with built-in attribution that requires zero complex configuration.

Visit this page to learn more.