Next-Cart

Use this Shopify post-migration checklist to compare delivered results with the agreed scope, including transformations and exclusions.

Prove usable relationships in the configured Store, then decide what passes, needs attention or blocks launch. Historical data and live operation require separate approvals.

Record Evidence for Shopify Migration Validation

Make each finding reproducible rather than relying on an impression such as “Products look correct.” Record:

  • Comparison: the tested record ID, expected result and observed result.
  • Proof: screenshots, exported comparisons or URL results, as appropriate.
  • Decision: responsible owner, Pass/Watch/Block and supporting sign-off.

Record the review context:

  • Store setup: Shopify plan, collection model, Markets, account mode and installed apps.
  • Selling context: channel, market, buyer and inventory location.

Separate delivered data, agreed implementation and remaining target configuration, with an owner and evidence for each required result. Native availability does not establish migration coverage.

Use three decision states consistently:

  • Pass: the evidence supports the intended Shopify outcome and no launch-critical correction remains.
  • Watch: the result is usable, but a nonblocking correction, configuration task, owner decision, or monitored exception remains.
  • Block: the result materially affects purchasing, Customer access, historical Order use, inventory, fulfillment, SEO continuity, compliance, or an agreed migration output.
Shopify evidence areas and launch blockers
Evidence area Shopify-specific proof Typical Block condition
Catalog Representative Products and variants preserve sellable identity and buyer choice. A major Product family cannot be purchased correctly or variant identity is unreliable.
Discovery Collections, navigation references, search, filters, and visibility support intended journeys. Revenue-critical Products become inaccessible or visible to the wrong audience.
Inventory Variant and location quantities align with the intended inventory owner. Shopify would oversell, hide sellable stock, or send updates to the wrong item.
Customers and Orders Identity, addresses, Customer context, and historical transactions remain readable. Support or finance teams cannot identify the buyer or explain a material Order.
URLs and content Priority paths reach the intended Product, collection, CMS Page, or Blog Post. High-value traffic reaches errors, unrelated content, or redirect loops.
Custom data Metafields, metaobjects, app records, and external IDs have a continuing owner. A launch-critical workflow loses the data or key it consumes.

An agreed transformation or exclusion that matches the expected result is not a defect. Reserve Watch for a usable result with a remaining nonblocking issue or monitored exception.

Use the Shopify preparation checklist if Source expectations, agreed mappings or required evidence are missing.

Test Representative Records and Relationships

Choose samples that challenge Shopify-specific assumptions, not only simple Products. Include:

  • Products: simple and multi-variant records, including distinct SKUs, barcodes, prices, images, weights, tax treatment and stock.
  • Discovery: manual or rule-based collections; variant or collection sources where available; hidden, archived or channel-restricted Products.
  • Customers and history: multiple addresses, tags or substantial Order history; Orders with discounts, taxes, refunds, cancellations or fulfillment exceptions.
  • Routes and consumers: priority Product, collection, CMS Page and Blog Post URLs; metafields, metaobjects, app-created values and external IDs.
  • Agreed scope: records included through filtered, mapped, configured or project-specific implementation.

Resolve or explicitly accept structural mismatches before the broader run: one faulty assumption can affect many records. Representative testing proves interpretation and mapping, not full-volume completeness.

Validate Products, Options and Variants

Shopify Products can contain options and variants, and each variant can carry its own SKU, barcode, price, image, inventory relationship, delivery context, and metafields. Validation should therefore begin at variant level rather than stopping at the parent Product.

Shopify Product and variant decision matrix
Product evidence Pass Watch Block
Parent and variant relationship Each sellable version belongs to the correct Product and uses the intended option values. Minor naming or ordering corrections remain. Variants are flattened, duplicated, assigned to the wrong Product, or impossible to select.
SKU and barcode Identifiers are attached to the correct variants and remain usable by staff or integrations. Noncritical duplicates are documented for cleanup. Warehouse, marketplace, or fulfillment matching cannot identify the sellable item.
Price and compare-at price Commercial values match the intended variant and currency context. Noncritical rounding or historical differences still need correction or explicit acceptance. Buyers would be charged materially incorrect prices.
Media Product and variant-specific media display on the intended choices. Secondary media ordering needs refinement. Product identity is misleading or essential variant imagery is missing.
Status and publishing Products and variants are available only in the intended sales channels or catalogs. Planned publication work remains but is controlled. Restricted, retired, or unavailable items become purchasable, or intended items disappear.
Custom Product data Required metafields, categories, tags, and metaobject references are usable. Optional display work remains. A launch-critical filter, specification, integration, or theme feature cannot access the data.

