Import contacts to ActiveCampaign with CSV, safely.
A contact file is an identity, field, subscription, and automation mutation plan. Validate all four before expanding beyond a controlled test.
A contact file is an identity, field, subscription, and automation mutation plan. Validate all four before expanding beyond a controlled test.
ActiveCampaign documents two contact-file routes. Its manual importer accepts CSV only. Active Intelligence import accepts CSV, XLS, and XLSX, then recommends lists, tags, field matches, new fields, and skipped fields for review.
Use manual import when you want direct control of a prepared CSV. Use Active Intelligence when its guided recommendations are useful, but treat every enabled suggestion as a proposed mutation, not approval. Active Intelligence scans the filename, headers, and field values in the uploaded file.
The private ActiveCampaign contact CSV validator runs locally and makes no ActiveCampaign or Active Intelligence request. It can inspect one selected workbook sheet and creates a CSV handoff for either path.
ActiveCampaign's CSV preparation guide recommends UTF-8, comma separation, and double quotes around values. Remove empty rows and rows without an email or phone identifier. The normalized validator output quotes every header and value and uses LF record endings.
Remove line breaks inside cells. ActiveCampaign says line breaks are unsupported. Remove emoji as well; its guidance warns emoji are unsupported and can stall the entire import rather than merely skipping one row.
Do not globally replace semicolons with commas because punctuation may be real contact data. Re-export from the spreadsheet with a comma delimiter, keep the source unchanged, and compare row and column counts.
Every row needs an email address or phone number. When an identifier repeats, ActiveCampaign imports the first instance and skips later contacts that share it. Resolve duplicates before upload so source order does not silently choose the surviving row.
Phone-only contacts require the phone-only feature. ActiveCampaign's phone-only overview says only admins can enable it and enablement is permanent. Exact phone matches are recognized; different formatting can create duplicates.
Use E.164 such as +12025550123 consistently. This gives the clearest exact-match contract and is the documented best practice for contact imports and reliable SMS delivery.
Map each column once. The manual importer rejects mapping the same destination field twice and can create a new custom field during mapping. Active Intelligence proposes matched, skipped, and new fields; review all of them before import.
Date fields use exact YYYY-MM-DD. ActiveCampaign warns that other shapes can default to a date in 1899. Multiple checkbox or list-box options use double pipes, for example Music||Art. Multiple tags use commas, for example lead,conference.
ActiveCampaign's custom contact field overview documents Text input, Text area, Date, Drop-down, List box, Radio button, Check boxes, and Hidden fields. Confirm existing options and whether unmatched imported options should be created or skipped.
Manual import options depend on whether a list is selected: Contact or Excluded without a list, and Active or Unsubscribed with a list. A list cannot be created during manual import, so create and review it before starting.
Active contacts can receive marketing communications. Confirm current permission for the exact cohort; a clean file and a checked local box do not establish consent, legal basis, recency, scope, or resubscribe eligibility.
The Exclusion List is made of email addresses and is separate from list status. A contact can be Active on a list and also excluded from campaigns, so verify both states after an Excluded import.
Lists, tags, and field changes can qualify imported contacts for active automations. The manual workflow can disable Trigger Automations in Import Options; ActiveCampaign's automation-import guidance shows where to turn it off.
Active Intelligence exposes Update existing contacts, Trigger automations, and Trigger webhooks in Advanced Settings and currently documents all three as off by default. Do not rely on a remembered default: inspect the actual review screen before starting.
Update existing contacts matches by email or exact phone. Current official contact-import guidance does not define blank-cell overwrite behavior, so confirm it in your account and test records rather than assuming blanks are harmless or destructive.
ActiveCampaign publishes recommended contact-row counts by column width: 250,000 rows for 1-5 columns; 150,000 for 6-10; 125,000 for 11-16; 80,000 for 17-25; 65,000 for 26-29; 50,000 for 30-39; and 35,000 for 40 or more.
These are recommended bands, not a universal hard platform limit. Split over-band files into traceable batches, and follow ActiveCampaign's operational recommendation to wait one hour between large imports.
A smaller file also makes automation, status, option-creation, phone normalization, and update behavior easier to observe and repair.
Run the complete source through the validator and resolve every blocker. Read warnings and portal reviews rather than treating Ready as a guarantee. The normalized file changes approved headers, CSV quoting, UTF-8 serialization, and LF endings only.
Download the first-100-row test file and reduce it further when consent, exclusions, updates, automations, or webhooks are consequential. Recheck the import path, lists, tags, field mappings, outcome, unmatched-value choice, phone formatting, and final summary.
Wait for completion, compare expected and imported counts, and inspect representative email-only, phone-only, dual-identifier, custom-field, date, tag, and multiple-value records before scaling.
Use import results to isolate skipped identifiers, duplicates, invalid dates, unsupported emoji or line breaks, field-option mismatches, phone-format differences, and mapping errors. Fix one understood rule and rebuild a smaller test.
Do not force a source column into the wrong field type merely to clear an error. If an option is legitimately new, decide whether to create it; if it is a typo, repair the source instead.
A successful job still needs account verification. Check contact identity, lists, status, exclusions, field values, new options, automation entry, webhooks, phone normalization, and update results before expanding the batch.
Yes. This local preflight checks file shape, email and phone identity, duplicates, field formats, import outcome, and required reviews before a small test. It cannot query your account or guarantee acceptance.
No. Parsing, mapping, findings, masked evidence, acknowledgments, normalization, and downloads remain in the current browser tab. Contact values are not sent to ActiveCampaign or csvtodashboard.
The manual importer accepts CSV only. Active Intelligence accepts CSV, XLS, and XLSX. The validator can inspect a selected Excel sheet locally and always offers a reviewed CSV handoff.
Every contact needs a unique email address or phone number. Phone-only identifiers require the permanent phone-only contacts feature, and consistent E.164 formatting is the safest exact-match contract.
Date fields use YYYY-MM-DD. Checkbox and list-box values use double pipes between options, while multiple tags use commas.
ActiveCampaign imports the first instance and skips later contacts that share the identifier. This preflight blocks duplicates so file order does not silently choose the surviving source row.
Yes. Lists, tags, and field changes can qualify contacts for active automations. Review Trigger Automations, webhooks, and every Advanced Setting before import.
No. Consent, permissions, lists, fields, field options, exclusions, existing contacts, automation state, webhooks, recommendations, and final acceptance must be reviewed in ActiveCampaign.