Fixed scope
Fixed price
against a written scope
- Written scope and acceptance criteria up front
- Fixed price against that scope
- Staged delivery with review points
- Change requests priced separately, never absorbed silently
We are a Shopify Plus Agency specializing in custom development, B2B, checkout extensibility, ERP/CRM integrations, and retained support for scaling brands.
Book a Free Consultation →Products, customers, orders, content and — the one everybody underestimates — every URL you have accumulated. A migration that drops rankings costs more than it saved, so the redirect map is treated as primary scope, not cleanup.
Every migration tool moves products. What breaks businesses is the long tail: option structures that do not map, historical orders, customer password resets, and ten thousand indexed URLs with no destination.
We inventory every indexed URL from your sitemap, analytics, Search Console and server logs, then map each pattern to a Shopify destination before launch — not after somebody notices traffic has fallen.
Anything with no natural destination gets a deliberate decision rather than a redirect to the homepage, which search engines treat as a soft 404 and which quietly wastes the authority you paid years to build.
See the process
Magento configurables, WooCommerce variations and custom attribute systems all model options differently from Shopify variants — and Shopify has real limits on option and variant counts that some catalogues exceed.
We find that in discovery, not during the cut-over. Sometimes the answer is a restructured catalogue; sometimes it is metafields and a bit of theme logic.
What moves and what does not
Supported APIs and verifiable data, not a one-click importer you cannot audit.
Large catalogues moved through bulk operations with reconciliation, so you can prove every record arrived.
Attributes that have no Shopify equivalent land in a typed schema rather than a rich-text blob.
URLs gathered from sitemap, analytics, Search Console and server logs, mapped by pattern, then tested as a full crawl against the staging store — so the map is proven rather than assumed.
Customer records with correct marketing consent, and historical orders imported for service history. Passwords cannot migrate from any platform — the account invite flow is planned and communicated rather than discovered on launch day.
ERP, PIM, 3PL, tax and marketing platforms reconnected through supported APIs, with the cut-over sequence written down.
Product, breadcrumb and organisation markup rebuilt on the new templates so rich results survive the move.
Data is one workstream of five. The others are what determine whether revenue holds.
Products, variants, collections, media, blogs and pages — with option structures mapped deliberately rather than flattened.
Customer records with consent state intact, and historical orders for support and reporting.
Every indexed URL inventoried, mapped and crawl-tested against staging before cut-over. Titles, descriptions, canonicals and structured data carried across. Search Console prepared so the change is visible from day one rather than diagnosed in month two.
A full rehearsal on staging, a delta sync for anything that changed since, a written cut-over runbook with owners and timings, and a rollback path that stays valid until the new store is proven. Launch day should be dull.
A new Shopify storefront built properly, rather than a pixel-copy of a design you were already unhappy with.
Crawl errors, redirect hits, rankings and revenue watched daily through the window where problems actually surface.
No migration is purely mechanical. These are the areas where somebody has to choose, and it is better that it is you, in discovery.
| Usually needs a decision | Migrates cleanly | |
|---|---|---|
| Products and media | — | Yes |
| Collections and categories | Rule logic often differs | Structure moves |
| Customer records | Passwords never migrate | Profiles and consent |
| Order history | Refund and edit history is limited | Orders for service history |
| Product options | Magento configurables, WooCommerce variations | Simple variant structures |
| URLs | Anything with no equivalent page | Products, collections, blogs |
| Reviews | Depends entirely on the source app | With an export |
| Subscriptions | Almost always a re-authorisation | — |
7 stages. Open any one of them.
Find the awkward parts early.
Catalogue structure, option modelling, integrations, URL inventory and anything with no Shopify equivalent. This is where a migration is won or lost.
Written down and agreed.
Field-by-field mapping, option structure decisions, and a pattern-based redirect map covering every indexed URL. Reviewed by you before anything is built.
A proper store, not a tracing.
The Shopify storefront built to the mapped data model, with integrations reconnected on staging.
The whole thing, on staging.
A full import, a full crawl of the redirect map, integration smoke tests and a reconciliation report you can read. Then we do it again after fixes.
A runbook, not an evening of improvisation.
Delta sync, DNS, redirects live, integrations switched, with owners and timings written down and a rollback path still valid.
When problems actually appear.
Crawl errors, redirect hits, rankings, conversion and integration failures watched daily, with fixes shipped the same week.
The migration was the floor.
Once traffic and revenue are stable, the work turns to what the old platform stopped you doing.
Three shapes, depending on how well defined the work is. Every one starts with a scoped written proposal — no work begins on a verbal estimate.
Fixed scope
Fixed price
against a written scope
Retainer
Monthly
block of hours
Time & materials
Tracked time
billed as used
Rates are quoted against a written scope rather than published as a tier, because the same service costs very different amounts on a five-template store and a five-hundred-template one.
Some catalogues migrate in a week and some take a quarter. The variable is almost always option structure and URL history, not size.
Moving products, variants, collections, media, blogs, pages, customers and order history onto Shopify through supported APIs and bulk operations, with the redirect map treated as primary scope rather than cleanup. Work runs in five streams: catalogue and content, customers and order history, SEO continuity, integrations, and a rehearsed cut-over with a rollback path.
Some fluctuation in the first weeks is normal on any platform change; sustained losses are almost always a redirect problem. That is why we inventory every indexed URL from your sitemap, analytics, Search Console and server logs, map each pattern to a Shopify destination, and crawl-test the map against staging before cut-over rather than after.
No — and neither can anyone else. Passwords are stored hashed on every platform and cannot be transferred. Shopify's account invite flow covers it, but it needs planning and a customer communication, which is why we raise it in discovery rather than on launch day.
Historical orders can be imported into Shopify for service history and reporting. What does not come across cleanly is the full refund, edit and fulfilment audit trail from the source platform — worth knowing if your support team relies on it.
WooCommerce, Magento, BigCommerce, PrestaShop, OpenCart and custom or in-house platforms. The source matters less than how the catalogue is modelled: a custom platform with clean data is easier than a Magento store with five years of attribute drift.
It depends entirely on your review app. Most have an export; some do not. We check this during discovery, because “we will sort the reviews later” usually means losing them.
Rarely without re-authorisation. Payment tokens are generally not portable between platforms or subscription providers, so most subscription migrations require customers to re-consent — plan the communications for it.
It scales with catalogue complexity, integration count and URL history rather than raw size. We scope first and quote against a written scope.
Usually, yes. Recreating a design you were already unhappy with is a wasted opportunity, and a migration is the cheapest moment to fix it — so the new storefront is normally built as part of the move.
Tell us what you are on now and roughly how many SKUs and URLs you have. We will come back with the parts that will be awkward, before you commit to anything.
Tell us what you are building and we will come back with a straight read on scope — including when the answer is that you do not need us.