For Products using bundles, subscriptions, Product builders, personalization, app-managed options or other nonstandard relationships, prove the required app, selling plan, bundle components and Order-line output. A visible buyer choice alone cannot earn Pass.

Include a source choice that did not become a Shopify variant, such as warranty or configurator output. Test its agreed app, selling plan, line-item property or other representation through both the shopper decision and the operational record.

If a check fails:

  • Catalog owner: compare affected Product/variant IDs with the agreed mapping.
  • App or integration owner: check the dependent buyer choice and Order-line output.

Correct the responsible layer, then retest the affected family in its selling context before clearing a Block.

Validate Collections and Product Discovery

Source Categories may become collections, menu links, CMS Pages, redirects, filters or agreed exclusions. Test the resulting discovery path, not collection counts alone.

Use the collection model actually available in this Store:

  • Legacy manual: compare assigned Products with expected membership.
  • Legacy automated: check tags, Product fields, categories, prices, inventory conditions and other rule inputs.
  • New model, where available: check Product/variant membership, sources and inclusion/exclusion conditions, including other-collection sourcing or nesting.

Collection-to-collection sourcing controls membership; it does not recreate a Source Category tree or storefront menu.

  • Test one included and one excluded Product or variant, then follow the landing page and navigation path.
  • Confirm intended channel/catalog publishing.

Decision:

  • Block: a major buying path fails, restricted Products are exposed or a high-value landing page breaks.
  • Watch: membership is correct but noncritical sorting, theme presentation, menu wording or merchandising work remains.

Test search with representative shopper terms and filters with meaningful Product attributes. A field’s presence is insufficient: the correct Shopify structure and its theme, app or storefront consumer must support the experience.

If discovery differs:

  • Merchandising: correct membership and exclusions.
  • Storefront owner: correct menu, search, filter and visibility behavior.

Compare the accepted route and audience, then retest included and excluded cases.

Validate Inventory, Locations, and Fulfillment References

Shopify stock belongs to variants and locations. Compare the source quantity with the intended variant, location and continuing inventory owner.

Shopify inventory ownership evidence
Inventory evidence Required proof
Variant identity The quantity belongs to the correct SKU or sellable combination.
Location assignment Stock is associated with the location intended to fulfill or report it.
Tracked versus untracked state Unlimited, unavailable, preorder, and tracked-stock meanings are not confused.
External authority ERP, WMS, marketplace, or fulfillment identifiers still point to the correct Shopify variant and location.
Opening quantity The value is appropriate for the migration cutover and will not be duplicated by the next synchronization.

Opening stock and historical fulfillment labels do not prove future operation. Separately test:

  • Delivery: shipping rates, delivery methods, fulfillment services, order routing, carrier accounts and pickup.
  • Communication: notification workflows.

Assign live Shopify configuration and operational owners; retain historical fulfillment labels as evidence of the past transaction.

When an external system remains the inventory authority, make one controlled update. Prove that its SKU or inventory-item reference reaches the correct variant and location without overwriting another stock pool.

A correct opening quantity alone cannot earn Pass. Keep a launch-critical unproven update path at Block; use Watch only for a usable, accepted nonblocking exception.

If stock differs:

  • the inventory owner reconciles variant, location, timestamp and quantities on the agreed quantity-state basis with the continuing system.
  • The integration owner corrects identifier or synchronization errors.

Repeat the opening-stock check and controlled update before approving the affected stock pool.

Validate Customers, Segments, and Historical Orders

Prove identity and account access

Check each area against its agreed treatment and destination owner:

  • Identity: names, emails, phone numbers, addresses and external IDs.
  • Classification and obligations: tags, tax-related fields and consent records.
  • Account experience: configured account status and the login or activation path.

A Customer profile, email or historical Order association does not prove account access or consent correctness. Test the configured login or activation path with an authorized account. Cross-account exposure is Block.

Include:

  • Identity cases: registered buyers, guests, duplicate-looking identities and multiple addresses.
  • Relationships: substantial Order history, CRM/support records and B2B or wholesale context where applicable.

Wrong Customer-to-Order links or missing critical external keys are Block.

