Klaviyo Platform Migration Checklist: All Six Phases Including the One Most Guides Skip

Klaviyo Platform Migration Checklist: All Six Phases Including the One Most Guides Skip

Direct answer: A complete Klaviyo platform migration checklist covers six phases: pre-migration audit, technical setup, data migration, flow and content rebuild, warm-up and go-live, and post-migration decommission. Most published checklists cover phases one through five. Phase six — canceling scheduled sends in the old ESP, updating all sign-up form destinations, removing old DNS records on the correct schedule, archiving historical data before account closure, and verifying suppression sync between both platforms — is what prevents the class of mistakes that happen after the migration appears to be finished. Sticky Digital, a Klaviyo Platinum Partner and Retention Marketing Agency of the Year, provides this complete six-phase checklist below.

Why Most Klaviyo Migration Checklists Are Incomplete

The planning instinct around migration is to focus on what's being built. Authentication, flows, list import, warm-up — these are the deliverables, and they get the attention. What gets less attention is what's being dismantled. The old platform doesn't shut itself down when Klaviyo goes live. It keeps running, keeps holding scheduled sends, keeps accepting subscriber data from any form that still points to it, and keeps accumulating suppression records that Klaviyo doesn't know about.

The migration isn't complete when Klaviyo is sending. It's complete when the old platform is fully decommissioned — and decommissioning has its own sequence, its own timing requirements, and its own category of mistakes. The checklist below covers all six phases.

Phase 1: Pre-Migration Audit

Everything that moves in a migration should be inventoried before anything is built. This phase produces the migration decision document — what transfers, what gets rebuilt differently, and in what order.

  • Document your current platform's attribution window settings. Klaviyo defaults to 5-day click and 1-day open; if your current platform uses a longer window, document the difference before migration so post-migration reports can be compared accurately.
  • Audit all active flows and rank by revenue contribution. This establishes the flow rebuild priority order for Phase 4.
  • Inventory all sign-up forms and their destinations — including third-party forms, Typeform integrations, quiz tools, QR code landing pages, and checkout collection. Every form will need its destination updated in Phase 5.
  • Document Shopify customer tags and custom properties used for segmentation in the current program. These will need to be reproduced in Klaviyo.
  • Review the seasonal calendar. Confirm the migration timeline doesn't overlap with BFCM or another peak period. For most DTC brands, plan at least 8 weeks between go-live and any major sales event.
  • Export suppression data — unsubscribes, hard bounces, spam complaints — and verify the file is complete before any other export is done.
  • Export active subscriber list with engagement data (last open, last click) mapped to columns for warm-up segment construction in Klaviyo.
  • Check for any scheduled campaigns in the old ESP. Note their send dates. This is the check that prevents the decommission failure.
  • For Shopify brands: verify that the old ESP is connected to Shopify and note the disconnect requirement before Klaviyo connects.

Phase 2: Technical Setup

Nothing sends from Klaviyo until this phase is complete and verified. Authentication setup is not an optimization — it's the foundation.

  • Configure branded sending domain in Klaviyo (a subdomain like send.yourdomain.com). Do not use the root domain.
  • Add the CNAME records Klaviyo generates to your DNS. Klaviyo manages SPF through its own Return-Path domain — you do not need to add a Klaviyo SPF include to your DNS record.
  • Configure dedicated click tracking domain (click.yourdomain.com). This requires one CNAME record and verification in Klaviyo's domain settings.
  • Review existing DMARC policy on your domain. If a p=quarantine or p=reject policy exists, verify DKIM alignment is confirmed before any sends go out. A DMARC reject policy without a branded sending domain configured will reject your own emails.
  • Verify DNS changes have propagated by sending a test email and checking authentication headers. Do not proceed to data migration until authentication passes.
  • For Shopify brands: disconnect the old ESP's Shopify integration before connecting Klaviyo to Shopify. Verify the old integration is fully inactive before authorizing the new connection. Running both simultaneously produces duplicate opt-in emails.
  • Connect Shopify (or relevant ecommerce platform) to Klaviyo. Confirm historical order data backfill is enabled in the sync settings.
  • Verify that Viewed Product events are firing by navigating to a product page on the site and checking for the event in Klaviyo's metric stream within 60 seconds. If the event doesn't appear, the tracking snippet is missing from one or more product page templates.
  • Verify that Checkout Started events are firing at the correct point in checkout. For custom or extended checkouts, test specifically at the email address entry step.

Phase 3: Data Migration

