Shopify preparation should convert the Source Store into a set of clear, evidenced decisions before any migration run begins. The goal is not to redesign the entire storefront in advance, but to identify how important Products, variants, collections, Customers, Orders, content, URLs, apps, metafields, metaobjects, Markets, and external identifiers should be represented in Shopify.
A useful preparation package answers four questions for every important data area: what must be supplied, who owns the decision, what evidence supports it, and what condition makes the area ready. This prevents the representative migration test from becoming the first time the team discovers that a source option is really a custom Product input, a Category is actually a campaign page, or a Customer group depends on an external wholesale system.
Establish the Shopify Target Decisions
Before collecting files, define the Shopify structures that will receive the important source relationships. The decision record should identify the intended Shopify owner for every important source relationship.
| Preparation area | Decision to record | Owner | Ready evidence |
|---|---|---|---|
| Product structure | Which source records become Products, variants, metafields, metaobjects, tags, or app-owned records | Catalog owner | Approved mapping examples for each major Product family |
| Catalog organization | Which source Categories become manual or automated collections, navigation links, filters, landing pages, or redirects | Merchandising and content owners | Collection and navigation outline with representative source paths |
| Customer continuity | Which account, tag, tax, wholesale, loyalty, subscription, or external CRM relationships must remain usable | Customer operations | Customer relationship inventory and account-access communication plan |
| Order history | Which Order statuses, line details, refunds, notes, and external references staff must retain | Operations and support | Historical Order sample list and field-meaning notes |
| International structure | Which countries, languages, currencies, domains, subfolders, localized content, and market-specific records matter | International owner | Market and domain matrix |
| Custom data | Which source custom fields become Shopify metafields, metaobjects, app records, content, or exclusions | Catalog and technical owners | Field inventory with destination owner and continuing consumer |
Do not use record counts as the main readiness signal. Counts describe volume; they do not decide whether a source option should become a Shopify variant, whether a bundle remains an app-owned relationship, or whether a regional Catalog needs separate Shopify Market and content decisions.
Prepare Store Access and Source Evidence
Prepare the source and Shopify access needed to retrieve, interpret, and preserve the in-scope records. The package should be usable by someone who did not configure the Source Store and should not depend on undocumented staff knowledge.
Collect:
- administrator access to the Source Store and Shopify Store at the required permission level;
- recent exports or reports for Products, Customers, Orders, Categories, content, reviews, discounts, and other in-scope records;
- Product media files when source URLs are temporary, protected, or unreliable;
- current domain, subdomain, language-folder, and regional URL lists;
- app and integration inventories, including the business owner and external-system owner;
- source field definitions for custom attributes, option sets, group rules, and external identifiers;
- examples of records that staff consider commercially critical or unusually complex;
- a dated source snapshot and a note identifying data that can still change before the migration window.
| Evidence item | Why it is needed | Ready condition |
|---|---|---|
| Source access | Allows the source meaning to be checked against the live administration context | Access works and the required data areas are visible |
| Shopify access | Allows destination settings and record ownership to be confirmed | Required permissions are available without sharing personal credentials informally |
| Export archive | Preserves a reference copy of the source state | Files open correctly, include expected records, and carry an export date |
| Custom-field dictionary | Explains labels that are otherwise ambiguous | Every important field has a purpose, owner, and sample value |
| External-ID list | Protects ERP, PIM, CRM, WMS, marketplace, or accounting continuity | Each identifier is linked to the correct Product, variant, Customer, or Order level |
If an export omits important application records, document that gap rather than assuming the records do not exist. A missing app export, protected media source, or undocumented custom table is a readiness issue that needs an owner.
Prepare Products, Variants, and Custom Catalog Data
Shopify Product preparation should distinguish real sellable combinations from descriptive information, buyer-entered values, merchandising relationships, and external-system data.
Create a Product-family inventory that covers:
- simple Products with one sellable configuration;
- Products with multiple options and variant-level SKU, barcode, price, inventory, weight, image, tax, or fulfillment differences;
- Products whose source option combinations should be consolidated, split, or retired;
- bundles, kits, subscriptions, preorders, warranties, and other purchase-option behavior;
- personalized Products that collect text, files, dates, measurements, or conditional choices;
- Products with technical specifications, compatibility tables, size guides, documents, or structured reference data;
- Products whose content or availability changes by region, channel, or Customer type;
- Products synchronized with an ERP, PIM, warehouse, marketplace, or supplier feed.
For each family, prepare an example mapping sheet:
| Source behavior | Shopify preparation decision | Evidence to attach |
|---|---|---|
| Choice creates a distinct SKU or stock unit | Define the intended Product and variant relationship | Source parent/child IDs, option values, SKU, inventory, price, and image examples |
| Value describes the Product | Define a metafield, metaobject, Product content, or other structured destination | Field purpose, data type, allowed values, and display owner |
| Customer enters a one-time value | Identify the Product input, app, or line-item relationship that will own it | Storefront example and historical Order-line example |
| Product is a bundle, subscription, or configurable set | Identify the application or target structure that owns the behavior | Component list, price logic, inventory owner, and sample Orders |
| Value is used only by an external system | Preserve it at the correct Product or variant level | External-system name, uniqueness rule, and sample lookup |
Normalize option and attribute names before they become Shopify structures. Decide whether “Colour,” “Color,” and “Finish” are one controlled concept or intentionally different concepts. Remove values that are obsolete, inconsistent, or created only to work around the source platform.
Prepare Collections, Navigation, Markets, Content, and URLs
Source Categories rarely map one-to-one to Shopify collections. Prepare a classification of every important grouping and route.
| Source structure | Preparation question | Ready evidence |
|---|---|---|
| Permanent Category | Should it become a manual collection, automated collection, or another destination? | Collection rule or Product-membership example |
| Menu-only grouping | Does it belong in navigation rather than Catalog classification? | Intended menu hierarchy and destination links |
| Campaign or seasonal group | Is it a temporary collection, landing page, promotion, or retired route? | Campaign owner and retained/retired decision |
| Filter value | Should it use Product category, option values, metafields, or app-managed search data? | Controlled value list and filter owner |
| Regional route | Which Market, domain, language, currency, and localized content relationship applies? | Market and URL matrix |
Prepare an inventory of Products, collections, CMS Pages, Blog Posts, policy pages, guides, and active campaign pages. For each priority route, record the source URL, intended Shopify destination, content owner, localization requirement, and redirect requirement.
Include:
- high-traffic and high-revenue Product URLs;
- Category and brand landing pages with backlinks or paid-media value;
- CMS Pages and Blog Posts that support trust, SEO, or Customer service;
- localized or regional paths;
- discontinued Product routes that need a relevant replacement;
- internal links embedded in descriptions, Blog Posts, pages, and navigation;
- files, documents, and images referenced by source content.
The ready condition is not “all URLs exported.” It is that every priority source path has a defined Shopify destination or an intentional retirement decision.
Prepare Customers, Accounts, and Historical Orders
Customer preparation should distinguish identity from the applications and rules connected to that identity. Prepare samples for registered Customers, guest buyers, multiple addresses, tax treatment, tags or groups, B2B relationships, loyalty, subscriptions, memberships, and external CRM references.
Do not assume source authentication credentials can be reused in Shopify. Prepare the Customer communication and account-access approach that the business will use when migrated Customers need to access the new Store.
For Orders, prepare examples that expose historical complexity:
- paid, pending, canceled, refunded, and partially refunded Orders;
- partially fulfilled and multi-shipment Orders;
- Orders with discounts, gift cards, store credit, taxes, duties, shipping adjustments, or manual changes;
- Orders containing custom Product inputs, bundles, subscriptions, or application-owned line data;
- Orders linked to marketplaces, ERP, accounting, fulfillment, support, or CRM systems;
- Orders from each priority market, currency, or storefront.
| Preparation item | Owner | Required evidence | Ready condition |
|---|---|---|---|
| Customer identity rules | Customer operations | Duplicate-account examples and external IDs | Merge, retain-separate, and guest-handling rules are documented |
| Account access | Customer experience | Communication draft and responsible team | Staff know how returning Customers will regain access |
| Customer classifications | B2B, tax, loyalty, or CRM owner | Group/tag examples and related business rule | The destination owner of each classification is defined |
| Historical Order meaning | Support and finance | Representative Order packet | Lines, adjustments, statuses, refunds, and references are explained |
| Sensitive data scope | Legal or data owner | Approved field list | Unnecessary or unsupported personal data is excluded |
Inventory Apps, Integrations, and External Dependencies
Create one dependency register for every app, source extension, script, custom field group, automation, webhook, and external system that changes Product, Customer, Order, pricing, content, or fulfillment behavior.
For each dependency, record:
- business purpose;
- record types created or modified;
- parent Shopify or source records involved;
- data owner and technical owner;
- export or API availability;
- external identifiers used for reconciliation;
- whether the dependency will continue, be replaced, or be retired;
- data that must exist before the replacement can be configured.
Priority dependencies commonly include reviews, search and filtering, subscriptions, bundles, loyalty, B2B, Product customization, tax, shipping, payments, marketplace listings, ERP, PIM, WMS, CRM, accounting, analytics, and consent systems.
The register is ready when every commercially important dependency has a named target owner. “The app handled it” is not sufficient evidence.
Select Representative Migration Test Samples
The representative migration sample set should reveal the important Shopify preparation decisions without attempting to represent the whole catalog. Select records deliberately and attach the expected ownership notes.
| Sample | Preparation purpose |
|---|---|
| Simple Product | Establish the ordinary Product, collection, image, and inventory pattern |
| High-variant Product | Expose option naming, variant identity, images, stock, and external IDs |
| Structured-content Product | Expose metafield or metaobject requirements |
| Personalized or app-dependent Product | Expose Customer input or application ownership |
| Priority collection and URL | Expose grouping, navigation, content, and redirect decisions |
| Complex Customer | Expose addresses, classifications, external IDs, and account-access planning |
| Complex historical Order | Expose line details, discounts, fulfillment, refunds, and external references |
| Localized or market-specific record | Expose language, domain, currency, and regional content scope |
For every sample, provide the source record ID, source URL where relevant, business reason for selection, expected Shopify owner, related external IDs, and known exclusions. The ledger is ready when every selected record has a source expectation, related identifiers, known exclusions, and a named reviewer.
Complete the Shopify Readiness Gate
Use a final preparation gate before the migration run is scheduled.
| Readiness question | Required evidence | Ready condition |
|---|---|---|
| Is required access available? | Access log and responsible contacts | Required source and Shopify areas are accessible |
| Are Product families classified? | Product-family matrix | Each important Product pattern has a destination owner |
| Are collection and URL decisions complete? | Route inventory and collection outline | Priority routes have destinations or retirement decisions |
| Are Customer and Order samples explained? | Customer and Order evidence packet | Historical and account relationships are documented |
| Are apps and external systems inventoried? | Dependency register | Every important dependency has a continuing owner |
| Are source backups and exports current? | Dated archive and checksum or file list | Source evidence can be recovered independently of the live Store |
| Are representative migration samples selected? | Sample ledger | The set covers ordinary and exceptional records |
| Are unresolved items owned? | Decision log | Every open item has an owner and due date |
The migration is preparation-ready when no critical Product, Customer, Order, URL, or integration decision depends on undocumented assumptions. The final review should also confirm that the evidence package is understandable outside the team that built the Source Store. If a decision relies on one person remembering how an old app or field worked, record that knowledge before the migration run is scheduled.
Conclusion
Shopify preparation should produce a practical evidence package rather than a generic checklist. Products and variants need defined ownership, collections must be separated from navigation and URLs, Customer identity must be separated from account and application behavior, historical Orders need representative evidence, and every app or external identifier needs a continuing owner.
When those decisions are documented before the representative migration test, the migration team can evaluate the intended Shopify representation instead of discovering the target model from isolated migrated records.
Common Questions
Which Shopify preparation document should be created first?
Start with the target decision map for Products, collections, Customers, Orders, content, Markets, apps, and external systems. It determines which exports, samples, and owners are required for the rest of the preparation package.
How many Products should be selected for representative migration test preparation?
Use the smallest set that covers every important Product pattern: simple, variant-heavy, structured-content, personalized, bundled or subscription-based, localized, and externally synchronized. Coverage of behavior matters more than a fixed number.
Should all source custom fields become Shopify metafields?
No. Some values belong in metafields or metaobjects, while others belong in Product content, variants, apps, external systems, or deliberate exclusion. Classify the field by purpose and continuing consumer before choosing a destination.
What Customer account information needs special preparation?
Prepare identity rules, duplicate-account handling, address examples, Customer classifications, external IDs, and the communication approach for returning Customers. Do not assume source login credentials can simply be reused.
What should be included in the Shopify URL inventory?
Include priority Product, collection-equivalent, CMS Page, Blog Post, policy, campaign, localized, and externally linked routes. Each should have an intended Shopify destination or an explicit retirement decision.
When is the Shopify preparation gate complete?
It is complete when required access works, source evidence is recoverable, important records have documented destination owners, representative migration samples cover the real complexity, and every unresolved item has an accountable owner.