← All playbooks
Commerce migration

Shopify → Klaviyo

Move catalog, customers, orders, subscriptions, discounts, inventory, taxes, shipping, storefront routes, apps, and financial evidence from Shopify into Klaviyo with an explicit exception ledger and evidence-based cutover.

Typical timeline20–50 business days100–200 hours active work
Statusneeds review
Source testedShopify documentation reviewed 2026-07-19
Destination testedKlaviyo documentation reviewed 2026-07-19
Last reviewed2026-07-19
Sources2
Before you migrate

Should you make this move?

Both platforms have a case. Compare what you gain with what you give up before scheduling the cutover.

Current platform

Shopify

Reasons to stay
  • A polished hosted commerce platform has an unmatched app and partner ecosystem
  • Core catalog, order, customer, and promotion workflows are integrated
Reasons to leave
  • Transaction economics, app dependency, and checkout constraints reduce control
  • Deep customization usually increases extension, agency, or engineering costs
New platform

Klaviyo

What gets better
  • Commerce-native segmentation, behavioral automation, and revenue attribution are exceptionally strong
  • Audience, campaigns, automations, and reporting live in one publishing system
What gets worse
  • Data-model complexity and profile-based pricing can become expensive and difficult to unwind
  • Automation logic, analytics history, and deliverability settings are not very portable
Best of the move

Klaviyo: Commerce-native segmentation, behavioral automation, and revenue attribution are exceptionally strong. This removes a major source-side concern: Transaction economics, app dependency, and checkout constraints reduce control.

Worst of the move

What you lose: A polished hosted commerce platform has an unmatched app and partner ecosystem. What you inherit: Data-model complexity and profile-based pricing can become expensive and difficult to unwind.

01At a glance

Know the shape of the move.

Transfer outcome12 features audited
Transfer outcome distributionClean transfer: 0, Partial transfer: 9, Manual rebuild: 2, Not transferred: 1.
Clean0
Partial9
Manual2
Lost1
Mapping route9 of 9 fields have a destination path

This timeline assumes

  • Up to 100,000 products, 500,000 customers, and one million orders
  • Store, finance, support, fulfillment, SEO, and engineering owners approve the destination operating model.
  • The source remains available through at least one full refund, fulfillment, payout, and renewal cycle.
  • A complete test catalog and buyer cohort run before production data.
  • The migration team records evidence for every blocking verification check.
02Loss matrix

What survives the move.

“Partial” and “manual” are not footnotes. They are work that must be scheduled and verified.

ItemOutcomeImpactWhat happensMitigation
Products, variants, images, customers, orders, discounts, and inventorypartialcriticalCore products, variants, images, customers, orders, discounts, and inventory can move, but Shopify and Klaviyo use different models, limits, identifiers, and import behavior.Pilot every feature class, preserve source IDs, and reconcile accepted, transformed, rejected, and excluded items.
Themes, checkout, apps, subscriptions, fulfillment, and financial historymanualcriticalShopify-specific runtime configuration and historical evidence do not become native Klaviyo behavior through the core data transfer.Inventory every active dependency, approve its destination disposition, and test the replacement before source writes stop.
Products and variantspartialcriticalCore catalog data can move while option, bundle, custom-field, and digital-product models differ.Reconcile every product and variant against an approved catalog map.
Images, files, and digital deliverypartialcriticalExports may contain URLs rather than durable binaries or customer entitlements.Copy originals, compare hashes, and test delivery as a buyer.
Customers and accountspartialcriticalProfiles can move while passwords, account identity, consent, addresses, and tax details vary.Use secure activation and never promise password transfer.
Orders, refunds, and transaction historypartialcriticalHistorical orders may import without becoming editable payment transactions.Preserve source IDs and reconcile gross, tax, discount, refund, and net totals.
Active subscriptions and payment methodspartialcriticalRecurring billing ownership requires provider cooperation or customer reauthorization.Choose a documented takeover or managed re-subscription path and prevent double billing.
Discounts, coupons, and gift balancespartialhighEligibility, stacking, expiry, redemption, and stored balances use different models.Map active rules and test boundary conditions.
Taxes, invoices, and merchant recordsmanualcriticalMerchant-of-record, registration, calculation, invoice, and filing responsibilities can change.Obtain finance and legal approval before accepting destination sales.
Shipping, inventory, and fulfillmentpartialcriticalLocations, stock states, backorders, rates, carriers, and fulfillment workflows differ.Freeze stock movement briefly and reconcile every location.
Storefront, checkout, and URLslostcriticalThemes and checkout runtime do not transfer as store data, and route structures change.Rebuild approved journeys and test one-hop redirects for every indexed route.
Reviews, memberships, licenses, and entitlementspartialhighPlatform-specific access and customer-library objects need separate migration.Create an entitlement ledger and test representative buyers.
03Field and feature mapping

