Data Migration Guide: Importing from an Unsupported CRM

Last updated: February 6, 2026

This guide walks you through migrating your donor data into WeGive from a CRM that does not have a direct integration. Following the correct import order is critical to ensure records are properly linked.


Overview

When migrating data into WeGive, order matters. Records must be imported in a specific sequence because some records depend on others. For example, you cannot import a donation without first having the donor and designation in WeGive.

⚠ Important: We recommend importing no more than 50,000 records at a time. For larger datasets, split your file into multiple imports.

🚨 CRITICAL: Turn Off Triggered Messages Before Importing

Importing data can trigger automated messages (e.g., Donation Success, Recurring Donation Created) to be sent to your donors. Before running any import, navigate to Engagement > Triggers and pause all triggered messages. Re-enable them after your import is complete.

Related Guides:


Migration Order

Import your data in this order:

Step

Record

Why This Order?

1

Designations

Donations, Recurring Plans, and Pledges reference designations

2

Campaigns

Donations can be linked to campaigns

3

Supporters (Individuals & Companies)

All transactions require a donor to link to

4

Recurring Plans

Must exist before importing transactions linked to them

5

Pledges

Must exist before importing transactions linked to them

6

Donations and Payments

Requires supporters, designations, and optionally campaigns/recurring plans

7

Communication List Consents

Requires supporters to exist first

⚠ Important: Before importing data into your production account, we strongly recommend completing a test import in your sandbox account first. This allows you to verify field mappings, check for errors, and confirm data appears correctly without affecting your live data.


Step-by-Step Migration Process

Step 1: Import Designations

Designations are the funds or categories to which donations are assigned (e.g., "General Fund", "Building Campaign", "Missions").

Required Fields:

  • Name

