Migration of Your Contact List to systeme.io: What You Need to Know Before Getting Started (Advanced Tips)
Introduction
Importing contacts looks like a five-minute CSV upload—but one bad import can poison deliverability, break automations, or blow past plan limits on systeme.io. This advanced guide goes beyond basics: audit, segmentation, custom fields, API options, warming, and verification—aligned with Migration of your contact list to systeme.io: what you need to know before getting started (advanced tips) and How to migrate without hurting your email deliverability?
Use this page whether you DIY-import from Mailchimp, Kajabi, Kartra, ActiveCampaign, or hand a cleaned file to the free migration team.
Pre-Flight: Audit Before You Export
From your current tool, export CSV and inventory:
- Total subscribed vs unsubscribed vs inactive
- Tags, lists, or segments you rely on in automations
- Custom fields (company, phone, course ID, etc.)
- Recent engagement (opens/clicks in last 30–90 days)
- Proof of opt-in for compliance checks
Clean before import (same rules as Essential steps to import contacts successfully):
- Remove duplicates, invalid emails, and long-dead addresses
- Never import bought or scraped lists ( How to improve your email deliverability)
- Do not reactivate unsubscribed users as subscribed
- Segment: consider multiple smaller imports (engaged first, cold later or never)
Check your target plan contact cap before importing—overflow forces upgrades or deletions ( pricing).
Recreate Tags, Segments, and Custom Fields First
systeme.io organizes audiences with tags, not legacy “lists.” Before import:
- Document every tag/segment from your old ESP
- Create matching tags in CRM → Tags ( How to create a tag)
- Plan tag strategy—lower plans have limited tag counts; consolidate if needed (e.g. one tag per product line vs per cohort)
- Create custom contact fields you will map from CSV ( How to add a custom form input field)
Advanced segmentation after import: combine tags with behavior (purchases, funnel steps, course progress) for dynamic audiences and targeted newsletters—tags are the foundation for automations and broadcasts.
Unsubscribed contacts can be imported with unsubscribed status; they will not receive email through the platform.
CSV Format and Delimiters
- Save Excel as CSV UTF-8 (File → Save As → CSV)
- One row per contact; email column required
- Supported delimiters: comma, semicolon, or pipe—match what you select in the importer
- Header row with clear names:
email,first_name,last_name,tags, etc. - If tags are in one column, confirm format your mapper expects (single tag on import UI vs multiple tags via API)
Full UI walkthrough: How to import or export a contact list.
Import Workflow in systeme.io
- CRM → Contacts → Import contacts
- Choose CSV delimiter
- Upload file
- Optionally assign an import tag (e.g.
import-mailchimp-2026) to isolate this batch - Optionally subscribe to a campaign during import—only for consented, engaged contacts ( How to subscribe contacts to a campaign when importing a contact list)
- Map each column to systeme.io fields (email, first name, custom fields)—never skip the mapping review
- Complete import and read the final report for errors or skipped rows
- Filter by import tag to verify count vs source system
Export from systeme.io: select contacts → More actions → Export; you receive a CSV link by email (useful for backups before large changes).
Advanced Strategies
Staged imports by engagement
Import 30-day openers first, warm sending, then broader 60/90-day segments. Keeps complaint rates low during ESP switch ( How to migrate without hurting your email deliverability?).
Tag naming convention
Use prefixes: src-kartra, seg-buyers, course-01-alumni. Easier filters and automation conditions later (
How to automatically and manually add tags to your contacts).
Dynamic segmentation post-migration
After import, build automations that add/remove tags on behavior (purchase, tag click, course completion). Welcome sequences for new import tag; sunset sequences for inactive tagged contacts.
API and integrations (CRM sync)
For ongoing sync from another app (WordPress opt-ins, Teachworks, custom CRM), use the How to use systeme.io's public API or tools like Zapier/Make: create/update contacts, assign tags—API actions can trigger automations defined in systeme.io.
Note: some native integrations (e.g. ActiveCampaign) are one-way into the external tool—changes there may not sync back. Plan systeme.io as source of truth after cutover ( How to integrate ActiveCampaign with systeme.io).
Webhooks after opt-in
For real-time contact + tag from external forms, pair webhooks with API tag assignment ( How to create and trigger a webhook after an opt-in or a sale).
Email Warming After Import
Switching ESP = new sender reputation. Even with 20,000 contacts, do not broadcast to all on day one.
- Authenticate domain first ( How to authenticate your domain name for email sending)
- Start with smallest engaged segment
- Increase daily/weekly volume while monitoring bounces and spam rates
- Delay reactivation campaigns for cold segments
This is the #1 advanced step teams skip—and the main cause of post-migration spam folders.
Plan Limits and Housekeeping
- Contact storage caps per plan—count before import
- Tag limits on entry tiers—merge or upgrade if you tag per class/product heavily
- Delete test imports or use distinct tags so you can bulk-remove mistakes ( How to delete multiple contacts)
- Understand tag stats: “Total” on a tag includes historical assignments, not only current holders ( How to create a tag)
Free Business Migration vs DIY CSV
On Unlimited monthly or annual plans, the migration team can import lists and tags as part of platform moves ( How to get a free migration to systeme.io). Still provide clean exports and document segment logic—you get better results when source data is already audited using this checklist.
Advanced Pre-Import Checklist
- ☐ Subscribed-only export (or unsubscribed mapped correctly)
- ☐ List cleaned and deduped
- ☐ Opt-in proof archived
- ☐ Tags recreated; tag limit checked
- ☐ Custom fields created
- ☐ Plan contact headroom confirmed
- ☐ Domain authentication scheduled before first send
- ☐ Warming schedule written
- ☐ Import tag + verification filter ready
- ☐ Automations updated to use new tags (not old list names)
Frequently Asked Questions
CSV only?
Yes for bulk UI import; API for programmatic creates/updates.
Wrong column mapping?
Fix mapping and re-import subset with import tag—or update via API; always read import report.
Import + immediate campaign?
Possible but risky for cold contacts—prefer engaged segment + warming.
Multiple ESPs into one account?
Yes—use separate import tags per source; watch total contact limit.
Last updated: July 11, 2026 · Based on Migration of your contact list to systeme.io: what you need to know before getting started (advanced tips)