How to import ActiveCampaign data into Freshsales
Move your ActiveCampaign contacts into Freshsales. This template maps name, email, phone, company, title, and the full mailing address to Freshsales's snake_case contact fields. Freshsales splits phone numbers into Work and Mobile; ActiveCampaign only exports one phone column, so we map it to Work by default.
Field-by-field mapping
This is the complete column mapping from ActiveCampaign to Freshsales. The left column is the header in your CSV export. The right column is the Freshsales field it should map to.
Before you start
This template's destination has a required field that needs attention before upload. You can still use this template. The steps below tell you what to add and where.
- Last Namelast_name
Freshsales requires Last Name on every contact. ActiveCampaign exports ship a Last Name column whenever the field was collected on the signup form; older lists may have it blank if the form never asked.
What to do. Scan your CSV for blank Last Name rows before uploading. Fill them by hand from the email signature where possible, or remove those rows.
| First Name | First Namefirst_name | |
| Last Name | Last Name*last_name | |
| Emailemail TransformLowercased and trimmed | ||
| Phone | Work Numberwork_number Freshsales splits phone into Work and Mobile. ActiveCampaign only exports one phone column, so we map it to Work by default. TransformStandardized to international format (+1, +44, etc.) | |
| Organization | Company Namecompany_name | |
| Job Title | Job Titlejob_title | |
| Mailing Address 1 | Addressaddress | |
| Mailing City | Citycity | |
| Mailing State | Statestate | |
| Mailing Zip | Zip Codezipcode | |
| Mailing Country | Countrycountry |
Required by Freshsales.
Columns we don't use
Your ActiveCampaign export includes 3 columns this template doesn't map. Each one below explains why, plus the workaround if you want the data in Freshsales.
- Tags
ActiveCampaign tags export as a comma-separated string. Freshsales uses custom fields or lifecycle stages instead of free-form tags.
If you need it. Add a custom multi-select field on the Freshsales Contact called Tags, or build saved filters in Freshsales after import to segment by ActiveCampaign tag values.
- Status
ActiveCampaign tracks subscriber status (Active, Unsubscribed, Bounced). Freshsales contacts don't have a default subscriber-status field.
If you need it. Filter Unsubscribed and Bounced rows out of the CSV before upload, or add a custom single-select field on the Freshsales Contact to track status.
- Date Unsubscribed
Freshsales doesn't have a default unsubscribe-date field on contacts.
If you need it. Add a custom date field on the Freshsales Contact called Date Unsubscribed, then re-run this template to map it.
Formatting and cleanup
ActiveCampaign exports rarely match the format Freshsales expects. Fix these before you import.
- 1.Lowercases and trims email addresses
- 2.Standardizes phone numbers to international format (+1, +44, etc.)
- 3.Renames ActiveCampaign columns to Freshsales's snake_case API names
- 4.Maps Phone to Freshsales's work_number field by default
- 5.Maps ActiveCampaign's Mailing address block to Freshsales's address, city, state, zipcode, country fields
Or skip the manual work
Operelio runs this cleanup and mapping for you. Upload your ActiveCampaign export and download a clean, import-ready file for Freshsales.
ActiveCampaign to Freshsales FAQ
How do I export contacts from ActiveCampaign?
In ActiveCampaign, go to Contacts, select the segment you want, click Export, and choose CSV.
Why does Phone go to work_number?
Freshsales splits phone numbers into Work and Mobile. ActiveCampaign only exports one phone column without labeling it. We default to work_number; remap to mobile_number after upload if your ActiveCampaign phones are consistently mobile numbers.
What about unsubscribed contacts?
Filter rows where Status is 'Unsubscribed' or 'Bounced' before upload to avoid importing contacts who've opted out.
Will this create duplicate contacts in Freshsales?
Freshsales uses email as the unique identifier on contacts. Contacts with matching emails update the existing record. New emails create new contacts.
What about ActiveCampaign automations and lists?
This template handles contact attributes only. Automation history and list membership don't carry over to Freshsales by default. They require separate exports and custom field mapping.