Summer 2021 Sale

Cool off with 25% off all pricing plans!


Create a Peer-to-Peer Fundraising Campaign with GiveWP

This tutorial shows you how to use GiveWP with a form builder to create a simple peer-to-peer fundraising campaign submission form.
Peer to Peer fundraising featured image.

One powerful feature of peer-to-peer fundraising is the ability to allow your volunteers to create their own branded donation form on your website. You can do this with GiveWP and a form plugin.

But First, What is Peer-to-Peer Fundraising?

The power of peer-to-peer fundraising is in getting your volunteers and/or audience to be excited about your cause and empowering them to raise funds on your behalf. Instead of you and your staff constantly reminding people why they should give to you, you allow others to tell a story of why they are invested in and passionate about what you do.

In many ways, peer-to-peer fundraising is a compelling validation of your cause. Others might receive fundraising asks much more genuinely, simply because the plea came from someone who is not paid staff of your organization.

But how can you do a campaign like this? All you need is GiveWP and a form builder that can create posts from submissions. Forms creating other forms — sounds funny right? But in GiveWP, a form represents a campaign or fundraising drive.

This tutorial shows you how to create GiveWP peer-to-peer campaigns by letting supporters of your cause create a draft donation form. It might sound complicated, but many GiveWP users have implemented this tutorial for years with great success.

Watch or Read

You can watch the full tutorial in this video or read through the steps below.

The Tools You Need

So, first thing’s first, here’s what you need to make this happen:

  • GiveWP
    All you need is the free GiveWP plugin for this tutorial, no add-ons necessary. But we’ll cover how to use some of the GiveWP add-ons as well for those who want to.
  • A form builder plugin
    For this tutorial we’ll be showcasing how you can do this with Ninja Forms. But many other form builder plugins have similar features which you can use.
  • Post Creation features
    Whatever form builder you choose, it needs to have the ability to create WordPress posts. Below, you’ll see a comparison of some of the popular form builders and the necessary add-on they require and their costs.

Form builders in WordPress are very powerful tools. They really can create pretty much any kind of form that you need. GiveWP, on the other hand, gives you a more optimized donation form as well as fundraising reports and donor management. When you combine these two powerful tools, your form builder can create the peer-to-peer donation forms powered by GiveWP.

This tutorial will very specifically help you to understand how to use your form builder to generate draft GiveWP peer-to-peer campaigns.

The Process in a Nutshell

In order for any form builder to generate a GiveWP donation form, you have to ensure the correct information is passed from the form to the GiveWP donation form post. This entails what’s called “mapping the fields.”

Out of the box, a typical WordPress “post” has some basic ingredients:

  • A title
  • Some content
  • A featured image
  • An author
  • The publication date
  • (lots of other “meta” which isn’t particularly relevant for our purposes)

But a donation campaign or GiveWP form has other important data that we want every fundraising form to have. Some of this data should be default for every form. Some of it should be information that the volunteer fundraiser provides.

  • Campaign title
  • Campaign goal amount
  • Featured Image
  • Campaign story
  • Donor thank you email message

With just those basics, we have a Ninja Form that looks like this:

Create a Post Form has fields for Your Campaign Title, Your Image, Your Campaign Story, and Your Campaign Goal.

Next, we need to get the “Front End Posting” addon. This gives you the ability to create any kind of post on your site using a front-facing Ninja Form.

Once you have the “Form Posting Addon” installed and activated, you can create a form and choose a template called “Create a Post.”

Create a Post is a Ninja Form template you can use, just like a contact us form, event registration, etc.

Then, go to the “Emails & Actions” tab of the form builder, and click on the gear icon next to “Create a Post.” There you’ll see the post-creation options for this form. Notice that it automatically mapped the “Title” field to the “Post Title.”

The action "create post" will create a post type of "donation form" with a title taken from a form merge field.

By default, this form is going to create a new “post,” not a GiveWP form. To change that, change the “Post Type” option to “Donation Forms.” Now with those two small changes, this form will create a default GiveWP form with the volunteer fundraiser determining the campaign title! Congrats!

But! A campaign is more than a good title. If we create that form above, the only thing we can generate is a GiveWP form with all its defaults and a custom form title.

Keep in mind that the GiveWP form default settings alone result in a very effective donation form. It’s possible that all you need is a nice title. But most likely you’re going to want to set a custom goal amount, a featured image, and more.

How can we adjust the default options to allow the user to add information into their form submission that will map to the GiveWP peer-to-peer form? That’s where “mapping the fields” comes into play.

