Charitable Documentation

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

Ambassadors Setup Wizard: Three Paths to a Running Peer-to-Peer Program

Requires:

  • Charitable Pro 1.8.16+
  • Charitable Ambassadors 3.0.0+

The first time you activate Charitable Ambassadors, you’ll see a Welcome screen that asks how you want to get started. There are three paths – all of them get you to the same place (a running peer-to-peer program), but each fits a different style of user. Pick the one that matches how you like to set things up and you’ll be running submissions in a few minutes.

The Ambassadors Setup screen showing three completion paths: Wizard, Templates, and Quick Start

When You’d Use It

  • First-time setup – you’ve just activated the plugin and want a guided way through the settings that matter.
  • Setting up a second site – you know what you want; pick a template to apply your usual configuration in one click.
  • Switching scenarios – you ran a marathon last year, this year it’s a gala. Re-running the wizard with the Gala template re-applies the right settings.
  • Helping a colleague onboard – point them at the wizard so they don’t have to learn the settings tree.

Finding The Ambassadors Setup Wizard

The Setup screen appears automatically the first time you visit any Ambassadors admin page after activation. After that:

In your WordPress Admin, go to Charitable » Ambassadors » General » Setup actions » Open Setup

The Setup screen is always available – you can re-run any of the three paths whenever you want, and re-running won’t blow away settings you’ve already customized.

Three Paths of the Wizard

Path 1 – Wizard

The Wizard walks you through every meaningful Ambassadors setting in a guided, step-by-step flow. Best for people who want to see and understand each choice before clicking Save.

The steps:

#StepWhat you decide
1WelcomeIntroduction + path choice.
2Campaign typesWhat kinds of fundraisers you’ll accept – individual, team, team member.
3Approval & requirementsManual or auto-approval. Whether ambassadors need to register an account. Whether they need to verify their email.
4Login flowWhere ambassadors land when they need to sign in. (Conditional – skipped if your site already has a login flow configured.)
5PagesScaffold a /submit-campaign/ page and a /my-campaigns/ page if you don’t already have them.
6SharingPick which social networks the share grid shows on fundraiser pages.
7Template stylePick legacy / enhanced / visual rendering for fundraiser pages.
8Brand colorSet your primary accent color (used by enhanced + visual templates). (Conditional – skipped if you’re staying on legacy templates.)
9Starter campaignOptionally create a draft peer-to-peer-enabled campaign so you have something to test the ambassador flow against immediately.
10CompleteSummary of what was set, next steps, exit.

Each step has a “Read more about this step” link in the header that opens this docs page anchored to the step name. Every step also has a “Skip” button so you can move past anything you’d rather configure later from the Settings.

Path 2 – Templates

If you know what kind of program you’re running – a marathon, a gala, a school fundraiser – the Templates path is the fastest way to apply a sensible default bundle of settings. Pick a template and the wizard applies a curated set of settings, then drops you straight into a slim version of the wizard for the choices that template can’t safely default (like your brand color and starter campaign).

The Templates path showing six scenario cards: Marathon, Memorial, Gala, School, Birthday, Custom

The six scenarios:

TemplateWhen to pick itWhat it sets
Marathon / Walk-a-thonRace-day fundraisers with teams.Individual + Team + Team Member submissions, manual approval, email verification on, “stats-forward” layout. Starter goal $50K, 90-day length.
Memorial / TributeSolo fundraisers honoring a person.Individual submissions only, manual approval, “story-forward” layout. Starter goal $10K, 60-day length.
Annual Gala / EventTrusted internal teams running an annual event.Team + Team Member submissions, auto-approval (low friction), “classic” layout. Starter goal $100K, 30-day length.
School / EducationK-12 schools, PTAs, classroom fundraising.Team + Team Member submissions, manual approval, “donate-first” layout. Starter goal $25K, 45-day length.
Birthday / PersonalShort-burst personal fundraisers.Individual submissions only, auto-approval, “magazine” layout. Starter goal $1K, 14-day length.
Custom – Build my ownNone of the above fits.Applies no preset; drops you into the regular wizard.

After you pick a template, the wizard skips ahead – the campaign types, approval, sharing, template style, and layout-variant steps are already set, so you only see Pages, Brand color, Starter campaign, and Complete.

Path 3 – Quick Start

The fastest path: one click. Quick Start applies a generic-but-sensible default bundle (essentially the same as picking Custom and accepting every default), creates your Submit Campaign + My Campaigns pages, and drops you on the Overview ready to share an ambassador link.

The Quick Start card with a single Get Me Set Up button

Use Quick Start when:

  • You’re just exploring the plugin and want to see what running ambassadors looks like.
  • You’re a developer iterating on a customization and need a reset-able baseline.
  • You’ve already designed your own settings via filters and don’t want the wizard’s defaults to fight you.

You can re-run the regular Wizard at any point afterward to refine the choices Quick Start auto-applied.

What the Wizard Actually Does

Across all three paths, the wizard makes the same kinds of changes:

