Sample Flows

This article presents possible use cases and corresponding sample flows that you can support. You're not limited to these flows, but they can serve as a helpful jumping-off point as you plan your implementation.

Create a fundraising campaign with both custom and predefined donation amounts

You want to create a donation campaign for a local animal shelter that accepts both custom amounts and suggested donation levels. The campaign has a clear fundraising goal and allows donors to leave comments about their contributions.

To create a comprehensive fundraising campaign:

  1. Call Create Donation Campaign with the basic campaign information.

    • Set the campaign name to something descriptive like "Help Our Animal Shelter".
    • Configure the campaignGoal with a target amount, end date, and post-completion settings.
    • Set customAmountEnabled to true.
    • Add predefinedDonationAmounts with meaningful amounts and descriptions.
    • Set the donationFrequencies to the desired frequencies like one-time and monthly.
    • Set commentsEnabled to true to allow donors to leave messages.
    • Add a coverImage to make the campaign more appealing.
  2. Verify the campaign is ready by calling Get Donation Campaign to confirm all settings are configured correctly.

Monitor campaign progress and adjust settings

You have an active donation campaign and want to track its performance while making adjustments based on donation patterns. This helps optimize the campaign for better results.

To monitor and optimize an active campaign:

  1. Call Get Donation Campaign Metrics to retrieve the current progress.

    • Check the donationCount to see participation levels.
    • Review the totalAmount to assess progress toward your goal.
    • Compare metrics against your timeline expectations.
  2. Analyze the performance data to identify optimization opportunities.

    • Low participation might indicate need for different payment options.
    • Strong performance might suggest extending the campaign or increasing the goal.
  3. If donations are lower than expected, update payment options by calling Update Donation Campaign.

    • Add more predefinedDonationAmounts at different price points.
    • Adjust the customAmountOptions by setting minimum or maximum limits.
    • Enable additional donationFrequencies like weekly recurring donations.
    • Add a description to predefinedDonationAmounts to be more compelling.
  4. If the campaign is performing well and nearing its goal, consider updating the goal settings.

    • Extend the campaignGoal.endDate to allow more time for donations.
    • Set campaignGoal.acceptDonationsAfterGoal to continue collecting beyond the target.
    • Add stretch goals by updating the campaignGoal.targetAmount.

Manage multiple campaigns with bulk operations

You're running several fundraising campaigns simultaneously and need to efficiently update their settings or organize them with tags. This scenario is common for nonprofits managing multiple causes or time-sensitive campaigns.

To efficiently manage multiple campaigns:

  1. Retrieve all active campaigns by calling Query Donation Campaigns:

    • Filter by archived: false to get only active campaigns.
    • Sort by createdDate to see newest campaigns first.
    • Use pagination if you have many campaigns.
  2. Identify campaigns that need updates based on your criteria:

    • Group campaigns by performance levels, end dates, or campaign types.
    • Determine which campaigns need similar updates.
  3. For campaigns requiring similar changes, use Bulk Update Donation Campaigns:

    • Modify donationFrequencies for seasonal campaigns.
    • Adjust customAmountOptions for different campaign types.
    • Ensure you include the current revision for each campaign.
  4. Apply consistent tagging across campaigns using Bulk Update Donation Campaign Tags By Filter:

    • Use filters to select campaigns by specific criteria like existing tags or creation dates.
    • Assign new tags for better organization and reporting.
    • Remove outdated tags that no longer apply.
  5. Monitor the asynchronous tag update operation using the returned job ID:

    • Use the Get Async Job endpoint to check progress.
    • Wait for completion before running additional bulk operations.
  6. Archive completed campaigns to keep your active campaign list manageable:

    • Call Update Donation Campaign with archived: true.
    • Preserve campaign data while removing them from active management views.

Set up recurring donation campaigns

You want to create campaigns specifically designed to encourage ongoing monthly support from donors. This approach works well for sustained funding needs like operational costs or long-term projects.

To create campaigns optimized for recurring donations:

  1. Call Create Donation Campaign with recurring donation settings:

    • Set donationFrequencies to include MONTH and optionally YEAR.
    • Configure predefined amounts that work well for monthly giving.
    • Set descriptions for predefinedDonationAmounts that emphasize ongoing support benefits.
  2. Configure payment options that encourage recurring support:

    • Set a reasonable customAmountOptions.minimum for monthly donations.
    • Offer predefinedDonationAmounts that feel sustainable for monthly giving.
    • Enable customAmountEnabled for donors who want to give more or less.
  3. Set up campaign goals that account for recurring donations:

    • Set campaignGoal.acceptDonationsAfterGoal to true.
    • Plan for goal adjustments as recurring donations grow over time.
Did this help?