Suppression data imports before any active subscribers. This sequence is non-negotiable.

  • Import suppression data first: navigate to Audience → Profiles → View Suppressed Profiles → Upload File. Upload the suppression CSV containing unsubscribes, hard bounces, and spam complaints from the old platform.
  • Verify suppression count after import. The number of suppressed profiles in Klaviyo should roughly match the number of records in the suppression file. A significant discrepancy indicates an import error.
  • For Shopify brands on Mailchimp, Campaign Monitor, or Salesforce Marketing Cloud: use Klaviyo's built-in integration for suppression sync. For other platforms, import manually.
  • Import active subscribers with engagement data mapped to custom properties. Do not select "update subscription status to subscribed" on the import unless every contact in the file has verified, current consent — this setting overwrites existing suppression records.
  • Proactively suppress dormant contacts: build a suppression list of contacts with no opens, clicks, or purchases in the last 12 months before importing them as active subscribers. These contacts drag warm-up metrics down without contributing meaningful revenue.
  • Set a custom property on all imported contacts (for example, source=import) to prevent them from entering the welcome series. Add a corresponding flow filter to the welcome series before any import-triggered sends.
  • If migrating SMS simultaneously: export SMS subscribers separately from email subscribers. Import to Klaviyo with explicit consent records, timestamps, and country designation. Import SMS suppression (opt-outs) before active SMS subscribers.
  • Verify historical Placed Order events are appearing in subscriber profiles after Shopify backfill completes. If profiles show only recent orders, the backfill may still be running. Wait for confirmation before building purchase-frequency segments.

Phase 4: Flow and Content Rebuild

Flows are rebuilt in revenue priority order, not alphabetical order or the order they existed on the old platform.

  • Audit all existing flows by revenue contribution. Rank from highest to lowest. The top three flows go live before any warm-up send. Lower-priority flows build in parallel and go live as warm-up progresses.
  • Rebuild flows in Klaviyo's native editor, not by importing HTML from the old platform. HTML imports don't support Klaviyo's dynamic blocks, one-click unsubscribe headers, or predictive personalization variables.
  • Add flow filters to the welcome series before activation: "Placed Order zero times over all time" excludes checkout subscribers who have already purchased. This prevents recent buyers from receiving first-purchase discount codes they can't apply retroactively.
  • Build frequency caps into flows at setup. A subscriber shouldn't receive more than one Klaviyo-triggered email per 24 hours regardless of how many flows they qualify for during warm-up.
  • Add suppression logic between overlapping flows. Browse abandonment and abandoned checkout flows can trigger on the same session — build suppression so the checkout flow takes priority when both are relevant.
  • QA every flow before activation: verify trigger conditions, test with a known email address, confirm personalization fields populate correctly, and confirm send time windows aren't violating quiet hours requirements.
  • Rebuild templates in Klaviyo's editor. Verify mobile rendering on all rebuilt templates before any live sends. Mobile open rates make mobile rendering non-optional.
  • Configure attribution windows in Klaviyo's account settings. Document both Klaviyo's window and the old platform's window so the first post-migration performance report can be interpreted accurately rather than alarming.
  • Set up UTM parameters with consistent naming conventions that will produce clean attribution in GA4 alongside Klaviyo's native reporting.

Phase 5: Warm-Up and Go-Live

Nothing goes live until authentication is confirmed. Warm-up is not a box to check — it's a process that requires daily monitoring.

  • Build the warm-up segment from dynamic engagement conditions: contacts who opened or clicked within the last 30 days, under 10,000 recipients for the first send. Do not use a static list built at migration time — dynamic segments update as subscribers engage and stay accurate through the warm-up period.
  • Send warm-up sends as campaigns, not flows. Flows that are live during warm-up contribute to sender reputation but should not be counted as the warm-up sends themselves.
  • Activate the welcome series before the first warm-up send. Welcome is the first flow to go live. All other flows activate in sequence as warm-up expands through engagement cohorts.
  • Monitor daily during warm-up: open rate target above 30% on the first send, complaint rate below 0.1%, hard bounce rate below 2%, inbox placement via Google Postmaster Tools. If any metric moves in the wrong direction, hold volume before the next expansion.
  • Keep the old ESP running for everything warm-up isn't covering. Campaigns to less-engaged segments and flows not yet rebuilt in Klaviyo stay on the old platform. Do not decommission the old ESP during warm-up.
  • After the first warm-up send, verify that all sign-up forms are pointing to Klaviyo. Check the old platform's subscriber list daily for the first two weeks to confirm new subscribers are no longer being added. Any new additions indicate a form that still needs to be redirected.
  • Confirm suppression sync is working between both platforms. Opt-outs received on either platform during the warm-up overlap period need to reach the other within 10 business days. Set a daily suppression sync cadence.

Phase 6: Post-Migration Decommission