SurfaceWhat gets touched
Settingswp_options.charitable_settings > ambassadors > * keys for every step you complete.
PagesThe Pages step creates /submit-campaign/ (with [charitable_submit_campaign]) and /my-campaigns/ (with [charitable_my_campaigns]) as drafts if they don’t already exist. You publish them when you’re ready.
Starter campaignThe Starter step creates a peer-to-peer-enabled draft campaign with optional placeholder header image and starter copy.
Onboarding stateThe wizard’s progress is stored in wp_options.charitable_ambassadors_onboarding so you can resume after closing the page.

Nothing is destructive. Re-running the wizard doesn’t wipe existing settings – it shows you the existing value and lets you keep or change it.

Resetting Setup Data

If you want to start clean (for example, testing the onboarding flow before a release), use the destructive Reset setup data button on WordPress Admin > Charitable > Ambassadors > General > Setup actions. It removes only the artifacts the wizard creates (the onboarding state option, the auto-created pages if they’re still empty drafts, the starter campaign if it’s still a draft). It does not touch settings.

The reset is double-confirmed and logged.

The “Setup needs attention” Panel

Until you finish at least one completion path, an orange panel appears on the Overview prompting you to open Setup:

You can dismiss the panel per-user – the dismissal is stored in user-meta and doesn’t affect other admins.

Tips

  • Pick a template if one fits. It’s faster than the full wizard and gets you 80% of the way to a well-configured site.
  • The Starter step is optional but recommended. Having one peer-to-peer-enabled campaign on day one means you can test the ambassador flow yourself before sharing anything publicly.
  • The wizard isn’t “done forever.” Re-run it any time you want to change scenarios (e.g. switching from a gala to a marathon program).
  • Use Quick Start in dev environments. It’s the fastest way to reset and start over while iterating.

Developer Reference

The rest of this page is for developers customizing the onboarding flow.

Storage

wp_option:  charitable_ambassadors_onboarding
shape:      {
              'completed_via'       => null | 'wizard' | 'template' | 'quick_start',
              'completed_at'        => null | int (epoch),
              'template_slug'       => null | string,
              'current_step'        => string (key),
              'completed_steps'     => string[],
              'panel_dismissed_by'  => int[] (user IDs),
            }

State is read/written via Charitable_Ambassadors_Onboarding_State::get_instance().

Step registry

The 10 master steps are defined in Charitable_Ambassadors_Onboarding_Steps::get_master_steps(). Each has a can_render callable used for conditional branching. Two steps are conditional out of the box:

  • login_setup – skipped if the site already has a non-default login flow configured.
  • brand_color – skipped if the site stays on legacy templates (no accent color is used).

Add, remove, or reorder steps via the charitable_ambassadors_onboarding_wizard_steps filter.

Per-step can_render

Each step’s render eligibility can also be overridden via a per-step filter:

add_filter( 'charitable_ambassadors_onboarding_step_brand_color_can_render', '__return_false' );

Use this to hide individual steps without modifying the master list.

Templates registry

The 6 templates are defined in Charitable_Ambassadors_Onboarding_Templates::get_all(). Each template has:

  • label, description (display only)
  • settings – the bundle of ambassadors settings to apply
  • starter – defaults for the starter campaign (title, description, goal, length, suggested donations)

Add or modify templates via the charitable_ambassadors_onboarding_templates filter.

Filters

FilterDefaultPurpose
charitable_ambassadors_onboarding_wizard_stepsarray of 10Add, remove, or reorder wizard steps.
charitable_ambassadors_onboarding_step_<key>_can_rendertruePer-step conditional gate.
charitable_ambassadors_onboarding_templatesarray of 6Register additional scenario templates.
charitable_ambassadors_onboarding_visual_template_candidatescomputedFilter the list of campaigns offered as a Visual mode template campaign on the Template style step.
charitable_ambassadors_onboarding_starter_campaign_argscomputedModify the wp_insert_post args used to create the starter campaign. Receives $args, $template_slug, $data.
charitable_ambassadors_onboarding_starter_campaign_defaultscomputedModify the starter defaults (title, description, goal, etc.). Receives $defaults, $slug.
charitable_ambassadors_onboarding_starter_suggested_donationstemplate defaultOverride the suggested donation amounts for the starter. Receives $amounts, $template_slug.
charitable_ambassadors_onboarding_should_show_panelcomputedForce the “Setup needs attention” panel on or off.
charitable_ambassadors_onboarding_panel_accent#E38632Accent color of the prompt panel.
charitable_ambassadors_onboarding_show_features / _show_resourcestrueToggle the Features and Resources sections on the wizard sidebar.
charitable_ambassadors_onboarding_features / _resources / _sidebar_featurescomputedReplace those sections’ content.
charitable_ambassadors_onboarding_sidebar_illustrationSVGReplace the sidebar illustration.
charitable_ambassadors_onboarding_sidebar_docs_url / _docs_labelwpcharitable.com URLOverride the sidebar docs link.
charitable_ambassadors_onboarding_docs_urlthis pageOverride the base docs URL the per-step “Read more” links resolve to.
charitable_ambassadors_onboarding_docs_url_for_stepcomputedPer-step docs URL override. Receives $url, $step_key.
charitable_ambassadors_onboarding_capabilitymanage_charitable_settingsCapability check for all onboarding AJAX endpoints.
charitable_ambassadors_quick_start_defaultscomputedOverride the bundle of settings Quick Start applies.
charitable_ambassadors_onboarding_placeholder_image_metaarrayMetadata for the placeholder header image used by the starter campaign.
charitable_ambassadors_onboarding_path_iconSVG per pathReplace the per-path icon on the path-picker. Receives $svg, $slug.

