Migration Audit & Data Map
Field-by-field mapping of products, variants, customers, orders, blogs and metafields from source to Shopify, with a documented plan for everything that has no equivalent.
Migrations for Portland catalogues where the hard part is the spec data and the size-width matrix, not the theme.
Delivered remotely for brands across Portland and Oregon.
A Portland migration is rarely a design problem. It is a data problem wearing a design problem's clothes. Ten years of technical product data on Magento or WooCommerce arrives as free-text attributes, inconsistent width codes, three different ways of writing a fill weight, and material fields that were only ever meant for humans to read. Loaded straight into Shopify, all of that becomes unfilterable, and the store you paid for is worse at merchandising than the one you left.
So the mapping work comes first. Every attribute gets a decision: becomes a variant option, becomes a metafield with a controlled value list, gets normalised and merged, or gets dropped on purpose. Width codes get standardised. Sizes get one convention. Product families that were split across four legacy products because the old platform could not hold the matrix get consolidated so the reviews and links land on one page. Brands in this category routinely finish with a materially smaller SKU count and a better-merchandised catalogue.
Then URLs, which is where organic revenue actually goes missing. Legacy attribute and layered-navigation URLs, old blog paths, discontinued models that still rank for a spec query, warranty and manual PDFs that are linked from forums — all of it comes out of Search Console, Ahrefs and server logs and gets a target before cutover. Discontinued products are the Portland-specific trap: a 2016 boot that no longer sells still holds links and searches, and redirecting it to the homepage throws that away when it should go to the successor model or a retained spec archive.
The first is tax. An Oregon business has never collected a state sales tax at home, so tax configuration tends to be treated as a checkbox during migration when it is actually the moment to look at where your buyers are. Economic nexus is triggered by sales into other states, thresholds differ, and a replatform is when the historical order data is already in front of everyone — so it is the cheapest possible time to see which states you have been crossing. We will configure Shopify Tax against the registrations you have; the registration and filing calls belong to your accountant. The second is the subscription base. Roasters, clubs and consumables brands carry the migration risk that matters most, because payment tokens do not always travel between processors and a botched move turns a healthy recurring base into a mass of failed charges. We plan that as its own workstream with its own rehearsal, and we do not cut over a subscription programme in the same window as the storefront if the calendar allows separating them.
The same standard of work we run for every client — applied to a Portland brand’s realities.
Full service detailField-by-field mapping of products, variants, customers, orders, blogs and metafields from source to Shopify, with a documented plan for everything that has no equivalent.
Every indexed URL pulled from Search Console, Ahrefs and server logs, then mapped one-to-one. Anything without a target gets a decision, not a homepage redirect.
Deduplication, variant restructuring, image renaming and metafield normalisation. Most brands cut 15-30% of their SKU count in this step and lose nothing.
At least two full rehearsals into a staging store with an automated delta report on record counts, prices, inventory and customer tags before anyone approves the real one.
ERP, 3PL, ESP, reviews, loyalty, subscriptions and tax reconnected and tested against real orders in staging. Nothing gets reconnected on launch night.
Sixty days of daily crawl monitoring, index coverage tracking and 404 alerting, with a weekly report comparing organic sessions and revenue against the pre-migration baseline.
We do not work off a rate card. Every Portland engagement starts with a fixed statement of work — named deliverables, named dates, one number — written after we have looked at your store, not before. If a smaller first step would serve you better, we will say so.
Get this scopedWe inventory your data, integrations, custom logic and organic footprint, then quantify the risk in each. You get a fixed scope and a timeline before committing.
Source-to-target mapping for every field, plus catalogue hygiene work. This is the least glamorous phase and the one that decides whether the project succeeds.
Theme build runs in parallel with repeated dry-run migrations. Each rehearsal produces a delta report and a shorter list of exceptions than the last.
A rehearsed runbook with named owners, timed steps, a freeze window and a documented rollback. Executed at your lowest-traffic hour, not on a Friday.
Sixty days of crawl monitoring, redirect verification and revenue comparison. We stay until organic is at or above where it started.
Anonymised under NDA. Figures pulled from the client’s own analytics.
8-figure DTC brand, ~140 SKUs, US + CA · Shopify Plus (migrated from Magento 2)
Magento 2 cost $9k a month in hosting, extensions and emergency dev before a single feature shipped. Mobile LCP sat at 5.4 seconds and mobile converted at less than half the desktop rate across 68% of sessions. The named constraint: 11,412 indexed URLs and a top-3 organic position on their hero category, so a migration that lost rankings would cost more than the platform ever saved.
~$18M/yr wholesale, 6,400 SKUs, 900 trade accounts, US · Shopify Plus with B2B on Shopify (migrated from a custom .NET portal)
Ninety-one percent of orders arrived by phone, email or fax and were rekeyed into the ERP by four full-time staff. Order-entry errors ran at 3.8%, and every one of them meant a redelivery and a credit note. The named constraint: 900 accounts on 47 negotiated price lists with net-30 and net-60 terms. No account could ever see another's pricing, and nothing could break during the fiscal year-end freeze.
“Magento to Shopify Plus with 14,000 SKUs and a subscription base we could not afford to break. We took the usual dip for about three weeks and organic was back level by week five — that was the entire ballgame for me. One honest gripe: discovery ran three weeks past the SOW and I had to push to get the revised timeline in writing. Once the build actually started they hit every single date.”
Thirty minutes with the strategist who would actually run your account. We screen-share your store, read your data live, and tell you the three highest-value things we can see from the outside.
Prefer to write it out? [email protected] gets a real reply the same business day, Mon-Fri, 9am-6pm MT.