bell icon

Like What You're Reading? Subscribe Here!

Newsletter Opt-in

How to Map Fields to your GiveWP Form

Let’s get into the details of what it means to “map fields” from your form to your GiveWP forms. First just a little technical background to make the whole process make more sense.

Every WordPress post in your website is made of a bunch of data saved with a specific “key.” The same goes for your GiveWP donation forms. For example, the “Goal Amount” for a GiveWP form is saved in your database with this key: _give_set_goal. The custom amount minimum key is: _give_custom_amount_minimum.

With your Ninja Forms peer-to-peer submission form, you can pre-determine what those amounts are, or you can empower your volunteer fundraiser to choose.

In order to map the Ninja Form fields to those specific GiveWP form settings, we need to use the “Front End Posting” advanced options.

To do that, in your Ninja Form, click on “Emails & Actions.” Then choose the gear icon next to “Create a Post.” Next, open the “Advanced” section. Scroll to the bottom and you’ll see a section called “Custom Meta.” All of the rest of the information we need to map from your Ninja Forms submission form is stored in GiveWP forms as “custom meta.”

EXAMPLE: Setting the Goal Amount

Let’s say we want to allow the volunteer fundraiser to say how much they want to raise through their peer-to-peer donation form. First, we’ll create a dropdown field in our Ninja Form with the amounts we want to support for all volunteer fundraisers.

Next, the Goal Amount in the GiveWP form is set to “disabled” by default. We need to enable it. So in the “Custom Meta” area, put _give_goal_option as the “Meta Key” column, and in the second field, just type “enabled” (without quotes). It should look like this:

_give_goal_option is set to enabled.

Now we need to map the Ninja Forms goal field to the GiveWP Goal Amount. Click the “+” to add a new row to the Custom Meta section. Then for the “Meta Key” put _give_set_goal. To choose the “Your Campaign Goal” field in the Ninja Form, first click on the icon inside the right-hand field. That will open a popup where you can choose from the list of all the fields.

Merge tags on this peer-to-peer fundraising submission form include Creating a Post, Your Campaign Title, Your Image, Your Campaign Story, and Your Goal.

Now your “Custom Meta” should look like this:

_give_goal_option is set to enabled. _give_set_goal has a value taken from the campaign goal question in the Ninja Form.

How do I Discover all the “Custom Meta” I Need?

Now you have the basics of how this process works and how to map your fields correctly. But there are hundreds of “custom meta” options in the free GiveWP plugin alone. Add all the additional “meta” from all our add-ons, and you’ve got thousands of options. Listing all of them would make this article far too long.

Instead, it’s best if you can discover the “custom meta” yourself. Luckily there’s a really handy free plugin just for that purpose:

JSM's Show Post Metadata on
JSMs Show Post Metadata Plugin

This is a really handy plugin that “just works.” Install, activate, and now at the bottom of each of your pages, posts, donation forms, etc. in the admin edit screens, there’s a new metabox called “Post Metadata”.

The post metadata table has a key and value column.

Navigate to one of your GiveWP forms and click “Edit.” Scroll down to see all the data there. Note that this can also be shown or hidden with the “Screen Options” settings for each of your posts.

Screen element options for donation forms include the featured image, goal statistics, donation form options, the excerpt, slug, author, and post meta data.

The “Custom meta” that GiveWP uses for the donation form settings are fairly self-explanatory. You will have to do some searching (with CTRL + F) but it is all there. When you need to find exactly the “value” you need for a specific “key,” start a draft GiveWP form, set all the settings you want there, and save it. When the page refreshes, the Postmeta will be updated to show you the keys.

For example, what if you wanted all your forms to be the Legacy format instead of the new multi-step format? Save a draft of your GiveWP form with the Legacy template enabled. Then do a search for the word “legacy” and you’ll find this:

_give_form_template array ( 0 => 'legacy', )

Now you know that you can set the Custom meta to have a “Meta key” of _give_form_template and a value of “legacy.”

Another good example is your donor thank you email content. You can set a unique message just for your peer-to-peer fundraisers that includes email tags and everything with this key: _give_new-donation_email_message

An example of all set values for _give_new-donation_email_content_ , _give_new-donation_email_header , and _give_new-donation_email_message.

Once you start finding the “custom meta” you need and mapping the fields, you’ll find that the possibilities are endless. I’d encourage you to seek to set as many GiveWP form values as you can. The last thing you want is to get peer-to-peer fundraising submissions and find that you still need to customize each form yourself. Do this hard work up front to save yourself lots of time and mental energy later.

