Skip to content

Importing from Spreadsheet ​

Upload a CSV or Excel file to add multiple donations, credits on donations, pledges, contacts, households, organizations, notes, or tickets at once. This is the fastest way to import large amounts of data.

Before You Start ​

  1. Get the sample spreadsheet - Download our template to ensure correct formatting
  2. Prepare your data - Match your columns to our field names
  3. Check your limits - Maximum 25,000 rows per file

Step-by-Step Import ​

Step 1: Open the Import Dialog ​

  1. Create or open a batch
  2. Click Import from Spreadsheet at the bottom

Step 2: Upload Your File ​

  • Drag and drop your file, or click to browse
  • Supported formats: CSV (.csv) and Excel (.xlsx)

Step 3: Map Your Columns ​

Every import shows a mapping screen. Nothing is mapped automatically — map each column yourself, or load a saved mapping template:

  1. For each field, select the matching column from your file
  2. Leave unmapped fields blank if not used
  3. Click Continue

Step 4: Review and Confirm ​

  • Check the preview of imported data
  • Look for any errors or warnings
  • Click Import to add the rows to your batch

WARNING

The import adds rows to your batch but doesn't process them yet. Review the data before clicking Process Batch.


How Records Are Matched & Collapsed ​

Batch imports look up and collapse records in two stages: once at upload (when you click Import from Spreadsheet) and once during Process Batch. Understanding this helps you read the warnings that appear in the review screen.

Stage 1 — Upload (system-level matching) ​

At upload, each row is checked against existing CauseVox data:

  • Donations, pledges, installments, tickets with a blank contact_id but a filled email: the import looks for an existing contact in your organization whose email (primary or secondary) matches. If found, the row is linked to that contact automatically. A donation, pledge or installment row with a crm_organization_id is an organization gift and is never linked to a contact by email.
  • Donations, pledges, tickets, attendees with no contact_id, no email and no organization are matched on the person's name, ignoring capitalization: first the first and last name, then (donations and pledges only) the display name if the first and last name find no contact. An anonymous gift's display name is never used, so an anonymous gift with no first or last name gets its own contact. One matching contact links the row. Two or more flag the row, and processing refuses it until you set its contact_id. A name that is a placeholder rather than a person — any word of it is "Anonymous" or "Anon", in any capitalization — is never matched: the row is flagged "Name looks anonymous" and gets its own contact, even when other rows in the batch carry the same placeholder.
  • Contact, organization, household rows with a filled email: the import looks for an existing record in your organization whose primary email matches. If found, the row is treated as an update to that record at process time instead of a new create.

These lookups happen once, at upload. They do not run again later.

Stage 2 — Process (within-batch collapse only) ​

When you click Process Batch, the system creates or updates records according to what the upload decided. It does not re-check the system for matching emails. This is intentional — it means:

  • If you upload a CSV, then add a matching contact through the CauseVox UI, then click Process, the CSV will create a new contact rather than linking to the one you just added. (The dedup suggestion system will flag them for merge after processing.)
  • Two people with the same email address in your existing data will be respected — the batch is not allowed to silently override which one a donation gets linked to between upload and process.

Within a single batch, rows that share an email and have no matching existing record collapse to a single new record:

  • Donations / pledges / tickets: the first row with a given email creates the new contact. Rows 2..N in the same batch link to that contact. The name, address, and other contact fields from rows 2..N are not applied — only the donation/ticket fields matter.
  • Contacts / organizations / households: the first row creates the record. Rows 2..N update the same record in place — later rows' fields overwrite earlier ones.

You'll see a warning in the review screen for every row that shares an email with an earlier row:

"Linked to same email as row 3 (no existing contact found in this organization). Name, address, and other contact fields from this row will not be applied."

Rows matched by name collapse the same way: rows that share a name with no existing contact all link to the one contact created for the first of them, and each later row gets a warning.

Rows that are refused ​

