Thrive CRM
Importing contacts
Contacts → Import brings in a CSV, Excel or vCard (.vcf) file of up to 10 MB and 20,000 rows. In a spreadsheet the column names go in the first row. Exports from HubSpot, Salesforce, Pipedrive, Zoho CRM, Mailchimp, Google Contacts and Outlook are recognised by their column names — see Importing from other systems for how to export from each.
- Choose the file. It is read in your browser; nothing is sent yet.
- Match the columns. Thrive guesses from the column names — "E-mail Address" is an email, "Mobile" a second phone. When the file is a recognised export, the step says so and matches the columns the way that system names them. When someone in your account saved a mapping for a file with the same columns (or another export from the same system), choose Use saved mapping: <name> to match everything at once. Change any column, or choose don't import. A contact needs a name: a whole-name column, or first and last name. Press Next — values and choices.
- Values and choices. Choose Contacts or Leads under Import these people as, check what each value in the file becomes, and choose what applies to everyone in the file (see below). Press Next — check the rows.
- Check. Thrive shows how many rows look fine, which have a problem (by spreadsheet row), a preview of the first rows as they will land, and, under For everyone in this file, the choices you made. Choose what happens to people already in Thrive, matched by email: Skip them, Fill in empty fields, or Overwrite — a blank cell never erases anything.
- Press Import — the button counts the rows that look fine, as in Import 240 contacts or Import 240 leads. Rows with a problem are left out. Keep the tab open until it finishes.
The summary shows how many were created, updated, skipped and failed. Download these rows (CSV) gives you the problem rows with the reason beside each, ready to fix and import again. A row that went in with a note (a tag that was too long, say) is listed there too.
Contacts or leads
| Contacts | Each person comes in as the file describes them. |
|---|---|
| Leads | Fills in the choices for everyone: a new contact the file gives no value for gets contact type Lead, lifecycle stage Lead, lead status New, and lead source import: <the system or file name>. Values in the file always win. Someone already in Thrive is never turned into a lead by an import: only the fields the file has are merged, as the policy you chose says. |
What each value becomes
For each column matched to Contact type, Lifecycle stage, Lead status, Email opt-out or SMS consent (agreed to texts), the Values and choices step lists the values found in that column, most common first, with how many rows have each, and what each becomes. Each starts as Thrive reads it — "Customer" is Customer, HubSpot's "Marketing Qualified Lead" is Marketing qualified, "Unsubscribed" is Opted out — and you can change any of them, or choose Leave blank. A value Thrive does not have is marked not a Thrive value and starts as Leave blank, so the row still comes in; choose what it should be. Up to 50 values are listed per column; the step says how many more there are, and Thrive reads those as it always does (a value it does not have is reported as a problem row).
For everyone in this file
| Email opt-out | From the file (offered when a column is matched to it), Nobody in this file is opted out, or Everyone in this file is opted out. Anyone already opted out in Thrive stays opted out, whatever you choose. Everyone in a Mailchimp unsubscribed, non-subscribed or cleaned file comes in opted out. |
|---|---|
| SMS consent | From the file or Leave unanswered. Consent to marketing texts must be each person's own, explicit answer (in the US the TCPA requires it), so Thrive never sets it for a whole file. |
| Permission to email these people | I have permission to email everyone in this file or Not confirmed. |
| Contact type, Lifecycle stage, Lead status, Lead source | From the file, New contacts without one get a value you choose (people already in Thrive keep theirs), or Set for every row to a value you choose (people already in Thrive get it too, as Fill in empty fields or Overwrite allows). |
| Tags | Tags typed here are added to everyone in this file, as well as any Tags column. |
Saved mappings
Under Save this mapping, name the mapping and press Save this mapping. It keeps the column matching, what each value becomes, and the choices for everyone in the file — not the permission statement, which you make for each file. Anyone in your account is offered it when they import a file with the same columns, in any order, or another export from the same system. Saving under a name you already used replaces that mapping. Delete beside a saved mapping removes it for everyone; the person who saved it, or an account owner or admin, can delete it.
What else a file can set
| Tags | A Tags column holds a list, separated by commas or semicolons. Up to 20 tags come in from one row, each up to 40 characters; a longer one is left off and the row says so. Tags are added to the contact's own, up to 30 in all. Tags added by an import do not start Tag added automations. |
|---|---|
| Email opt-out | A yes, or a subscription status that means "do not email" — unsubscribed, cleaned, bounced, non-subscribed or no consent — opts the person out. A "subscribed" or "pending" status does not. |
| SMS consent (agreed to texts) | Set only from a column that records the person's answer. Yes is recorded as consent from an import, by you; No as a no. A blank or unclear cell leaves it unanswered, and a phone number on its own never counts as consent. A file can record a no for anyone, but a yes only for someone who has not answered before. |
| Several emails or phones in one cell | Each one is kept, separated by commas, semicolons or :::. |
An import can opt someone out of email but never back in: a contact who opted out stays opted out, whatever the file says, under every policy. An import never changes a contact marked do-not-contact.
I have permission to email everyone in this file records that you confirmed it, on the import (it shows under Your recent imports as permission confirmed) and on each contact it creates (its timeline says so). It is your statement, not a check Thrive makes: opt-outs and do-not-contact still apply either way.
Everything you import is yours, unless an Owner (member email) column names another member. A company column is matched to a company you can see, or created once. The contact's Sources tab shows each value as Imported from and the file's name.
A contact a colleague owns and has not shared with you is always skipped. Thrive does not merge into it or show you what is in it.
If something goes wrong
| Stopped at row … | Everything before that row went in. The batch that was being sent may or may not have landed, so it is not sent again: check Contacts before importing the rest. |
|---|---|
| Could not read that Excel file | Save it as .csv and try again. |
| That file has no contacts in it | The .vcf file has no cards Thrive could read. Export it again from your contacts app. |
| Lead status must be one of: … | The file has a lead status (or lifecycle stage, or contact type) Thrive does not have, among the values past the first 50 of that column. Change it in the file, or choose don't import for that column. |