- Import unsubscribes and bounces as suppressed profiles before your first send. Mailing someone who opted out is the one migration mistake you can't take back.
- Only mark imported contacts as subscribed if every person in that file explicitly consented. SMS consent has its own, stricter import.
- Klaviyo's migration guide says to send your first few campaigns only to your engaged list or segment.
- Turn your Klaviyo flows on, then turn the old platform's automations off right away, so nobody gets the same email twice.
- Rebuild the flows instead of copying them. You're rebuilding anyway, so build them right.
This is for Shopify founders moving to Klaviyo from Mailchimp, Omnisend, Yotpo or anything else. Every platform step below comes from Klaviyo's and Google's own help pages.
Should you switch to Klaviyo at all?
If you're still deciding, read Klaviyo vs Omnisend or Klaviyo vs Mailchimp first. A new tool won't fix a weak program. Missing flows and unsegmented campaigns come with you.
What should you export before you leave your old platform?
Check your contract first. The contract term that hurts brands most is anything that locks you in long-term. Long software contracts can let a provider hold your data hostage. Know your end date and export everything while you still have full access.
Then pull these from the old tool:
- Every contact, with consent status. Who is subscribed to email, who is subscribed to SMS, and when.
- Every unsubscribe and bounce. These become suppressed profiles in Klaviyo.
- Engagement history. Opens, clicks and bounces, so you can build an engaged segment on day one. Klaviyo suggests adding it as custom properties or uploading engaged and inactive lists separately.
- What your flows earn now. Klaviyo's Yotpo guide suggests checking which flows generate the most revenue to decide what to prioritize. That's your baseline.
- Copies of your flows, forms and templates. If an agency built them, they should be yours. Everything I build for a brand (automations, segments, popups) belongs to the brand, and I won't delete it when we part ways.
One more thing while you're in there: remove obviously bad profiles, like addresses that hard bounced. But don't spend weeks scrubbing. Founders tend to over-focus on cleaning the list when the bigger win is capturing better profiles going forward.
How do you move consent and suppressions into Klaviyo?
This is general information, not legal advice. Check the consent rules that apply to your brand.
Email consent. Klaviyo's guide says to choose "Apply bulk consent" only if everyone in the file has explicitly consented to email marketing. If you're not sure about a group, import it separately and keep the consent values from your file.
Suppressions. Klaviyo's guide says to import unsubscribes before you send any email. Go to Audience > Profiles, click "View suppressed profiles," and import a CSV with a single column of email addresses. If your old tool has an integration, check which suppressions it actually transfers and upload the rest.
SMS consent. This one is stricter. Per Klaviyo's SMS upload guide:
- You need to be an Owner, Admin or Manager.
- SMS has to be set up, with a sending number for each country you're importing.
- A "SMS Marketing Consent Timestamp" column is optional but recommended.
Klaviyo's SMS migration guide adds two big ones. Only import marketing consent for people who explicitly agreed to texts from your brand. And in the US and Canada, don't collect consent or message anyone until you have a short code or verified toll-free number.
Check your opt-in setting. Once contacts are in, check whether your main email list is single or double opt-in. I run single opt-in for email. Someone from a cold ad heading into your welcome series shouldn't hit an extra step that may stop the order.
What's different for Mailchimp, Yotpo and Omnisend?
Mailchimp to Klaviyo. There's a built-in integration. Per Klaviyo's guide, it syncs contacts and, if engagement syncing is on, imports the last 90 days of campaign data. Tags don't sync, so export tagged contacts and import them as custom properties. Disconnect Mailchimp from Shopify before connecting Mailchimp to Klaviyo, or your existing subscribers could get double opt-in emails. Mailchimp forms can't be redirected, so rebuild them.
Yotpo to Klaviyo. Klaviyo's guide says the integration is a one-time sync of profiles, and it does not sync email or SMS consent. Export consent from Yotpo and import it by CSV. Recreate your most important forms and flows first, and stop collecting new subscribers in Yotpo right after you import.
Omnisend and others. Klaviyo's migration help section has no Omnisend guide, so plan on CSV exports and imports using the steps above.
How do you set up the Klaviyo account?
Shopify first. Klaviyo's migration guide says subscribers collected at checkout should sync to Klaviyo, and for Shopify that happens through the standard integration. I go through the full setup in Klaviyo setup for Shopify.
Branded sending domain. Without one, your emails show "via klaviyomail.com" next to your sender address. Here's the setup from Klaviyo's guide:
- Click your company name, then Settings > Domains > Add domain.
- Enter an unused subdomain. Klaviyo says "send" is the most common.
- Pick a routing type. Klaviyo recommends Dynamic.
- If your domain has no DMARC record, turn on "Add DMARC record." Klaviyo generates one at p=none.
- Publish the DNS records, then Verify and Activate. Klaviyo says propagation can take up to 48 hours.
Keep your from-address on your root domain (you@yourbrand.com). Klaviyo warns that with the sending subdomain in your from-address, you won't get replies.
Reusing your old sending subdomain? Klaviyo says only after you stop sending from it on the old platform.
Authentication. Google calls you a bulk sender when you send close to 5,000 or more messages a day to personal Gmail accounts. Bulk senders need SPF, DKIM and a DMARC record, and Klaviyo recommends its DMARC toggle to meet inbox provider requirements.
Should you copy your old flows or rebuild them?
Rebuild. Klaviyo's guide says to recreate each autoresponder as a flow and test it. I'd use that moment to build them properly. Keep what your baseline says clearly worked, and rebuild the rest.
Speed matters here. I deploy automations within the first seven days of working with a brand. The full build order I use is in essential Klaviyo flows for CPG brands.
Two things I'd get right in the rebuild:
- Welcome email #1. Across 4 brands in my data, welcome email #1 earned about $4.50 per person, and emails #2 to #5 earned about $0.10 each. Make the first one count.
- Long cart flows. Across the same 4 brands, cart abandon email #5 still earned $0.25 per person, the same as email #3. Don't shorten the flow to save time.
One warning from Klaviyo: imports can trigger list-based flows like your welcome series, so set those to manual before you import. For SMS, Klaviyo's upload guide says wait at least 2 hours before turning them back on, and its SMS migration guide says 4. I'd use the longer one.
How do you warm up a new Klaviyo account?
A new account on a new sending domain has no reputation yet. Klaviyo's sending domain guide says new accounts should warm their marketing sending in the first 2 to 4 weeks.
Its migration guide says who gets those first sends: your engaged list or segment only, for your first few campaigns. If you send daily, do that for the first week. If you send more than once a week, do it for your first 2 to 3 campaigns.
Here's the ramp I'd use, the same one I'd use when a brand restarts email after a long break:
- Start with people who opened with Apple Privacy disabled, plus your consistent clickers.
- Add your regular openers.
- Over a month or two, widen to 60 and 90-day openers, then all-time openers, comparing open and click rates on the bigger segments against the newer ones as you go.
If something goes wrong, here's how I'd find the cause when Klaviyo emails go to spam.
How do you cut over without double sends?
You want a short overlap, not two live systems.
- Turn the Klaviyo flows on, then turn off the matching automations in the old tool. Klaviyo says this avoids duplicate messages.
- Switch every sign-up form on your site to Klaviyo forms, and point any third-party form tools at Klaviyo.
- After a few days, check the old platform's lists. Klaviyo says new subscribers still showing up there means a form wasn't switched.
- Changing your SMS number? Klaviyo suggests a final text from the old provider about a week before, then a first campaign from the new number explaining the switch.
Don't cancel the old account until nothing new is arriving in it.
What should you check in the first 30 days?
- Clicks, not opens. Across 4 consumable brands (2,897 campaigns), click rate tracked revenue at 0.65 and open rate at 0.32. Apple auto-opens pushed some segments past an 85% open rate.
- Revenue per recipient by flow. Compare it to the baseline you exported.
- Spam complaints. Google says to keep your spam rate below 0.1% and never let it reach 0.3%.
- Tracking. At a strength training gear brand, about 20 sends showed opens and revenue but zero clicks. That was broken tracking. Click every link in your new flows before they go live.
- Suppressions. Spot-check a few old unsubscribes. They should be suppressed in Klaviyo.
Where these numbers come from
The welcome, cart and click-rate numbers come from 4 brands I work with. It's a small sample, so treat it as directional.
FAQ
How long does a Klaviyo migration take?
The build can move fast. I deploy automations within the first seven days. Warming takes longer: Klaviyo says new accounts should warm over the first 2 to 4 weeks, and DNS records alone can take up to 48 hours.
Will I lose revenue when I switch to Klaviyo?
You can, if flows go dark or you send to the full list on day one. Keep old flows running until the new ones are live, and send to engaged contacts first.
Does Klaviyo import my unsubscribes automatically?
Only if your old platform's integration transfers them, and Klaviyo says to check which suppressions it moves. Otherwise, import a one-column CSV of emails under Audience > Profiles > View suppressed profiles before you send.
Do I need a branded sending domain?
Yes. Without one your emails show "via klaviyomail.com," and Google requires bulk senders to have SPF, DKIM and DMARC in place.
- How to migrate from another email service provider to Klaviyo, Klaviyo Help Center
- How to migrate existing email subscribers (and unsubscribes) into Klaviyo, Klaviyo Help Center
- How to upload a list of SMS contacts, Klaviyo Help Center
- Migrating from another SMS provider to Klaviyo, Klaviyo Help Center
- How to set up a branded sending domain, Klaviyo Help Center
- How to migrate your branded sending domain from a previous email service provider (ESP) to Klaviyo, Klaviyo Help Center
- Understanding guided warming in Klaviyo, Klaviyo Help Center
- How to migrate from Mailchimp, Klaviyo Help Center
- How to migrate from Yotpo to Klaviyo, Klaviyo Help Center
- Migrate from an email service provider, Klaviyo Help Center
- Email sender guidelines FAQ, Gmail Help