Some rows are flagged at upload and refused when the batch is processed. A refused row is marked with an error, and the rest of the batch still processes:

  • A donation, pledge or installment that names both a contact and an organization. Keep one, and add the other as a soft credit (for a donation, also possible afterwards in a Credits batch).
  • A name that matches two or more existing contacts, until you set contact_id.
  • An organization reference that doesn't exist yet. Import the organization first, or put it in the same batch. Large batches are processed in parallel, so a row can run before an organization in the same batch is saved; click Resume batch once the batch finishes and those rows go through.
  • A row that names a contact, organization or household (contact_id, crm_organization_id, crm_household_id) by a reference ID that more than one record in your organization has. The row is refused until you use that record's CauseVox ID instead. A shared contact or organization reference is flagged at upload; a shared household reference is only caught when the batch is processed.
  • A row whose own reference_id is already on more than one record of its kind in your organization (two donations, two contacts, and so on). The row can't tell which one to update, so it's refused when the batch is processed and neither record changes. This one is not flagged at upload.
  • A contact naming a household (crm_household_id) that isn't in your organization. This one is not flagged at upload — it's refused when the batch is processed. Import the household first, or put it in the same batch and click Resume batch once the batch finishes.
  • A relationship (on the Relationships tab of a contact batch) whose other contact isn't found, whose type isn't in your relationship list and has no reciprocal type, whose date can't be read as a date, that links a contact to itself, or whose reciprocal side already belongs to another relationship between the two contacts. Only the relationship is refused — its contact still imports. If the other contact is in the same batch but its own row failed, fix that row, then click Resume batch once the batch finishes. See Relationships in a Batch.
  • An amount that isn't greater than 0. At upload, a donation or pledge amount that can't be read (like $1,200.00) is cleared and flagged, and the batch can't be processed until you fix it. An installment amount is read as a plain number: a row whose amount reads as 0 or less (including $100) is refused at upload and never reaches the batch, and digits after a comma are dropped (1,200.00 reads as 1) — remove currency symbols and thousands separators first.

A row whose payment method isn't one of your organization's payment methods is refused at upload and never reaches the batch.

Using reference_id for deterministic matching ​

If you want row-level control over matching (not email-based), use reference_id. That field is checked at process time for every type, and a match updates the existing record — unless the existing record has a different email than the row, in which case the row is refused ("Reference ID already belongs to a different person"), or the reference is already on more than one record, which is refused too:

  • Donations, pledges, installments: reference_id is the primary matching key. Emails are only used for auto-populating contact_id when not provided.
  • Contacts, organizations, households: reference_id is checked first. If it matches, primary-email matching is skipped entirely.

This is the recommended approach when syncing with an external system — your system's IDs as reference_id means re-imports are idempotent.

Matching contacts on their CauseVox ID ​

Contacts have one extra option, ahead of everything above: cv_contact_id, the contact's ID in CauseVox as it appears in a report export. Full precedence for a contact row is cv_contact_id → reference_id → primary email → create new.

Reach for it when contacts have no reference ID and no email to match on — anyone created by a donation form, for example — so that an export → edit → re-import round trip updates them instead of duplicating them. An ID that doesn't belong to your organization, or doesn't exist, is cleared and the row is flagged for review before you process. See Matching on the CauseVox Contact ID.


Donation Field Reference ​

These are the fields you map your columns to on the mapping screen:

Required Fields ​

FieldDescriptionExample
display_namePublic name for the donationJohn Smith
amountDonation amount (numbers only, greater than 0)100.00
currency_code3-letter currency code, imported as given even if it differs from the campaign'sUSD
created_atDate of donation2024-01-15
campaign_idCampaign GUIDabc123-def456-...

Donor Information ​

FieldDescriptionExample
first_nameDonor's first nameJohn
last_nameDonor's last nameSmith
emailEmail addressjohn@example.com

Address Fields ​

FieldDescriptionExample
line1Street address line 1123 Main St
line2Street address line 2Suite 100
cityCityNew York
stateState/provinceNY
zipcodeZIP/postal code10001
countryCountryUnited States

Association Fields ​

FieldDescriptionExample
contact_idLink to existing contact (GUID)abc123-...
crm_organization_idThe donor organization, by GUID or its reference ID. Don't combine with contact_id.abc123-...
donation_form_idAssociated donation form (GUID)abc123-...
site_idAssociated site page (GUID)abc123-...
project_idAssociated personal page (GUID)abc123-...
team_idAssociated team page (GUID)abc123-...
network_idAssociated network page (GUID)abc123-...

Other Fields ​

FieldDescriptionExample
reference_idUnique ID for matching/updatesDON-2024-001
commentDonor commentThank you!
anonymousHide name publicly (true/false)false
anonymous_typeWhat to hide: name, amount, or both (anything else becomes name)name

