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.
Shopware, JTL, OXID or WooCommerce to Shopify, with your German URLs, invoice archive and warehouse integration intact.
Delivered remotely for brands across Berlin and Germany.
German replatforms start from a different place than American ones. The store you are leaving is usually Shopware, JTL-Shop, OXID or a heavily-plugged WooCommerce, it has been running for years, and it is wired into an ERP or warehouse system that the finance and logistics teams depend on daily. The catalogue has accumulated attribute sets nobody remembers configuring. The URL structure carries umlauts, transliterations and both, sometimes for the same product. This is not a design project with a data step attached — it is a data project that ends in a storefront.
The two things that reliably go wrong are the same everywhere and worse here. Dropped URLs kill organic revenue quietly, and a German catalogue makes them harder to inventory because the same product may be indexed at a Muesli and a Müsli variant, under a legacy category path and under a Shopware SEO URL that was rewritten in 2019. The complete URL inventory comes out of Search Console, a crawl and server logs; we map it one-to-one and get the redirect file signed off before anyone touches DNS.
The second is record-keeping. German commercial and tax law requires invoices and order documentation to be retained for years, so an order history that migrates as a decorative list of past purchases is not enough — the finance team needs the underlying records to remain accessible and unaltered. We agree with your Steuerberater what stays in an archive of the old system versus what needs to be live in Shopify, and we write that decision down before the cutover rather than discovering it in the first month-end close.
Berlin brands that outgrew a hosted German platform almost always did so with an operational system attached — JTL-Wawi in the warehouse, a plentymarkets or Xentral setup running multichannel, a DATEV pipeline feeding the accountant. Those integrations are the actual scope of the migration; the storefront is the visible part. We map every flow first: how orders reach the warehouse, how stock returns, how invoices are generated and numbered, how returns and credit notes are posted, how the marketplace channels are fed. Then we rebuild each one against Shopify with retry logic, alerting and a daily reconciliation, and we test them against real order shapes in staging — including the awkward ones, like a partially-shipped order with a return on one line. Cutover happens on a rehearsed runbook in your quietest hour, which in Berlin is early morning European time and therefore late evening ours, and we staff that window deliberately rather than pretending the time difference does not exist.
The same standard of work we run for every client — applied to a Berlin 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 Berlin 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.