Where B2B is used: test company, company-location, buyer and catalog relationships in the actual plan and Markets setup. B2B is not confined to Plus; direct company-location catalog assignments and some payment capabilities have different plan requirements.

Prove the buyer’s assortment and price, and test another buyer for unintended access to the wrong company or location.

Preserve the transaction snapshot

Compare historical Orders with the accepted transaction snapshot:

  • line items, selected variants and prices;
  • discounts, taxes, addresses, shipping and payment labels;
  • fulfillment context, refunds and cancellations;
  • notes and source references where included.

Current Product prices, Customer addresses or fulfillment settings must not overwrite that history.

If identity or history differs:

  • Customer operations and identity team: resolve account associations.
  • Support and finance: reconcile the original transaction evidence.

Retest buyer/Order links. Cross-account exposure, missing critical keys or material unexplained history remains Block until cleared with evidence.

Approve live operation separately

Historical Orders do not prove live checkout, payments, taxes, duties, shipping, fraud review, notifications or fulfillment.

Give Shopify, provider and operational owners separate tests and approvals for history and live configuration.

If notifications or automations were restricted during historical import, restore their intended live configuration and retest them before launch.

Validate URLs, Redirects and Content

Use preparation’s priority route inventory. Group coverage by:

  • Entry points: organic traffic, campaigns, backlinks and Customer bookmarks.
  • Destinations: top Products, important collections, CMS Pages, Blog Posts and discontinued items.

Compare each real source path with its intended Shopify destination or documented exclusion.

Shopify route and content checks
Check Agreed expectation and evidence Response and retest
Redirect destination Test the real source path and final browser result. It must reach the correct useful destination without a loop or irrelevant hop. A redirect row alone is insufficient. The route owner corrects the destination or chain and repeats the same source-path test.
Market and locale The final result follows the intended market and locale behavior. The localization or routing owner corrects the relationship and retests the affected locale and entry point.
CMS Pages and Blog Posts Check content, formatting, media, internal links, publication state, metadata, required author or date context and menu relationships. Theme presentation may differ, while content and routes remain usable. The content or storefront owner corrects the responsible layer and retests the page and its onward links.

Use Block for unresolved high-value paths, unavailable policy/compliance pages or widespread broken internal links.

An agreed low-value exclusion can Pass when it matches scope. Use Watch for a usable result with an accepted nonblocking exception or minor formatting/metadata work, with an owner.

For detailed testing steps, see validate content, URLs and redirects.

Validate Custom Data, Apps and Integrations

Validate custom data through its consuming workflow.

  • A metafield’s namespace, key, type, reference target and value format must match the theme, app or integration.
  • A metaobject also needs its required entries and access; admin presence alone proves neither usability nor storefront access.

For each critical custom field or external key, record:

  • the source owner and business purpose;
  • the Shopify destination and data type;
  • the Product, variant, Customer, Order, collection, or other resource it belongs to;
  • the theme, app, integration, or team that consumes it;
  • the evidence proving that the consumer can retrieve and use it.

An installed app alone cannot earn Pass for its records. Cover the app-owned records in scope:

  • Customer programs: subscription contracts, reviews, loyalty balances and wishlists.
  • Specialist commerce: bundles, bookings, warranties, marketplace listings and Product configurator records.

Prove the agreed app-specific import, API process, external archive or separately implemented output.

Validate migrated and separately implemented outputs against their documented scope. Prove delivery through the consuming workflow rather than reopening the migration-approach decision.

If a consumer fails:

  • Custom-data owner: compare namespace, key, type, resource and reference targets with the agreed definition.
  • Theme, app or integration owner: correct access or implementation.

Retest required app records and exceptions through the consuming workflow before assigning Pass.

Extend Validation to the Broader Run

Representative tests establish mapping and structural assumptions. The broader run must prove completeness, edge cases and relationship integrity across the accepted scope.

Extend the domain checks above across all major Product families and variant patterns, high-value discovery paths, full Customer/Order associations and priority content. Include every documented migrated and separately implemented output.

For broader acceptance:

  • Reconcile totals with agreed exclusions and duplicate handling.
  • Review integration-owned IDs and exception reports across the full result.
  • Compare records created or changed since the representative test snapshot.

A representative Pass does not approve the broader run. Look for failures that appear at scale:

  • Catalog: truncation, inconsistent option vocabularies, duplicate handles and missing media.
  • Relationships: orphaned Orders and unsupported app records.
  • Routes: redirect collisions.