Using Reference ID for Updates

When a record with matching reference_id exists:

  • Updated: Core fields (amount, dates, donor info, etc.), revenue payment fields (status, method, channel, reference, notes), tags (additive), and custom field values (replaced)
  • Not updated: Revenue splits, revenue credits, revenue solicitors, and tribute soft credits are only created on initial import. Add or correct credits on donations already imported with a Credits batch

Use reference IDs to safely re-import corrected data without creating duplicates.

Tribute Fields ​

FieldDescriptionExample
tribute_typeType of tribute: honor or memoryhonor
tribute_honoree_nameName of honoreeJane Doe
tribute_contact_idHonoree's contact (GUID)abc123-...

Revenue Fields ​

FieldDescriptionExample
revenue_statusPayment status: completed, pending, failed, refunded, partial_refunded, or chargeback. A row with any other value is refused at upload and never reaches the batch.completed
revenue_payment_methodHow it was paid — one of your organization's payment methods, by value or label (defaults: none, cash, check, credit_card, debit_card, paypal, crypto, bank_transfer, gift_in_kind, other)check
revenue_payment_channelOnline or offlineoffline
revenue_payment_referenceCheck number, wire reference, receipt number1234
revenue_payment_metaAdditional payment notesReceived via mail
fund_idFund allocation (GUID)abc123-...
fund_amountAmount to allocate to the fund100.00

Revenue Splits (numbered, via column mapping) ​

FieldDescriptionExample
revenue_split_fund_id_1Fund ID for the first splitabc123-...
revenue_split_amount_1Amount for the first split150.00
revenue_split_fund_id_2Fund ID for the second splitdef456-...
revenue_split_amount_2Amount for the second split100.00

Add more numbered pairs (_3, _4, etc.) as needed.

Revenue Credits (numbered, via column mapping) ​

FieldDescriptionExample
revenue_credit_contact_id_1Contact ID for the first creditabc123-...
revenue_credit_crm_organization_id_1CRM organization ID for the first credit (a credit needs a contact or an organization)def456-...
revenue_credit_amount_1Credit amount250.00
revenue_credit_type_1soft or hard. Blank means softsoft
revenue_credit_category_1Category: tribute, matching, solicitor, household, or othersolicitor