So let’s get you started with your next peer-to-peer fundraising campaign. Start by choosing your form builder. Whether you already have a form builder you love or are in the market for one, we did some of the research for you and even have some discounts you can enjoy.

Amplify your fundraising with a GiveWP Plan

A Comparison of Form Builders and their Pricing and Support for Post Creation

As mentioned above, you need not only a form builder plugin, but one that supports post creation. Different form builders handle post creation in different ways, and have different costs involved in that functionality.

So here’s a handy comparison chart to help you understand whether your favorite form builder of choice supports the ability to create GiveWP peer-to-peer forms.

Plugin Feature Name Availability Cost(s)
Ninja Forms Front End Posting Available as an add-on, or in the Professional Plan or higher. $39/year — as a single add-on.
Gravity Forms Post Creation Requires the “Advanced Post Creation” Elite extension $259/year — Elite plan
WP Forms Post Submission Available in the “Post Submission Add-on“, available in the Pro and Elite plans. $399/year — they often run discounts for the first year, making it often closer to $199/year for the first year.
Formidable Forms User Submitted Posts & Pages Available in the “all pricing plans.” Starting as low as $99/year. They also run discounts off the first year so you could get it as low as $49 for the first year.
Caldera Forms Custom Fields addon Available as a single add-on, or in the Toolbox or higher plan. $79 for the single add-on, or get the Toolbox plan for $99/year.

What Are You Building?

Now that you’re getting peer-to-peer fundraising submissions, how are you going to showcase those campaigns?

Don’t forget that we have several great features in our free plugin that can help you with that:

  • Form Grid can display all your volunteer forms on one page. Just make sure you set a specific tag or category to each form, then you can set the Form Grid to show only those forms.
  • We have a Multi-form Goal Block! Combine all the progress of all your volunteer forms in one gorgeous-looking progress bar.
  • We have a donor wall! What are your donors saying about WHY they are supporting your volunteer fundraisers? Show that off with the Donor wall.
  • You can also use Funds and Designations to track donations across each peer-to-peer donation form in one place.

We’d love to see your peer-to-peer fundraising campaigns. Put a link and description in the comments below and we’ll give you our feedback. We might even promote it on our social channels or email.

Here’s to your success!

About the Author

Liked what you read?

We have a lot more where that came from! Join 15,197 subscribers who stay ahead of the pack.

Share this post

Share on facebook
Share on twitter
Share on linkedin

You might also like

4 Responses

  1. Matt, I need P2P fundraising but I don’t want yet another forms plugin slowing down my site and I don’t want to have to pay for a premium form plugin. Is this functionality going to be added directly to GiveWP soon or are we looking at a year or more?

    1. Hi Simon! I’ll say a couple things to that:

      1. Your site speed is important — totally understand that. Our P2P solution is also going to be a plugin (like all GiveWP addons are) and every plugin you add to your site has to be measured against its performance. So whether you’re starting your P2P campaigns with a form builder, or with our more full-featured (future) addon is up to you. I think you can start taking submissions today with a form builder and have great success like MANY GiveWP users have over the past few years with this re-written tutorial.

      2. We are making daily progress on our dedicated P2P addon now. See our progress and follow along here:

      Thanks for reading and contributing to the conversation!

  2. Thanks for the tutorial, Matt. I’m using it on a live fundraising campaign now. I’m using Fluent Forms Pro, and its working nicely.

    I had a few questions, though:

    1. How do I map to an array? Let’s say I want to `_give_new-donation_recipient` to be set to *two* emails.
    2. How do I set the Form Category category to, say, ‘peer-to-peer’, using mapping?

    Many thanks. I’m looking forward to the roll-out of the proper peer-to-peer solution you’re developing. But in the meantime, this gets the job done.

    1. Unfortunately there’s not a very straight-forward way to do that. It’s best to set that manually. If you want your volunteers to indicate specifically what email addresses they want added, you might consider adding a custom field to all your forms to save only in the form edit screen for easy copy/pasting for that purpose. Thanks!

Leave a Reply

Your email address will not be published. Required fields are marked *

Like what you're reading?

Subscribe and stay ahead of the curve.

Share on facebook
Share on twitter
Share on linkedin

Choose Your Plan

Get the “” add-on with Recurring Donations, Fee Recovery, Annual Receipts and more for one low price.

Pro Plan

normally $499



Most Popular

Plus Plan

normally $360




Basic Plan

normally $249