Skip to main content

Import Peer-to-Peer Participants

Bloomerang Fundraising

If you already have a roster of participants (for example, from last year's campaign, a sign-up sheet, or another system), you can import them into your peer-to-peer campaign in bulk. This article explains how to import participants into a peer-to-peer campaign in Bloomerang Fundraising (formerly Qgiv by Bloomerang).

How It Works

A participant import follows these steps:

  1. You upload a .CSV file with your participants. The import reads a .CSV file with a header row and one participant per row.

  2. Bloomerang Fundraising shows you a preview of the import with any potential import problems.

  3. You fix or remove rows with issues.

  4. You complete the import.

  5. Bloomerang emails participants and creates accounts based on the import data.

After you upload your file, Bloomerang Fundraising previews the file before saving any data and shows you what will happen if you import it.

The preview catches two types of issues:

  • Row-level issues — a required value is blank, an email or phone number isn't valid, a category name doesn't exist on the campaign, or an activity role isn't one of the allowed values. These issues are flagged on the specific cell.

  • File-level issues — the file is missing a required column, is empty or unreadable, or has more than 300 rows. These issues stop the whole file with a message and a way to start over.

You can upload your file, review the preview, edit entries, and close the Participant Import page without saving any changes (closing the page erases your import and editing progress). Bloomerang saves your data only when you select Validate and Import.

The import decides whether to create or update data by matching participants based on email address:

  • No match on the campaign: Bloomerang creates a new participant.

  • One match: Bloomerang updates the existing participant. Only the values you provide change. Blank cells leave the existing information as it was.

  • More than one match: Bloomerang skips the row and marks it for your manual review.

Because the import matches based on a participant’s email address, importing a participant who already exists results in an update to that person instead of a duplicate entry.

Note: Within a single file, each email address must be unique. If the same email appears on two rows in one upload, both rows are flagged for your review. For managed participants who share a household email, we recommend plus-addressing to keep each row distinct (for example, [email protected]).

Before You Begin

Before you import participants, confirm the following:

  • Permission: You must be an admin to bulk-import participants. If you want others in your organization to bulk-import participants, you can grant them administrator permissions.

  • A peer-to-peer campaign: The campaign must be a peer-to-peer campaign.

  • Your categories: Category is required and matched by name. The import never creates categories, so every category in your file must already exist on the campaign. A new campaign starts with only the default Single Category. If you want additional ones, we recommend that you add them first. To create categories, read [Peer-to-Peer] Categories.

  • Your teams (if you use them): This tool imports participants, not teams. Create your teams first, then reference each team by name in your file. To create teams, read [Peer-to-Peer] Teams.

  • Your classifications (if you use them): Create your classifications before you import, then reference each classification by name in your file.

  • File size: Imports can include up to 300 participants (rows) per file. For larger rosters, we recommend that you split it into more than one file.

Import Participants

1. Download the .CSV Template

To make sure your data matches the required import formats, download the template from the import page. The template has the exact column headers the import expects, in the right order.

To download the template:

  1. In the control panel, click Forms.

  2. Click the peer-to-peer form you want to import into.

  3. Hover over Constituents, and then click Participant Import.

  4. Click Download the CSV template. The template downloads to your device.

    Participant Import page with the option to download the CSV template and an area to upload a file.

2. Enter and Review the Data

Before you upload your .CSV file, make sure each row in your .CSV file includes every required column:

  • First name

  • Last name

  • Email

  • Category

  • Activity role

Note: Payment type is also required when the category includes a fee.

If you try to upload a file with missing required columns, the whole upload fails and shows a message stating which columns are missing.

Error message on the Participant Import page stating the CSV is missing required columns.

Only the required columns must have values. For optional columns, leave the cells blank when you don't have a value.

Tip: To confirm the allowed values for each column, read the Participant Import Columns table.

If you created teams or categories for your participants, enter their names in the team or category columns.

Tip: If you are re-uploading a corrected Rows to Fix report, you don't have to delete its extra Issue column. The import ignores it.

3. Upload, Preview, and Validate Your File

To import participants:

  1. In the control panel, click Forms.

  2. Click the peer-to-peer form you want to import into.

  3. Hover over Constituents, and then click Participant Import.

  4. Drag and drop your .CSV file onto the upload area, or click Choose CSV File and select the file from your device.

    Participant Import page with Choose CSV File area and button.
  5. Review the validation preview. Bloomerang checks every row and shows a summary of rows that are valid, have errors, or will update an existing participant.

    Validation preview with a row that contains errors and will update an existing participant.
  6. (Optional) To customize your view, click Rows with Errors, All Rows, Show All Columns, or Show Fewer Columns.

    Validation preview filters including Rows with Errors, All Rows, and Show All Columns.
  7. As you review, do one or more of the following:

    • To fix a row, edit each cell with an invalid entry by entering or selecting a valid entry. If a row has more than one issue, you can expand the explanation in the Issue column.

      Issue column with option to expand the issue explanation for a row.
    • To remove a row, click the delete Delete icon in the validation preview, appearing as a trash can icon. icon, and then click Remove Row on the confirmation screen.

    • To save all rows with errors in a separate file you can correct and re-upload later, click Download Rows to Fix.

      Download Rows to Fix button.
    • To import only the valid rows, click Validate and Import.
      Note: Larger files might take a few moments to import.

  8. Review the import results. You can confirm how many participants were created, updated, and skipped. If any rows were skipped, you can download a report of just those rows to fix and re-import.

    Import results stating one existing participant was updated, and one row was skipped due to errors, with the option to download the skipped rows.

Rows to Fix Report

When some rows can't be imported, you can download a .CSV with those rows only.

Download Rows to Fix button.

The report has the same columns as your file, plus an extra Issue column stating the errors in each row.

Correct the errors in the rows in that file, and re-upload it to the Participant Import page. The import ignores the Issue column, so a corrected report imports cleanly.

Participant Import Columns

The Participant Import .CSV template has 33 columns in total. The following table describes every column, its purpose, and (where applicable) its allowed values. Required columns are marked in the Required column.

Column (CSV header)

Description

Allowed values

Required

firstName (First name)

Registrant's first name.

String.

lastName (Last name)

Registrant's last name.

String.

street (Street)

Registrant's street.

String.

city (City)

Registrant's city.

String.

state (State)

Registrant's state.

Full state name.

zip (ZIP)

Registrant's ZIP code.

5-digit, or 5-digit plus 4-digit ZIP code. Input validation runs for US ZIP codes only.

country (Country)

Registrant's country.

2-character abbreviation.

phone (Phone)

Registrant's personal phone number. Must be a valid phone number.

10-digit phone number.

cell (Cell)

Registrant's personal cell phone number. Must be a valid phone number.

10-digit phone number.

username (Email/username)

The participant's email address; used as the username for registration. Also the key the import uses to decide whether to create a new participant or update an existing one.

A valid email address.

category (Category)

The registration category the participant signs up under. ID of the category under which the registration should occur.

Must match a category already on the campaign. Not case-sensitive.

paymentType (Payment type)

How a fee-bearing registration was paid offline.

cash, check, or blank. Capitalization and extra spaces don't affect acceptance. Leave blank when the category has no fee.

Conditional — required when the category has a fee

fundraisingGoal (Fundraising goal)

The participant's personal fundraising goal (defaults to the participant fundraising goal).

A number, no currency symbol (for example, 500). Blank uses the campaign default.

pfp_message (Personal message)

The personal message shown on the participant's personal fundraising page (displayed in the first content control on the PFP).

Free text.

emergencyContactFirstName

First name of the first emergency contact, if required.

String.

emergencyContactLastName

Last name of the first emergency contact, if required.

String.

emergencyContactPhone

Phone number of the first emergency contact, if required. Must be a valid phone number.

10-digit phone number.

emergencyContactEmail

Email of the first emergency contact, if required.

A valid email address.

emergencyContact2FirstName

First name of the second emergency contact, if required.

String.

emergencyContact2LastName

Last name of the second emergency contact, if required.

String.

emergencyContact2Phone

Phone number of the second emergency contact, if required. Must be a valid phone number.

10-digit phone number.

emergencyContact2Email

Email of the second emergency contact, if required.

A valid email address.

parentRegistration (Parent registration)

Links a managed participant (for example, a child) to the registration that manages them. Parent registration username or ID.

The parent's email address or registration ID.

Conditional – required when Activity Role is managed

activityRole (Activity role)

The participant's role in the campaign.

fundraising, nonfundraising, or managed.

showInSearch

Whether the participant appears in public participant search. Allows the registration to appear in search.

yes, no, or blank. Blank defaults to no.

showInLeaderboard

Whether the participant appears on leaderboards. Allows the registration to appear in leaderboards.

yes, no, or blank. Blank defaults to no.

classification (Classification)

An optional sub-grouping within the campaign. The classification under which the registration should occur.

Must match a classification already on the campaign. Not case-sensitive.

classificationCaptain

Whether the participant is a captain of their classification.

yes, no, or blank.

team (Team)

The fundraising team the participant belongs to. The team under which the registration should occur.

Must match a team already on the campaign. Not case-sensitive. Create teams before you import; the import never creates teams.

teamCaptain

Whether the participant is a captain of their team.

yes, no, or blank.

teamOwner

Whether the participant owns their team (one owner per team).

yes, no, or blank.

avatar (Avatar)

The URL of the avatar image to use for the registration.

A URL.

alias (Alias)

The custom URL slug for the participant's fundraising page. If unsupported characters are present, Bloomerang removes them automatically and gives you a warning.

Letters, numbers, hyphens, and underscores. Must be unique within the campaign.

[custom field ID or reference]

Any additional columns that match a custom field ID or reference will map the registration to that custom field with the answer provided.

Custom field ID or name.

Note: If a campaign has two categories with the same name, the import notes those rows so you can specify the category by its ID instead. The same applies to multiple classifications and teams with the same names.

Frequently Asked Questions

Do I have to fix every error before I import? No. You can import the valid rows and download a report of the rest to fix and re-import later.

If I upload the same file twice, will I get duplicates? No. The import matches participants based on email, so anyone already on the campaign is updated instead of duplicated.

What happens if my import is interrupted? Re-upload the same file. Because of email matching, people already imported are updated, not duplicated, so you can upload again without risk.

Does an update overwrite everything? No. An update changes only the values you provide. Blank cells leave the existing information as it was.

Why was a row skipped? Most often the row still had a validation error, or its email matched more than one participant on the campaign. The results report explains each one.

Can I import teams too? No. This tool imports participants, not teams. Create your teams first, then put each participant's team name in the team column. To create teams, read [Peer-to-Peer] Teams.

Do I need to create my categories before I import? Yes. Category is required and matched by name, and the import never creates categories. On a single-category campaign, use Single Category as the category value.

Do I need to create my classifications before I import? Yes. While Classification is not required, the import does not create them, so you must create classifications before the import and match them by name in your file.

What emails does an import send? A newly created participant follows the same registration flow as a self-signup, so the import sends the usual messages to each created participant: registration confirmations, Start Fundraising welcomes, and admin notifications. Rows that update existing participants don't re-register and send no messages.

Does importing create a fundraising page? Yes, just like a normal registration. A created fundraising participant gets a personal fundraising page at their alias URL. Non-fundraising participants are registered without one.

Related

Did this answer your question?