This is the phase most migration checklists omit entirely. It's also where the most avoidable post-migration mistakes happen.

  • Cancel all scheduled campaigns in the old ESP. This is the first item in the decommission phase and the one most teams forget. A hair care brand migrating off ActiveCampaign discovered this the hard way when a summer promotional campaign — scheduled three weeks before the migration decision — fired automatically to 45,000 subscribers three weeks after Klaviyo went live. The campaign went to dormant contacts that had been suppressed in Klaviyo but were still active in ActiveCampaign. Unsubscribe rates spiked across both platforms. Before decommissioning: log into the old ESP, navigate to scheduled sends, and cancel every scheduled campaign.
  • Turn off all flows in the old ESP. For flows still running on the old platform during the overlap period, deactivate them as the equivalent Klaviyo flows go live. Don't deactivate both simultaneously — turn on the Klaviyo version first, verify it's triggering correctly, then deactivate the old platform version.
  • Remove old ESP DNS records after all traffic has moved to Klaviyo and warm-up is complete with stable metrics. DNS record removal should happen at least two weeks after the last send from the old platform — email forwarding and delayed delivery can still reference old DKIM signatures.
  • Archive historical campaign data from the old ESP before closing the account. Export campaign performance reports, flow revenue data, and A/B test results. This data informs future decisions and can't be recovered after account closure.
  • Archive consent language screenshots from every sign-up unit on the old platform before deactivating. These are the legal records of what subscribers consented to. They must exist even after the platform is gone.
  • Keep the old ESP account accessible for one to three months post-cutover on the minimum billing tier, even after all sends have moved to Klaviyo. It's the reference for historical data and the fallback if issues surface.
  • Verify that all sign-up forms — including footer forms, checkout collection, quiz tools, third-party integrations — are confirmed pointing to Klaviyo. Check the old platform's subscriber list one final time. If there are still new subscribers arriving, a form is still pointing to the old platform.
  • Document the completed migration: attribution window settings, segment architecture decisions, flow trigger logic, and warm-up baseline metrics. This documentation lives in the client's program file and prevents the next person managing the account from having to reconstruct it.

Sticky Digital's Approach to the Complete Checklist

The six-phase checklist above represents the full scope of a Klaviyo migration. At Sticky Digital, every phase has named owners, confirmed go/no-go conditions, and documented verification steps. Phase 6 — the decommission phase — gets the same attention as Phase 2. The step about canceling scheduled sends in the old ESP is the first item every team member checks before the migration celebration.

Our migration and onboarding services include full management across all six phases. If you want to run this checklist with support rather than managing it yourself, start a conversation here. More on how we approach each phase is at the Sticky blog.

FAQ

How long does it take to complete a Klaviyo platform migration?

For a typical DTC brand with 25,000 to 150,000 contacts and five to ten flows, plan 10 to 14 weeks from Phase 1 through Phase 6. The warm-up phase — four to six weeks on a shared IP — is the rate-limiting step. Phases 1 through 4 can run in parallel in the first two to four weeks. Phase 6 decommissioning runs in parallel with warm-up and completes a few weeks after warm-up is stable. The migration isn't finished until the old ESP is fully decommissioned, not when Klaviyo is sending.

What's the most commonly skipped item on a Klaviyo migration checklist?

Canceling scheduled campaigns in the old ESP. It's the last thing brands think about because migration energy goes toward building the new program. But a scheduled send that was queued before the migration decision doesn't know the migration happened — it fires on its scheduled date regardless. Every migration checklist should include an explicit step to log into the old platform, navigate to scheduled sends, and cancel or reschedule every campaign before the decommission period begins.

Does the suppression import have to happen before the active subscriber import?

Yes. Suppression data must arrive in Klaviyo before any active subscribers are imported. If the active subscriber file is imported first — particularly with the "update subscription status to subscribed" setting selected — it can overwrite existing suppression records and re-enable contacts who have previously unsubscribed or hard-bounced. Import suppression first, verify the count, then import active subscribers. This sequence is non-negotiable.

When should I remove the old ESP's DNS records?

At least two weeks after the last send from the old platform, and only after warm-up is complete and all traffic has moved to Klaviyo. Email forwarding chains and delayed delivery can reference old DKIM signatures for days after the last send. Removing old ESP DNS records immediately after go-live leaves a window where those references fail authentication. Remove them deliberately, on a calendar reminder, not as an afterthought when someone is cleaning up DNS settings.

What data should I archive from the old ESP before closing the account?

Campaign performance reports with open rates, click rates, and revenue attribution. Flow revenue data and conversion rates for all active automations. A/B test results and any test learnings that aren't documented elsewhere. Screenshots of all sign-up units with consent language visible — these are legal records. The full subscriber export with engagement data as a backup reference. Historical data cannot be recovered after account closure, so archive before canceling, not after.

The Migration Ends at Decommission, Not at Go-Live

A migration that declares success at go-live and ignores decommissioning is not complete. The old platform keeps running until someone turns it off — and if nobody has checked for scheduled campaigns, disconnected the Shopify integration, redirected all forms, and set a DNS removal calendar, it's still partially running long after the team has moved on. The six-phase checklist closes all those loops. Phase 6 is what separates a migration that's done from one that's mostly done.

If you want to run this checklist with agency support rather than managing it alone, we're easy to reach.

Article By: Mariel Kilroy, Co-Founder, Sticky Digital

Mariel Kilroy is the Co-Founder of Sticky Digital, a retention marketing agency specializing in email, SMS, loyalty, and subscription growth for DTC brands.

Back to blog