Blog
The first 30 days on a new email tool: a migration playbook for Shopify merchants
TL;DR. A clean migration from one email platform to another takes about 30 hours of focused work spread over 4 weeks. Most stores underestimate it because they skip the warm-up phase and end up with a deliverability dip in week 2. The playbook: week 1 is data + DNS, week 2 is flow rebuild + send-volume warm-up, week 3 is parallel-run with audience split, week 4 is the cutover. Skip any phase and you’ll either lose sends to spam or lose subscribers in the gap between “old tool turned off” and “new tool turned on.”
Switching email platforms is one of the most-deferred projects in ecommerce ops. Stores stay on Klaviyo at $510/mo for years past the break-even point because the alternative — a proper migration — sounds expensive. It isn’t. It’s about 30 hours of focused work, spread over 4 weeks. The reason it gets deferred is people try to do it in a weekend, hit a deliverability dip on day 3, and revert.
Below is the playbook that survived contact with reality. It assumes you’re going from Klaviyo / Mailchimp / Shopify Email → a new tool (Kovyo, Omnisend, Brevo, Resend-direct, etc). The principles hold regardless of which old/new tool combination.
Week 1: data + DNS (no sends yet)
Day 1-2 — Export your contact data from the old tool.
- Klaviyo: Profiles → Export to CSV. You’ll get email, first/last name, custom properties, list memberships, and consent timestamps.
- Mailchimp: Audience → Settings → Export. Same fields plus tag history.
- Shopify Email: contacts are already in Shopify Customers; no export needed.
Critical: export the consent timestamp column. If you can’t prove when each subscriber opted in, the new tool may treat them as unverified and you’ll have to re-confirm — a 30-50% list-shrink operation.
Day 3 — Import into the new tool, but don’t enable sending yet.
The new tool will deduplicate, validate email syntax, and flag any addresses that bounced previously (most platforms share suppression lists across customers). Expect 5-10% of your old list to be filtered out. That’s normal — it’s the dormant tail you’d be paying for on a per-contact-billing tool anyway.
Day 4-5 — DNS warm-up: SPF, DKIM, DMARC.
Three records, in this order:
- SPF — tells receivers your new tool is authorized to send for your domain. Add or modify the TXT record at the domain root.
- DKIM — cryptographically signs sends so receivers can verify they’re really from you. Two CNAME records the new tool gives you.
- DMARC — declares your alignment policy. Start at
p=none(monitor only), upgrade top=quarantineafter 30 days if there are no false positives in the DMARC reports.
DNS propagation: most providers update in 5-15 minutes. Cloudflare, Cloudflare-fronted domains, and AWS Route53 are fast. Some registrars (GoDaddy, Namecheap) take 1-4 hours.
Verify with dig TXT yourdomain.com and dig TXT _dmarc.yourdomain.com
from a terminal, or use mxtoolbox.com if you don’t have a CLI handy.
Don’t move to Week 2 until DKIM is verifying. Sending without
DKIM goes straight to Gmail’s promotions tab, often spam.
Day 6-7 — Configure the basics in the new tool.
- Sender email and name (e.g.
Brand <hello@yourbrand.com>) - Default footer (physical address — required by CAN-SPAM, GDPR)
- Default unsubscribe link
- Brand colors and logo for templates
- Time zone for scheduled sends
This is plumbing. None of it visible to subscribers but all of it required before week 2.
Week 2: flow rebuild + send-volume warm-up
Day 8-10 — Rebuild your three highest-revenue automations.
Don’t try to migrate every automation. Most stores have 10-15 automations on Klaviyo and 3 of them produce 80% of the email revenue. Identify those three, rebuild them on the new tool, leave the long tail for week 4.
The three to prioritize, in order:
- Abandoned cart (typically 50%+ of automation revenue)
- Welcome flow (next biggest, especially if your popup is healthy)
- Post-purchase / review request (smaller but easy)
For each, copy the email content from the old tool to the new (plain copy/paste; both platforms render Markdown or rich text). Do not copy-paste the trigger logic — rebuild from scratch in the new tool’s flow editor. Trigger schemas differ between platforms and bugs sneak in if you assume they don’t.
Day 11-13 — Warm up sending volume gradually.
This is the step most teams skip and regret. ISPs (Gmail, Outlook, Yahoo) score new senders by reputation. Sending 50,000 emails on day 1 from a new tool is a strong “this might be spam” signal.
The volume warm-up curve:
- Day 1 of sending: 500 emails
- Day 2: 1,000
- Day 3: 2,000
- Day 4: 5,000
- Day 5: 10,000
- Day 6: 25,000
- Day 7: full normal volume
The warmup audience matters too. Send to your most-engaged segment first (clicked an email in the last 30 days, opened in last 14 days). They give the cleanest engagement signals — high open, high click, low spam complaint, low unsubscribe.
If your new tool uses shared sending IPs that are pre-warmed (most modern platforms do — Resend, Kovyo, etc), you can compress this to 3-5 days. If you have your own dedicated IP, the full 7-10 day curve.
Day 14 — Send your first real campaign.
A normal newsletter to your engaged segment. Watch the metrics closely:
- Open rate: should be in the same ballpark as your old tool (within 10%). If it’s dramatically lower, deliverability is suffering.
- Click rate: should match too.
- Spam complaints: should be under 0.1%. Above 0.5% is a flag, above 1% is a fire.
- Unsubscribes: 0.1-0.3% is normal. Above 1% suggests the audience feels different about the new sender.
If anything looks off, slow down. Halve the next send’s volume. Investigate before continuing.
Week 3: parallel-run with audience split
Day 15-21 — Split your sending: 50% old tool, 50% new tool.
A parallel-run is the clearest way to compare deliverability and engagement. Pick a clean audience split (every-other-subscriber, or A-M / N-Z by email), run the same campaigns through both tools for a week, compare the numbers.
What to expect:
- Open rate: should match within 5%. If new tool is dramatically lower, DKIM/DMARC isn’t fully aligned yet, or the warm-up was rushed.
- Click rate: should match within 10%. Bigger swings suggest template rendering differences (some clients render Markdown differently than others).
- Inbox placement: send a Litmus or Email on Acid test from each tool to a Gmail/Outlook/Yahoo seed account. Compare which lands in Inbox vs Promotions vs Spam.
If new tool’s metrics are within 5-10% of old tool’s, you’re good to proceed. If there’s a 20%+ gap, something’s wrong — usually DKIM not signing correctly, or sender reputation still thawing.
Week 4: cutover
Day 22-25 — Move the long tail of automations.
The ones that didn’t make the week-2 priority cut. Browse abandonment, win-back, post-purchase review-2, anniversary emails, custom event triggers. Rebuild each, test each. Don’t enable until the test send arrives correctly.
Day 26-27 — Final data sync.
Anyone who subscribed during weeks 1-3 only exists on the old tool. Re-export and import to bring the new tool’s list current. Most platforms have a one-click “sync new subscribers from Shopify” that catches new signups too — enable it now.
Day 28 — Disable sends on the old tool.
Don’t delete the account yet — keep it as a fallback for 14 days in case something goes sideways on the new tool. But disable all flows and campaigns. The cutover is now complete.
Day 29-30 — Watch the metrics.
Compare week-4 metrics to your historical baseline:
- Total email revenue: should match within 5-10% of pre-migration (it’ll be slightly lower the first month due to dormant re-engagement of the ~5-10% you filtered out).
- Send volume: should match.
- Engagement (open + click rates): should match or improve, since you removed dormant addresses.
By day 30, you should have a clean read on whether the new tool is performing as expected. If yes, cancel the old tool’s subscription. If no, you still have the old tool as a fallback — revert the DNS changes and you’re back on the old platform within hours.
What goes wrong and how to fix it
Common failure modes:
Open rate drops by 30%+ after week 2. Your DKIM isn’t signing
correctly, or your DMARC policy is too strict. Loosen DMARC to
p=none if it isn’t already, double-check DKIM DNS records.
Spam complaints spike. You imported an old, dormant list and are hitting addresses that haven’t engaged in 12+ months. Filter the import to only addresses with engagement in the last 90 days; the rest goes to a “re-engagement” segment for a careful win-back later.
The new tool’s automation didn’t fire. Webhook setup wasn’t
completed during week 1. Re-check the OAuth handshake on the
Shopify connection — the new tool needs read_orders,
read_checkouts, write_discounts at minimum.
Subscribers complain about getting double emails during week 3. Audience split wasn’t clean — the same person ended up in both groups. Stop, fix the split, resume.
What to budget
Time: ~30 hours focused, spread over 4 weeks. Most of that is week 1 (data + DNS, ~12 hours) and week 2 (flow rebuild, ~10 hours). Week 3-4 is mostly observation.
Cost: typically the new tool’s first month, paid in parallel with the last month of the old tool. For a 5K-contact list moving from Klaviyo ($80/mo) to Kovyo Starter ($9/mo), that’s $89 in week 1, $9/mo from month 2 onward. Annual savings: $852, payback on the 30 hours of work in roughly 2 months.
If the math doesn’t work out — your contact-to-send ratio favors per-contact billing, your engagement is already optimal, you don’t need any of the features the new tool adds — don’t migrate. The right time is when the Klaviyo savings calculator shows 6+ months of savings clearing the migration cost.
For the cleanest version of “what does the new tool need to do that the old one didn’t,” see the Kovyo vs Klaviyo comparison.
— The Kovyo team