Actions

ActionArgsFires when
charitable_ambassadors_onboarding_artifact_created$type, $post_idA wizard step created a page or starter campaign. $type is 'page' or 'campaign'.
charitable_ambassadors_onboarding_complete$via, $template_slugAny of the three paths completes. $via is 'wizard', 'template', or 'quick_start'.
charitable_ambassadors_onboarding_quick_start_applied–Quick Start completed (in addition to _complete).
charitable_ambassadors_onboarding_panel_dismissed$user_idA user dismissed the Overview prompt panel.

AJAX endpoints

All on wp_ajax_ only, nonce action charitable_ambassadors_onboarding, capability manage_charitable_settings (filterable via charitable_ambassadors_onboarding_capability):

ActionPurpose
charitable_ambassadors_onboarding_apply_quick_startApply the Quick Start defaults bundle.
charitable_ambassadors_onboarding_dismiss_panelDismiss the “Setup needs attention” panel for the current user.

(Step-by-step navigation uses standard form-POST against the wizard’s own URL with sub-action params; it’s not AJAX.)

Customization Examples

Add a custom “Crowdfunding” template:

add_filter( 'charitable_ambassadors_onboarding_templates', function ( $templates ) {
    $templates['crowdfunding'] = [
        'label'       => 'Crowdfunding launch',
        'description' => 'High-volume short-burst campaign with auto-approve.',
        'settings'    => [
            'campaign_recipients'    => [ 'individual' ],
            'auto_approve_campaigns' => 1,
            'ui_version'             => 'enhanced',
            'enhanced_layout_variant'=> 'magazine',
        ],
        'starter' => [
            'title'       => 'Help us launch',
            'description' => 'A short, intense campaign...',
            'goal'        => 20000,
            'length_days' => 30,
            'suggested_donations' => [ 10, 25, 50, 100 ],
            'terms'       => [],
        ],
    ];
    return $templates;
} );

Skip the Login Flow step on every install:

add_filter( 'charitable_ambassadors_onboarding_step_login_setup_can_render', '__return_false' );

Replace the Setup panel’s accent color to match your brand:

add_filter( 'charitable_ambassadors_onboarding_panel_accent', function () {
    return '#1e7e34';
} );

Related

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!

Improvement Payments

💸 Introducing Tiered Rates for Fee Relief: Match the Ask to the Gift!

Fee Relief asks your donors one short question at checkout: would you like to cover the processing fee on this gift? Until now that question used a single rate for every donation on a gateway, so a $10 gift and a $500 gift were asked for the same percentage. Fee Relief 1.3.0 lets you set as many donation bands as you like, each carrying its own rate. Why this is important:

  • 🪙 Gentler on small gifts: A fixed transaction cost is a far bigger share of a $10 donation than a $500 one, so bands let you ask for less at the bottom.
  • 🎚️ As many bands as you need: Each band carries its own percentage and its own fixed amount, and the top band runs on with no upper limit.
  • 🛑 An optional ceiling: A Maximum fee field stops any donor being asked for more than a number you choose, however large the gift.
  • 🔌 Set per payment gateway: Stripe can run on four bands while Windcave and Payfast stay on a single rate, because bands belong to a gateway and not to your whole site.
  • 🛡️ Nothing changes until you say so: Your current rates stay exactly as they are until you switch Use Tiered Rates on under Charitable » Settings » Advanced » Fee Relief.

Check out our announcement here.

Donations Improvement

📊 Your Pro Dashboard Can Now Compare, Export, and Score!

Most fundraising dashboards only tell you how much you have raised. Charitable Pro 1.8.19 rebuilds the dashboard and the Reports Overview around the harder questions: whether anything is broken, whether this period beat the last one, and which single change would make the most difference today. Why this is important:

  • 📈 Every figure has a trend: Pick a period and the tiles and the chart move together, with each total shown against the previous period.
  • 🗓️ Charts that stay readable: Short ranges group donations day by day, while longer ranges group by week or month, so a full year reads as a curve instead of a flat line.
  • 🔀 Compare any 2 periods: Not just consecutive ones, so you can ask how this December did against last December. That matters because fundraising is seasonal.
  • 📤 Export the whole summary: Send the full overview out as CSV or PDF, ready for a board pack or a funder report.
  • 🎯 Score your setup for free: Have your fundraising setup scored, so the one change worth making next is the one you can see.

Check out our announcement here.

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.