Where each thing goes.

SourceDestinationMethodNotes
Shopify productKlaviyo producttransformPreserve source ID, title, status, and URL.
Variant, option, or tierDestination variant, option, or plantransformMap cardinality and price explicitly.
Image, file, or mediaDestination media or delivery assettransformCopy and compare hashes.
CustomerDestination customertransformPreserve identity, consent, and source ID.
Order or saleDestination historical order or ledger recordtransformPreserve amounts, currency, tax, discount, and status.
Subscription or membershipDestination subscription or entitlementmanualUse supported billing transfer or customer reauthorization.
Coupon or discountDestination discounttransformMap eligibility, expiry, limits, and redemption.
Inventory location and quantityDestination location and inventorytransformFreeze and reconcile at cutover.
Public routeDestination route and redirectmanualPreserve or redirect every indexed URL.
04Before you begin

Make the move recoverable.

Backup procedure

Create the source-of-truth backup

Preserve Shopify data, configuration, and operating evidence before any destination write.

  1. Export Shopify products, variants, assets, customers, orders, subscriptions, discounts, inventory, taxes, payouts, and settings.
  2. Crawl storefront routes, metadata, checkout, account, fulfillment, support, and integration behavior.
  3. Record counts and signed financial totals by status, currency, tax, discount, refund, location, and billing state.
  4. Hash exports and downloadable assets.

Proof to capture: A signed manifest reconciles every scoped record class, runtime dependency, export file, count, and hash.

Transformation · Official exports, ETL workbook, and schema validator

Catalog, customer, and order map

Preserve identity, commercial meaning, and financial totals.

  1. Inventory source values and exceptions.
  2. Define explicit destination mappings.
  3. Reject unmapped critical records.

Proof to capture: Save the input, output, command or tool settings, warnings, and final item counts.

Transformation · Staging store, crawler, test payments, and reconciliation scripts

Storefront and operating cutover

Rebuild customer journeys, fulfillment, billing, URLs, and integrations.

  1. Normalize encoding, dates, identifiers, and blanks.
  2. Run a representative pilot.
  3. Reconcile accepted, rejected, and transformed rows.

Proof to capture: Save the input, output, command or tool settings, warnings, and final item counts.

05Handle with care

The things most likely to hurt.

These are operating limits. Treat every “Stop if” condition as a blocked migration, not a suggestion.

Cutover

Orders or inventory change during the final copy

criticalpossible likelihood

Customers buy, refund, or fulfill while destination data is loading.

Consequence
Stock and financial ledgers diverge.
Mitigation
Freeze affected writers and apply a reconciled final delta.

Stop if: Any unexplained post-freeze commercial event exists.

Billing

Both stores sell or renew

criticalpossible likelihood

Old checkout, subscriptions, or automations remain active.

Consequence
Customers are double charged or receive conflicting fulfillment.
Mitigation
Move one production owner at a time and monitor test buyers.

Stop if: Any buyer can complete duplicate production actions.

Launch

Routes work but checkout fails

criticalpossible likelihood

Storefront pages render while tax, shipping, payment, delivery, or account paths fail.

Consequence
Revenue and customer trust are lost.
Mitigation
Run end-to-end orders for every critical market and product type.

Stop if: A blocking buyer journey fails.

06Precise timeline

Do the work in this order.

Estimate forUp to 100,000 products, 500,000 customers, and one million orders
Total elapsed20–50 business days
Active work100–200 hours
BufferAdd time for large exports, unsupported Shopify features, destination limits, identity exceptions, regulated data, or strict downtime requirements.
01
Days 1–3Inventory and decisions2–3 days
02
Days 3–5Backup and reconcile1–3 days
03
Days 5–12Map and pilot3–8 days
04
Days 10–20Final delta and switch1–5 days
05
Days 12–40Observe and close3–10 days
  1. Days 1–3 · inventory

    Inventory and decisions

    6–12 hours active2–3 days elapsedOwner review waiting
    • Inventory Shopify data, features, users, domains, and integrations.
    • Approve scope, owners, mappings, and exclusions.

    Depends on: Shopify and Klaviyo administrator access

    Stop / go checkpoint

    Export?

    Go when: Every critical item has an owner and disposition.

    Stop when: Consent, billing, access, or system ownership is unclear.

  2. Days 3–5 · backup

    Backup and reconcile

    5–10 hours active1–3 days elapsedExport processing waiting
    • Create immutable exports and configuration evidence.
    • Reconcile counts, totals, and hashes.

    Depends on: Approved inventory

    Stop / go checkpoint

    Transform?

    Go when: Source totals and export manifests agree.

    Stop when: Any critical dataset or configuration is absent.

  3. Days 5–12 · pilot

    Map and pilot

    10–35 hours active3–8 days elapsedDestination processing and review waiting
    • Configure Klaviyo and transform representative data.
    • Run a pilot containing normal records and every critical edge case.

    Depends on: Verified backup

    Stop / go checkpoint

    Scale?

    Go when: Pilot mappings, behavior, access, and evidence pass.

    Stop when: Any critical check fails or produces unexplained variance.

  4. Days 10–20 · cutover

    Final delta and switch

    5–25 hours active1–5 days elapsedDNS, import, or sync propagation waiting
    • Freeze production writes in Shopify.
    • Apply the final delta, switch ownership, and run blocking checks.

    Depends on: Passed pilot and approved rollback

    Stop / go checkpoint

    Open production?

    Go when: Counts reconcile and one destination system owns production.

    Stop when: A source writer remains active or a blocking check fails.

  5. Days 12–40 · observe

    Observe and close

    3–18 hours active3–10 days elapsedOperating-cycle evidence waiting
    • Monitor one complete operating cycle.
    • Sign the verification report and close rollback only after stability.

    Depends on: Verified cutover

    Stop / go checkpoint

    Close rollback?

    Go when: No trigger occurs during the agreed observation period.

    Stop when: Data, access, delivery, routing, or business results regress.