Recommended Fields:

  • Custom ID (your CRM's unique ID for the designation β€” useful for matching later)

Process:

  1. Export designations from your CRM to a .csv file

  2. Import into WeGive: Data > Imports > + > Create > Designations

  3. After import, export your designations from WeGive to get the WeGive Designation IDs

    • Navigate to Payments > Designations

    • Select all and click Export

  4. Save this export β€” you'll need the WeGive Designation IDs when importing donations, recurring plans, and pledges


Step 2: Import Campaigns (Optional)

If you track campaigns or fundraising initiatives, import these next.

Required Fields:

  • Name

Recommended Fields:

  • Custom ID (your CRM's unique ID)

  • Goal

  • Start Date

  • End Date

Process:

  1. Export campaigns from your CRM to a .csv file

  2. Import into WeGive: Data > Imports > + > Create > Campaigns

  3. After import, export your campaigns from WeGive to get the WeGive Campaign IDs

    • Navigate to the Campaigns page

    • Select all and click Export

  4. Save this export β€” you'll need the WeGive Campaign IDs when importing donations


Step 3: Import Supporters

Import both Individual and Company supporters. These must exist before importing any transactions.

Individual Supporters

Required Fields:

  • First Name

  • Last Name

Recommended Fields:

  • Email (strongly recommended β€” used for matching and communication)

  • Custom ID (your CRM's unique donor ID β€” critical for matching transactions later)

  • Address, City, State, Zip, Country

  • Mobile Phone Number

  • Birthdate

Company Supporters

Required Fields:

  • Name

Recommended Fields:

  • Email

  • Custom ID (your CRM's unique ID)

  • Address, City, State, Zip, Country

Process:

  1. Export donors from your CRM to a .csv file (separate files for individuals and companies)

  2. Import Individuals: Data > Imports > + > Create > Individuals

  3. Import Companies: Data > Imports > + > Create > Companies

  4. After import, export your supporters from WeGive to get the WeGive Donor IDs

    • Navigate to Supporters

    • Select all and click Export

  5. Save this export β€” you'll need the WeGive Donor IDs (or use Email/Custom ID) when importing transactions

Note: Importing a supporter with an existing email will not create a duplicate β€” WeGive will match based on email address.


Step 4: Import Recurring Plans

Import recurring donation plans before importing the individual transactions associated with them.

Required Fields:

  • Amount

  • Frequency (must be exactly: Daily, Weekly, Every 2 Weeks, 1st & 15th, Monthly, Quarterly, Annually, or Yearly)

  • Start Date

  • One of: Donor Email, Donor WeGive ID, or Donor Custom ID

Recommended Fields:

  • Designation WeGive ID

  • Campaign WeGive ID

  • End Date

  • Status

  • Custom ID (your CRM's recurring plan ID)

Process:

  1. Export recurring plans from your CRM

  2. Match each plan to:

    • The donor using Donor Email, Donor WeGive ID, or Donor Custom ID

    • The designation using Designation WeGive ID (from Step 1 export)

  3. Import into WeGive: Data > Imports > + > Create > Recurring Plans

  4. After import, export your recurring plans from WeGive to get the WeGive Recurring Plan IDs

    • Navigate to Payments > Recurring Plans

    • Select all and click Export

  5. Save this export β€” you'll need the WeGive Recurring Plan IDs when importing transactions


Step 5: Import Pledges (Optional)

If you track pledges, import them before transactions that fulfill them.

Required Fields:

  • Amount

  • Installment Frequency (must be exactly: 1, 4, 8, or monthly)

  • Start Date

  • End Date

  • One of: Donor Email, Donor WeGive ID, or Donor Custom ID

Recommended Fields:

  • Designation WeGive ID

  • Custom ID or Salesforce ID

Process:

  1. Export pledges from your CRM

  2. Match each pledge to the donor and designation

  3. Import into WeGive: Data > Imports > + > Create > Pledges


Step 6: Import Donations and Payments

Now that all supporting records exist, import your historical transactions.

Required Fields:

  • Amount

  • Created At (UTC) β€” format: YYYY-MM-DDTHH:MM:SSZ

  • One of: Donor Email, Donor WeGive ID, or Donor Custom ID

Recommended Fields:

  • Designation WeGive ID

  • Campaign WeGive ID

  • Recurring Plan WeGive ID (to link transactions to recurring plans)

  • Custom ID (your CRM's transaction ID)

  • Description

Process:

  1. Export transactions from your CRM

  2. In your spreadsheet, add columns and match each transaction to:

    • The donor using Donor Email, Donor WeGive ID, or Donor Custom ID

    • The designation using Designation WeGive ID

    • The campaign using Campaign WeGive ID (if applicable)

    • The recurring plan using Recurring Plan WeGive ID (if it was a recurring gift)

  3. Import into WeGive: Data > Imports > + > Create > Donations and Payments

Tip: Use VLOOKUP or INDEX/MATCH formulas in your spreadsheet to match your CRM's IDs to the WeGive IDs from your exports.


Step 7: Import Communication List Consents (Optional)

If you want to set up communication preferences for your supporters, import consents last.

Required Fields:

  • Donor WeGive ID

  • Communication List WeGive ID

  • Subscribed (1 = subscribed, 0 = unsubscribed)

Process:

  1. First, create your Communication Lists in WeGive

  2. Export the lists to get their WeGive IDs

  3. Prepare your .csv with donor IDs, list IDs, and subscription status

  4. Import into WeGive: Data > Imports > + > Create > Communication List Consents


Matching Records: The Export-Match-Import Workflow

The key to a successful migration is linking related records using WeGive IDs. Here's the workflow:

1. IMPORT records into WeGive (e.g., Supporters)
          ↓
2. EXPORT those records from WeGive (to get WeGive IDs)
          ↓
3. MATCH WeGive IDs to your source data using Custom ID or Email
          ↓
4. IMPORT the next record type with WeGive IDs included

Example: Linking Transactions to Donors

  1. Your CRM has Donor ID "D-12345" for John Smith

  2. You import John Smith with Custom ID = "D-12345"

  3. You export Supporters from WeGive and see John Smith has WeGive ID = "98765"

  4. In your transactions file, use VLOOKUP to find WeGive ID 98765 for any transaction with Donor ID "D-12345"

  5. Import transactions with Donor WeGive ID = "98765"


Using VLOOKUP to Match IDs

If you're using Google Sheets or Excel, VLOOKUP can help you match IDs between your CRM data and WeGive exports.

Example Formula:

=VLOOKUP(A2, 'WeGive Export'!$A$2:$B$1000, 2, FALSE)

Where:

  • A2 = Your CRM's Custom ID in your transactions sheet

  • 'WeGive Export'!$A$2:$B$1000 = The range in your WeGive export containing Custom ID and WeGive ID

  • 2 = Return the second column (WeGive ID)

  • FALSE = Exact match only


Date Formatting Reference

Field Type

Format

Example

Date

YYYY-MM-DD

2024-09-12

DateTime (UTC)

YYYY-MM-DDTHH:MM:SSZ

2024-09-12T15:30:00Z

Important: Use the "T" separator between date and time β€” do not use a space.


Pre-Migration Checklist

Before you start:

  • Pause all triggered messages in Engagement > Triggers (to prevent emails/SMS from being sent to donors during import)

  • Export all data from your current CRM

  • Clean up duplicate donors in your source data

  • Standardize date formats to YYYY-MM-DD or YYYY-MM-DDTHH:MM:SSZ

  • Ensure phone numbers are plain text (no parentheses, dashes, or spaces)

  • Verify address fields are in separate columns (Address, City, State, Zip, Country)

  • Include your CRM's unique IDs as "Custom ID" fields for matching

  • Plan to do a test import with 5-10 records before importing everything

  • Complete a test import in your sandbox account before importing to production


Migration Checklist

Use this checklist to track your progress:

  • Step 1: Import Designations β†’ Export from WeGive

  • Step 2: Import Campaigns β†’ Export from WeGive (if applicable)

  • Step 3: Import Individual Supporters β†’ Export from WeGive

  • Step 3: Import Company Supporters β†’ Export from WeGive (if applicable)

  • Step 4: Import Recurring Plans β†’ Export from WeGive (if applicable)

  • Step 5: Import Pledges (if applicable)

  • Step 6: Import Donations and Payments

  • Step 7: Import Communication List Consents (if applicable)

  • Final: Verify data in WeGive β€” spot check donors, transactions, and totals


Troubleshooting

"Donor not found" errors: Ensure the donor was imported before the transaction. Verify the Donor Email, Donor WeGive ID, or Donor Custom ID matches exactly.

"Designation not found" errors: Ensure the designation exists in WeGive and you're using the correct Designation WeGive ID.

Duplicate supporters: WeGive matches on email address. If you import a supporter with an email that already exists, it will update the existing record rather than create a duplicate.

Transactions not linking to recurring plans: Make sure the Recurring Plan WeGive ID column is correctly mapped and the recurring plan was imported before the transactions.

Date format errors: Use YYYY-MM-DD for dates and YYYY-MM-DDTHH:MM:SSZ for datetimes. Ensure there's a "T" between date and time, not a space.


Need Help?

If you run into issues during your migration, contact WeGive support. Having the following ready will help us assist you faster:

  • The error file from your failed import

  • A sample of your source data

  • Which step in the migration process you're on