Revalidate After Later Migration Actions

Later migration activity can change records that previously passed. Revalidation should follow the action used:

Shopify later-run revalidation scope
Later action Required revalidation
Continue with the accepted configuration Confirm that the previous filters, mappings, and configuration remain valid; review newly eligible records and ensure earlier approved records were not unintentionally altered.
Continue after revising configuration Revalidate every entity and relationship affected by changed filters, mappings, selection, or configuration, including previously reviewed assumptions.
Create a new migration result Treat the result as a distinct migrated outcome and rerun the full validation framework rather than inheriting the prior launch decision.

For each later run, record:

  • action date and configuration used;
  • the actual source-data time window or records processed;
  • earlier evidence reopened by that activity;
  • accepted target-side changes that must be preserved.

Name the records and rules actually touched, including earlier records updated or processed again. An unchanged configuration does not establish a newly-added-only window.

Compare the combined earlier and later result, preserving accepted target-side changes where required.

Reopen dependent evidence when changed records affect:

  • variant and location identity;
  • collection conditions;
  • company context;
  • historical Order links;
  • priority URLs;
  • custom-data consumers.

A completed run does not inherit a prior Pass.

For operational checks after a run, see validate results after a migration action.

Build the Shopify Launch Decision

Group findings by owner and severity. For each Block or Watch, record:

  • Impact: affected records/relationships and business impact.
  • Treatment: responsible owner, correction path or accepted treatment, and any correction made.
  • Retest: repeat-test evidence and revised Pass, Watch or Block.
  • Watch control: owner and due date or an explicit acceptance decision.

A Block stays open until repeat testing demonstrates the agreed result. Reopen an accepted Watch if its impact becomes material or later changes invalidate its evidence.

Shopify should be approved for launch only when:

  • no unresolved Block affects buying, Customer access, historical Order use, inventory, fulfillment, SEO, compliance, or agreed scope;
  • representative and broader migration evidence are both complete;
  • historical data and live Shopify configuration have separate owners and approvals;
  • migrated and separately implemented outputs are proven against scope;
  • later migration activity has received the appropriate revalidation;
  • accepted Watch items are documented and controlled.

Conclusion

A Shopify migration validation decision must show that accepted data and relationships work, not just that records exist. Keep correction and retest evidence with each finding.

Approve the representative test, broader run and later activity separately. Once those outcomes and live configuration have their own approvals, the operational owner can complete the launch readiness checklist.

Common Questions

Is matching Shopify record counts enough for approval?

No. Counts can reveal missing volume, but they do not prove variant relationships, collection membership, Customer-to-Order associations, inventory ownership, redirect intent, or custom-data usability.

Which Shopify Products should be validated first?

Start with best sellers, variant-heavy Products, records with distinct SKUs or inventory, restricted Products, Products using metafields or apps, and Products that expose known source-model exceptions.

Does a passed Representative Test prove the Broader Migration will pass?

No. Representative testing proves selected structural assumptions. Broader migration execution must also prove completeness, edge cases, relationship integrity, exception handling, and changes that occurred after the representative sample was created.

Do migrated Orders prove Shopify checkout is ready?

No. Historical Orders prove past transaction readability. Live checkout, payment, tax, shipping, fraud, notification, and fulfillment behavior require separate Shopify configuration and testing.

How should migrated and separately implemented outputs be validated?

Compare the delivered records and transformations with the agreed scope, then test representative and exception cases through the Shopify workflow that consumes the output. Validation should prove delivery quality without silently changing the documented migration approach.

What happens after a later migration action?

Revalidate touched records and dependent assumptions, including earlier records updated or processed again. Compare the combined earlier and later result and preserve accepted target-side changes where required.

An unchanged configuration does not establish a newly-added-only window; revised configuration can widen review, and a distinct migration result requires its own full validation decision.

Must Shopify B2B evidence be tested only on Plus?

No. Shopify B2B is available on Basic, Grow, Advanced and Plus with different feature boundaries. Record the actual plan and Markets setup.

B2B catalogs on Basic, Grow and Advanced require new Shopify Markets.

Test company-location access, applicable catalogs, prices and quantity rules that the store uses.

Direct company-location catalog assignment requires Plus; native availability still does not prove that those relationships were included in the accepted migration scope.