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_appliedQuick 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 →  

💸 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!

GiveWP Migrations New

White Glove Migration Service for GiveWP

Thinking about switching your fundraising platform from GiveWP to Charitable, but don’t want to risk losing your data or handle a complex technical setup yourself? Charitable’s White Glove Migration Service features:

👥 Flawless Donor Mapping: Safely transfer your entire supporter database with zero data loss.

📊 Complete Financial History: Meticulously preserve every historical transaction for continuous, accurate reporting.

🔄 Seamless Recurring Giving: Safely transfer active sustaining subscriptions without disrupting your incoming revenue or requiring your donors to update their information.

💳 Zero Gateway Disruptions: Keep using Stripe, PayPal, or any other GiveWP-compatible processor you already love.

🚀 Expert Technical Setup: Relax while our team handles the heavy lifting to install and configure your forms—plus, qualifying users get a full year of Charitable Pro completely free.

Visit this page to learn more.

automation Improvement

📢 New Feature Alert: Automation Connect 2.0 Is Here! 🚀

Thinking about connecting your fundraising data to tools like Mailchimp, Slack, or Google Sheets, but don’t want to hire a developer or write custom code? Charitalbe’s new automation addon has:

⚡ 17 Event Triggers: Instantly fire webhooks for a donor’s first gift, renewal payments, or reached campaign milestones.

🎯 Smart Conditional Logic: Use powerful AND/OR logic across 11 fields to only send data when it meets your exact criteria, like newsletter opt-ins.

📊 Custom Payload Control: Select from 80+ clean data fields across donor, donation, and campaign metadata so your apps get exactly what they need.

🚀 Pre-Built Platform Templates: Skip the setup from scratch with ready-to-go templates for Zapier, Make.com, n8n, HubSpot, and Slack.

🛡️ Reliable Developer Tools: Power your workflows with signed HMAC-SHA256 payloads, complete WordPress filters, and automatic retry logs.

automation Improvement

🔌 Charitable Meets Zapier: Connect to 7,000+ Apps and Automate Your Fundraising

Tired of manually copying donation data into accounting sheets or tracking down new donor signups? Put your administrative tasks on autopilot. Charitable is now officially on Zapier, giving you a powerful, no-code way to plug your fundraising directly into the rest of your favorite tools.

Every donation, donor signup, and campaign milestone can now trigger an automated workflow seamlessly.

What’s New:

♾️ Connect to 7,000+ Apps: Bridge your Charitable campaigns with everyday software like Google Sheets, QuickBooks, Slack, Mailchimp, HubSpot, Notion, Airtable, and thousands more.

⚡ 12 Powerful Triggers: Build deep workflows using smart automation triggers covering the entire donation lifecycle—including New Donation, New Donor, Subscription Cancelled, and Campaign Goal Reached.

📋 Pre-Built Action Templates: Get started in three minutes or less with our pre-made template combinations, like automatically logging new donations straight into a Google Sheet or firing custom donor welcome emails through Gmail.

🚫 Zero Code Needed: No complex webhooks or custom PHP scripts required. Just pick your trigger, choose your app, map your fields, and let Zapier handle the heavy lifting.

Ready to save hours of admin time? Grab Charitable Pro with the Automation Connect addon today and launch your first Zap!

Improvement Payments

🚀 Introducing PayPal Commerce: One Connection, Six Ways to Donate

Donors expect modern, flexible payment options when they support a cause. If they don’t see their preferred method on your donation form, they often disappear without a word. With PayPal Commerce, we are bringing a completely modernized checkout experience right to your campaigns.

Enjoy a single integration that upgrades your forms, makes giving seamless, and helps you capture every single donation.

What’s New:

🔌 One-Click Connection: Skip messy API keys and developer docs. Simply click “Connect with PayPal,” sign in to your business account, and your modern form is live in under five minutes.

💳 Six Ways to Give: Give your supporters instant access to PayPal balance, Venmo (US), Pay Later financing, major credit/debit cards, Apple Pay (Safari), and Google Pay (Chrome) all from the exact same form.

🔄 Flexible Recurring Giving: Fully supports monthly giving. Choose between the PayPal Subscriptions API (handled automatically on PayPal’s end) or Vault + Cron (handled securely right on your site).

💬 Friendly Error Recovery: No more confusing browser alerts. If a payment is declined, donors see plain-language, inline messages that guide them on how to fix the issue and complete their gift.

Ready for PayPal, modernized? Update to Charitable Pro 1.8.15+ (or Charitable Lite 1.8.11+) and connect your account today!

Campaigns New

⏳ Campaign Countdown: Drive Urgency and Lift Donations

Urgency is one of the most powerful tools in fundraising! Meet Campaign Countdown—a live, real-time timer built to turn procrastination into immediate generosity.

campaign_countdown_animation

What’s New:

⏱️ Live, Real-Time Urgency: Beautifully track days, hours, minutes, and seconds down to your campaign’s deadline w/ live-updating visual countdowns.

🎨 Tailored to Your Look: Choose between Boxed bordered tiles or a clean, single-line Inline display. Match your theme instantly with font and deep color controls.

🛠️ Place it Anywhere: Drop the countdown anywhere you like using the Campaign Builder field, a dedicated Gutenberg block, or a simple shortcode.

🚨 Smart Expiry Actions: Total control over the end state—choose to automatically replace the timer with a custom message, freeze it at zero, and more.