Portmux is a Mailchimp to Klaviyo migration service that moves your audiences, segments, multi-step automations, and historical engagement events into Klaviyo so your deliverability and segmentation logic survives the switch.
Mailchimp-to-Klaviyo is almost always an e-commerce upgrade, teams switching to Klaviyo to get behavioral segmentation tied to Shopify or WooCommerce events. The risk is engagement history. Klaviyo's segmentation depends heavily on the open/click/conversion event log; if you migrate without backfilling that log, your "engaged in last 30 days" segments are empty on day one and your sender reputation tanks.
Mailchimp Audiences become Klaviyo Lists; subscribers become Klaviyo Profiles with subscription consent (subscribe date, opt-in source) preserved.
Subscribed/Unsubscribed/Cleaned/Pending status mapped to Klaviyo email/SMS consent fields with original opt-in/opt-out timestamps.
Every Mailchimp merge field (FNAME, LNAME, custom MERGE10) migrated as Klaviyo Profile Custom Property with original data type.
Mailchimp subscriber Tags migrated as Klaviyo Profile properties or Lists, depending on whether they're behavioral or organizational.
Saved Segments (static and dynamic) recreated in Klaviyo: static segments become Lists; dynamic segment rules translated to Klaviyo Segment definitions.
Historical Campaign metadata (subject, send date, audience, open/click/bounce stats) imported as Klaviyo Campaign records for reporting continuity.
Multi-step Mailchimp Automations (welcome series, abandoned cart, re-engagement) re-implemented as Klaviyo Flows with the same triggers and timing.
Mailchimp Templates (Classic Builder + new email designer) ported to Klaviyo Templates with merge tag syntax converted (*|FNAME|* → {{ first_name }}).
Past 12 months of open/click events backfilled as Klaviyo Metric events so engagement-based segments work from day one of cutover.
Unsubscribe events, hard bounces, and complaint events imported as Klaviyo suppression list entries to preserve sender reputation.
Mailchimp Signup Forms re-implemented as Klaviyo Forms; signup source attribution stored as Profile property.
If using Mandrill for transactional email, send logs imported as Klaviyo Profile events; ongoing transactional sends moved to Klaviyo or kept on existing provider.
We connect to Mailchimp via API key with admin scope and Klaviyo via Private API Key. Mailchimp Marketing API enumerates every Audience, Segment, Tag, Automation, Campaign, and Template. Within 72 hours you see complete Audience inventories, an Automation flow diagram for each active customer journey, and a merge-field-to-custom-property mapping spreadsheet.
Klaviyo Profile schema is designed to match your Mailchimp merge fields plus the e-commerce events you'll start tracking (Placed Order, Viewed Product, etc.). Automation flows are re-modeled in Klaviyo Flow Builder, and we agree on which historical events to backfill (typically the last 12 months of opens/clicks).
Klaviyo loaded with full Profile data + 12 months of backfilled engagement events. Your team validates segments resolve correctly (e.g. "Engaged in last 30 days" returns the same population as in Mailchimp). On cutover day, Mailchimp campaigns are paused, Klaviyo Flows are activated, and DNS records (DKIM, SPF, sending domain) are updated to Klaviyo.
Every migration has its own gotchas. Here's what we plan for on this specific path.
Klaviyo segmentation is event-driven. Without backfilled open/click history, your "engaged in last 90 days" segment is empty on day one and you'll send to disengaged subscribers, killing deliverability. We backfill 12 months of opens/clicks/conversions as Klaviyo Metric events so segments work from cutover.
Klaviyo uses a different sending IP than Mailchimp. Going from cold-IP-to-full-volume on day one tanks deliverability. We schedule a 7–14 day warm-up: low-volume sends to your most engaged segment first, ramping volume as Klaviyo's reputation builds. DKIM/SPF/DMARC are configured before any send.
Mailchimp Customer Journeys and Klaviyo Flows have similar primitives but different triggers and conditions. Behavior triggers (e.g. "abandoned cart") work better in Klaviyo if your store is Shopify or WooCommerce; we wire those triggers to the e-commerce integration during the rehearsal week.
If you use Mandrill (Mailchimp's transactional product) for receipts or password resets, the migration scope expands. Mandrill can be replaced by Klaviyo's transactional-flagged Flows, by Postmark, or by a separate provider. We scope this in week one based on your transactional volume.
Single-system migrations like Mailchimp to Klaviyo run as Track A engagements: one source, one destination, up to 1M records, 4–6 weeks. Final price depends on object volume, custom field count, and integrations, scoped on a 20-minute call before any commitment. See full pricing →
Tell us what's in the source, where it's going, SaaS or custom, and when you need to be live. You'll walk away with a scoped quote, a named engineer, and a go-live date.