07The point of change

Cut over with a way back.

Go live

Cutover

Make Klaviyo the only production system without losing the final Shopify delta.

Recommended window: A low-volume weekday morning with platform, data, DNS, and business owners available.

  1. Freeze production writes and scheduled actions in Shopify.
  2. Export, transform, and reconcile the final delta.
  3. Apply the approved delta to Klaviyo.
  4. Switch domains, forms, integrations, sending, or sync ownership as applicable.
  5. Run every blocking verification check and keep the source intact.

Proof to capture: Klaviyo owns production, totals reconcile, and every blocking check has durable evidence.

Return to safety

Rollback

Return production ownership to Shopify without losing destination-era changes.

Deadline: Within seven days and before source data, plans, credentials, domains, or billing are changed.

  1. Stop new writes and scheduled actions in Klaviyo.
  2. Restore the prior Shopify routing, forms, integrations, sending, or sync ownership.
  3. Export the Klaviyo post-cutover delta.
  4. Review and apply safe destination-era changes to Shopify.
  5. Run the same blocking checks against the restored source.

Proof to capture: Shopify again owns production with current data and no duplicate destination action.

Rollback immediately when
  • Unexplained critical count or value variance
  • Missing or exposed critical data
  • Duplicate production action
  • Failed access, routing, delivery, or integration check
  • A critical feature has no safe destination replacement
08Verification report

Prove the migration worked.

Every blocking check must pass. Capture the evidence before cleanup begins.

0%
Interactive report preview0 / 8 checks passed
PassIDCheckMethodExpected resultEvidence
V-01BlockingProduct and variant reconciliationCompare counts, fields, media, prices, status, and inventory.Every scoped catalog object is accounted for.Catalog ledger.
V-02BlockingIdentity and account activationCompare profiles and exercise secure account access.Approved customers can access only their data.Customer report.
V-03BlockingCommercial and financial historyReconcile counts and signed totals by status, currency, tax, discount, and refund.Every order and amount is accounted for.Order ledger.
V-04BlockingSubscriptions and entitlementsTest every lifecycle state through renewal or reauthorization.One correct charge and entitlement owner.Subscription report.
V-05BlockingLocation and fulfillment parityPlace, fulfill, cancel, return, and refund test orders.Stock and fulfillment outcomes reconcile.Fulfillment evidence.
V-06BlockingBuyer journeysComplete every product, payment, tax, shipping, and market path.One valid order, receipt, delivery, and account result.Test-order matrix.
V-07BlockingStorefront and SEOCrawl old and new routes, metadata, canonicals, and redirects.Every indexed route resolves correctly.Route diff.
V-08BlockingSingle store authorityInspect checkout, inventory, subscriptions, integrations, and support.Klaviyo alone accepts production orders.Cutover checklist.
09Post-migration cleanup

Remove the scaffolding safely.

Safe after: One complete operating cycle, at least seven stable days, and owner sign-off on every blocking check.

  1. Create final Shopify exports and archive verification evidence.
  2. Revoke temporary credentials, API keys, webhooks, and elevated roles.
  3. Remove obsolete embeds, forms, jobs, integrations, and DNS records.
  4. Keep the source intact through the approved retention window.
  5. Cancel paid plans only after billing, legal, and recovery review.
  6. Schedule the next Klaviyo backup, access, and migration-playbook review.
Sources and maintenance

Built to be reviewed.

Tested 2026-07-19. Next scheduled review: 2026-10-19.

  1. Shopify: official migration documentationAccessed 2026-07-19
  2. Klaviyo: official migration documentationAccessed 2026-07-19