Add more numbered sets (_2, _3, etc.) as needed. A type or category outside these lists is refused when you upload (capitals don't matter).

Revenue Solicitors (numbered, via column mapping) ​

FieldDescriptionExample
revenue_solicitor_contact_id_1Contact ID for the first solicitorabc123-...
revenue_solicitor_crm_organization_id_1CRM organization ID for the first solicitor (a solicitor needs a contact or an organization)def456-...
revenue_solicitor_amount_1Attributed amount250.00

Add more numbered sets (_2, _3, etc.) as needed.

Custom Fields (numbered, via column mapping) ​

FieldDescriptionExample
donation_custom_field_1Value for the first donation custom fieldvalue1
revenue_custom_field_1Value for the first revenue custom fieldvalue1

Add more numbered columns (_2, _3, etc.) as needed.

Tags (numbered, via column mapping) ​

FieldDescriptionExample
donation_tag_1Tag name for the donationTag A
revenue_tag_1Tag name for the revenue recordTag C

Add more numbered columns (_2, _3, etc.) as needed.


Pledge Field Reference ​

Required Fields ​

FieldDescriptionExample
display_namePublic nameJohn Smith
total_amountFull pledge amount, greater than 01200.00
currency_code3-letter currency code, imported as given even if it differs from the campaign'sUSD
periodNumber of installments, a whole number greater than 012
intervalFrequency: monthly or yearly. Any other value is imported as monthly without a warning.monthly
start_dateFirst payment date2024-01-15
created_atPledge creation date2024-01-10
campaign_idCampaign GUIDabc123-...

Donor Information ​

FieldDescriptionExample
first_nameDonor's first nameJohn
last_nameDonor's last nameSmith
emailEmail addressjohn@example.com

Address Fields ​

FieldDescriptionExample
line1Street address line 1123 Main St
line2Street address line 2Apt 4B
cityCitySpringfield
stateState/provinceIL
zipcodeZIP/postal code62701
countryCountryUnited States

Other Fields ​

FieldDescriptionExample
kindpledge, grant, or invoice (capitalization doesn't matter; defaults to pledge). A row with any other value is refused at upload.grant
reference_idUnique ID for matching/updatesREF-001
commentDonor commentMonthly pledge
anonymousHide name publicly (0/1)0
anonymous_typeWhat to hide: name, amount, or bothname

Using Reference ID for Updates

When a pledge with matching reference_id exists:

  • Updated: Core fields (amount, dates, donor info, etc.), expected revenue payment fields, tags (additive), and custom field values (replaced)
  • Not updated: Expected revenue splits, expected revenue credits, expected revenue solicitors, and tribute soft credits are only created on initial import

Association Fields ​

FieldDescriptionExample
contact_idLink to existing contact (GUID)abc123-...
crm_organization_idThe donor organization, by GUID or its reference ID. Don't combine with contact_id.abc123-...
donation_form_idAssociated donation form (GUID)abc123-...
site_idAssociated site page (GUID)abc123-...
project_idAssociated personal page (GUID)abc123-...
team_idAssociated team page (GUID)abc123-...
network_idAssociated network page (GUID)abc123-...

Tribute Fields ​

FieldDescriptionExample
tribute_typeType of tribute: honor or memorymemory
tribute_honoree_nameName of honoreeRobert Johnson
tribute_contact_idHonoree's contact (GUID)abc123-...

Expected Revenue Fields ​

FieldDescriptionExample
expected_revenue_statusPayment status (pending, completed, partial, voided)pending
expected_revenue_payment_methodExpected payment method — one of your organization's payment methods, by value or label (defaults: none, cash, check, credit_card, debit_card, paypal, crypto, bank_transfer, gift_in_kind, other)check
expected_revenue_payment_channelOnline or offlineoffline
expected_revenue_payment_referenceCheck number, wire reference, receipt number1234
expected_revenue_payment_metaAdditional payment notesPledged at gala
fund_idFund allocation (GUID)abc123-...
fund_amountAmount to allocate to the fund1200.00

Expected Revenue Splits (numbered, via column mapping) ​

FieldDescriptionExample
expected_revenue_split_fund_id_1Fund ID for the first splitabc123-...
expected_revenue_split_amount_1Amount for the first split500.00
expected_revenue_split_fund_id_2Fund ID for the second splitdef456-...
expected_revenue_split_amount_2Amount for the second split700.00

Add more numbered pairs (_3, _4, etc.) as needed.

Expected Revenue Credits (numbered, via column mapping) ​

FieldDescriptionExample
expected_revenue_credit_contact_id_1Contact ID for the first creditabc123-...
expected_revenue_credit_crm_organization_id_1CRM organization ID for the first credit (a credit needs a contact or an organization)def456-...
expected_revenue_credit_amount_1Credit amount600.00
expected_revenue_credit_type_1soft or hard. Blank means softsoft
expected_revenue_credit_category_1Category: tribute, matching, solicitor, household, or othersolicitor

Add more numbered sets (_2, _3, etc.) as needed. A type or category outside these lists is refused when you upload (capitals don't matter).

Expected Revenue Solicitors (numbered, via column mapping) ​

FieldDescriptionExample
expected_revenue_solicitor_contact_id_1Contact ID for the first solicitorabc123-...
expected_revenue_solicitor_crm_organization_id_1CRM organization ID for the first solicitor (a solicitor needs a contact or an organization)def456-...
expected_revenue_solicitor_amount_1Attributed amount600.00

Add more numbered sets (_2, _3, etc.) as needed.

Custom Fields (numbered, via column mapping) ​

FieldDescriptionExample
pledge_custom_field_1Value for the first pledge custom fieldvalue1
expected_revenue_custom_field_1Value for the first expected revenue custom fieldvalue1

Add more numbered columns (_2, _3, etc.) as needed.

Tags (numbered, via column mapping) ​

FieldDescriptionExample
installment_profile_tag_1Tag name for the pledgeTag A
expected_revenue_tag_1Tag name for the expected revenue recordTag C

Add more numbered columns (_2, _3, etc.) as needed.


Installment Field Reference ​

Required Fields ​

FieldDescriptionExample
installment_profile_idPledge profile GUIDabc123-def456-...
amountPayment amount (numbers only)100.00
created_atDate of payment2024-01-15

Optional Fields ​

FieldDescriptionExample
invoice_idLink to scheduled invoice (GUID)abc123-...
reference_idUnique ID for matching/updatesPAY-2024-001
display_name, first_name, last_name, emailPayer details. Leave blank to use the pledge's donor. An email that belongs to an existing contact makes that contact the payer — except on a pledge whose donor is an organizationJane Smith
contact_id / crm_organization_idThe payer, if different from the pledge's donor (one or the other)abc123-...

Using Reference ID for Updates

When an installment with matching reference_id exists:

  • Updated: Core fields (amount, date, etc.), revenue payment fields (status, method, channel, reference, notes), tags (additive), and custom field values (replaced)
  • Not updated: Revenue splits, revenue credits, and revenue solicitors are only created on initial import

Revenue Fields ​

FieldDescriptionExample
revenue_statusPayment status: completed, pending, failed, refunded, partial_refunded, or chargeback. A row with any other value is refused at upload and never reaches the batch.completed
revenue_payment_methodPayment method — one of your organization's payment methods, by value or label (defaults: none, cash, check, credit_card, debit_card, paypal, crypto, bank_transfer, gift_in_kind, other)check
revenue_payment_channelOnline or offlineoffline
revenue_payment_referenceCheck number, wire reference1234
revenue_payment_metaAdditional payment notesReceived via mail
fund_idFund allocation (GUID)abc123-...
fund_amountAmount to allocate to fund100.00

Custom Fields (numbered, via column mapping) ​

FieldDescriptionExample
installment_custom_field_1Value for the first installment custom fieldvalue1
revenue_custom_field_1Value for the first revenue custom fieldvalue1

Add more numbered columns (_2, _3, etc.) as needed.

Revenue Splits (numbered, via column mapping) ​

FieldDescriptionExample
revenue_split_fund_id_1Fund ID for the first splitabc123-...
revenue_split_amount_1Amount for the first split60.00

Add more numbered pairs (_2, _3, etc.) as needed.

Revenue Credits (numbered, via column mapping) ​

FieldDescriptionExample
revenue_credit_contact_id_1Contact ID for the first creditabc123-...
revenue_credit_crm_organization_id_1CRM organization ID for the first credit (a credit needs a contact or an organization)def456-...
revenue_credit_amount_1Credit amount100.00
revenue_credit_type_1soft or hard. Blank means softsoft
revenue_credit_category_1Category: tribute, matching, solicitor, household, or othersolicitor

Add more numbered sets (_2, _3, etc.) as needed. A type or category outside these lists is refused when you upload (capitals don't matter).

Revenue Solicitors (numbered, via column mapping) ​

FieldDescriptionExample
revenue_solicitor_contact_id_1Contact ID for the first solicitorabc123-...
revenue_solicitor_crm_organization_id_1CRM organization ID for the first solicitor (a solicitor needs a contact or an organization)def456-...
revenue_solicitor_amount_1Attributed amount100.00

Add more numbered sets (_2, _3, etc.) as needed.

Tags (numbered, via column mapping) ​

FieldDescriptionExample
revenue_tag_1Tag name for the revenue recordTag A

Add more numbered columns (_2, _3, etc.) as needed.


Contact Field Reference ​

Required Fields ​

FieldDescriptionExample
display_nameContact's display nameJohn Smith
created_atCreation date2024-01-15

General Information ​

FieldDescriptionExample
reference_idUnique ID for matching/updatesCON-2024-001
cv_contact_idAdvanced — the contact's ID in CauseVox, from a report export. Updates that exact contact.wPk3nQ7ZmL2xR8vY

Using Reference ID for Updates

When a contact with matching cv_contact_id, reference_id, or primary email exists:

  • Updated: Core fields (name, title, etc.), primary email, phone, and address (upserted), tags (additive), and custom field values (replaced)
  • Only columns present in your file are applied — omit a column and the existing value is kept
  • Non-primary contact methods are not affected

| title | Name prefix | Mr. | | first_name | First name | John | | middle_name | Middle name | Robert | | last_name | Last name | Smith | | suffix | Name suffix | Jr. | | maiden_name | Maiden name | Jones | | deceased | Mark as deceased (true/false) | false | | can_contact | Allow general contact (true/false) | true |

Email Fields ​

FieldDescriptionExample
emailPrimary email addressjohn@example.com
email_can_contactAllow email contact (true/false)true

Association Fields ​

FieldDescriptionExample
crm_organization_idLink to a CRM organization (GUID or reference ID). An organization not found when the batch is processed fails the row.abc123-...
crm_organization_roleThe contact's role at that organization, set when the contact is newly linked to itBoard Member
crm_household_idAdd the contact to a household (GUID or reference ID). A household not in your organization fails the row.HH-0001

CRM Organization ID

You can use either the internal GUID or the organization's reference_id to link a contact to a CRM organization. Reference IDs are automatically resolved during import. If the organization is in the same batch, click Resume batch once the batch finishes for any row that ran before the organization was saved.

Relationship Fields (numbered, via column mapping) ​

FieldDescriptionExample
contact_relationship_contact_id_1The other contact (GUID or reference ID), which can be in the same batchC-1042
contact_relationship_type_1What the other contact is to this row's contactParent
contact_relationship_reciprocal_type_1What this row's contact is to the other contact. Blank fills it from your relationship listChild
contact_relationship_start_date_1Start date (YYYY-MM-DD)2020-06-01
contact_relationship_end_date_1End date (YYYY-MM-DD)2024-01-31

Add more numbered groups (_2, _3, etc.) as needed. Write each relationship once, on either person's row. See Adding Contacts in Batch.

Phone Fields ​

FieldDescriptionExample
phonePrimary phone number555-123-4567
phone_country_codeCountry code for phone numberUS
phone_can_callAllow phone calls (true/false)true
phone_can_textAllow text messages (true/false)true

Address Fields ​

FieldDescriptionExample
line1Street address line 1123 Main St
line2Street address line 2Suite 100
cityCityNew York
stateState/provinceNY
zipcodeZIP/postal code10001
countryCountryUnited States
address_can_contactAllow postal mail (true/false)true

Custom Fields (numbered, via column mapping) ​

FieldDescriptionExample
contact_custom_field_1Value for the first contact custom fieldvalue1

Add more numbered columns (_2, _3, etc.) as needed.

Tags (numbered, via column mapping) ​

FieldDescriptionExample
contact_tag_1Tag name for the contactTag A

Add more numbered columns (_2, _3, etc.) as needed.


Organization Field Reference ​

Crediting an organization on a gift?

This section is for importing organizations as CRM records (name, address, type). To credit an organization for a donation, pledge, or installment — a revenue credit or a solicitor — use the revenue_credit_crm_organization_id_* and revenue_solicitor_crm_organization_id_* columns on the gift itself. See Donation, Pledge, and Installment revenue credits and solicitors above. For donations already in CauseVox, add the credit in a Credits batch.

Required Fields ​

FieldDescriptionExample
nameOrganization nameAcme Foundation

Contact Info ​

FieldDescriptionExample
emailPrimary email addressinfo@acmefoundation.org
phonePrimary phone number555-100-2000

Address Fields ​

FieldDescriptionExample
line1Street address line 1100 Philanthropy Blvd
line2Street address line 2Suite 400
cityCityBoston
stateState/provinceMA
zipcodeZIP/postal code02101
countryCountryUnited States

Preferences ​

FieldDescriptionExample
email_can_contactAllow email contact (true/false)true
phone_can_callAllow phone calls (true/false)true
phone_can_textAllow text messages (true/false)true
address_can_contactAllow postal mail (true/false)true

Other ​

FieldDescriptionExample
reference_idUnique ID for matching/updatesORG-2024-001
crm_organization_type_idOrganization type ID (GUID)abc123-...

Custom Fields (numbered, via column mapping) ​

FieldDescriptionExample
organization_custom_field_1Value for the first organization custom fieldvalue1

Add more numbered columns (_2, _3, etc.) as needed.

Tags (numbered, via column mapping) ​

FieldDescriptionExample
organization_tag_1Tag name for the organizationTag A

Add more numbered columns (_2, _3, etc.) as needed.


Household Field Reference ​

Required Fields ​

FieldDescriptionExample
nameHousehold nameThe Smith Family

Contact Info ​

FieldDescriptionExample
emailPrimary email addresssmithfamily@example.com
phonePrimary phone number555-200-3000

Address Fields ​

FieldDescriptionExample
line1Street address line 142 Oak Lane
line2Street address line 2Unit B
cityCityPortland
stateState/provinceOR
zipcodeZIP/postal code97201
countryCountryUnited States

Preferences ​

FieldDescriptionExample
email_can_contactAllow email contact (true/false)true
phone_can_callAllow phone calls (true/false)true
phone_can_textAllow text messages (true/false)true
address_can_contactAllow postal mail (true/false)true

Other ​

FieldDescriptionExample
reference_idUnique ID for matching/updatesHSH-2024-001

Using Reference ID for Updates

When a household with matching reference_id (or primary email) exists:

  • Updated: Core fields (name, etc.), primary email, phone, and address (upserted), tags (additive), and custom field values (replaced)
  • Non-primary contact methods are not affected

Use reference IDs to safely re-import corrected data without creating duplicates.

Custom Fields (numbered, via column mapping) ​

FieldDescriptionExample
household_custom_field_1Value for the first household custom fieldvalue1

Add more numbered columns (_2, _3, etc.) as needed.

Tags (numbered, via column mapping) ​

FieldDescriptionExample
household_tag_1Tag name for the householdTag A

Add more numbered columns (_2, _3, etc.) as needed.


Ticket Field Reference ​

Required Fields ​

FieldDescriptionExample
first_nameTicket holder's first nameJane
emailTicket holder's email addressjane@example.com
campaign_idCampaign ID (GUID)abc123
ticketing_form_idTicketing form ID (GUID)def456
tier_idTicket tier ID (GUID)ghi789

Optional Fields ​

FieldDescriptionExample
last_nameTicket holder's last nameSmith
statusTicket status (defaults to "unredeemed")unredeemed
created_atCreated date (defaults to current date)2024-06-15
site_idSite ID (GUID)jkl012

Custom Fields (numbered, via column mapping) ​

FieldDescriptionExample
ticket_custom_field_1Value for the first ticket custom fieldvalue1

Add more numbered columns (_2, _3, etc.) as needed.

Tags (numbered, via column mapping) ​

FieldDescriptionExample
ticket_tag_1Tag name for the ticketVIP

Add more numbered columns (_2, _3, etc.) as needed.


Formatting Tips ​

Dates ​

Use ISO format for best results:

  • Recommended: 2024-01-15 (YYYY-MM-DD)
  • Also accepted: 01/15/2024, January 15, 2024

Custom date fields and relationship start/end dates accept only 2024-01-15 or 1/15/2024 (a four-digit year, a real day). Anything else — January 15, 2024, 1/15/24, 2/30/2024, text — is not guessed: a custom date field's value is cleared with a warning on the row, and a relationship is refused with a message saying which formats to use.

Currency Codes ​

Use standard 3-letter ISO codes:

  • USD - US Dollar
  • CAD - Canadian Dollar
  • EUR - Euro
  • GBP - British Pound

Boolean Fields ​

For true/false fields like anonymous:

  • True: true, yes, 1
  • False: false, no, 0

GUIDs ​

To get GUIDs for campaigns, contacts, etc.:

  1. Go to the record in CauseVox
  2. Copy the ID from the URL or details panel

Common Errors ​

"Invalid Campaign … was cleared" ​

The campaign_id doesn't match a campaign in your organization, so it was cleared and the row is flagged. The same happens for any other ID column (form, site, fund, contact). Check the GUID is correct and belongs to this organization, then fix the row before processing. The exception is crm_household_id: it is never cleared, and a household not in your organization fails the row when the batch is processed.

"Amount is required" ​

The amount column isn't mapped. A donation or pledge amount that can't be read (for example $1,200.00) is cleared and flagged instead — remove currency symbols and thousands separators.

"Invalid date format" ​

The date couldn't be parsed. Try using YYYY-MM-DD format.

"File too large" ​

Your file has more than 25,000 rows. Split it into smaller files and import each separately.


Best Practices ​

  1. Test first - Import a small sample before the full file
  2. Use the template - Start with our sample spreadsheet
  3. Check encoding - Save CSV as UTF-8 for special characters
  4. Trim whitespace - Remove leading/trailing spaces from data
  5. Validate GUIDs - Double-check all ID references
  6. Keep backups - Save your original file before importing

Unified Fundraising + CRM