We've moved 500+ stores from Shopify onto LOAM in the past three months. The migrations team has notes. Here's what surprised us most, and the three migration gotchas that trip people up if they don't plan for them.
The biggest surprise
Most merchants expected the catalogue migration to be the painful part. It's not — our agent re-merchandises products from the source data automatically, so SKUs, variants, images, and metafields all come across cleanly.
The painful part is theme parity. Shopify themes are stateful, full of liquid template logic, with custom sections per merchant. We can't 1:1 port a theme; we re-generate the storefront from your brand assets. ~90% of merchants prefer the new storefront after a week. The other 10% need their old custom sections rebuilt as LOAM design tokens.
Three things that go wrong
1. URL preservation. Old Shopify URLs (/products/foo, /collections/bar) need
to redirect to the new storefront's URL structure. We do this automatically via a
generated redirect map, but if the merchant has custom routes (/specials/foo etc.)
they need to be added by hand.
2. Apps with hard-coded webhooks. Subscription apps, review apps, loyalty apps — many register Shopify-specific webhook URLs that won't fire after migration. We maintain a compatibility layer for the top 50 Shopify apps, but the long tail needs manual reconfiguration.
3. Inventory sync windows. During the cutover, both platforms can take orders simultaneously for ~5-15 minutes depending on DNS propagation. We handle this with a unified inventory layer that holds stock during the cutover window, but high-volume merchants should still pause incoming orders for ~30 minutes around the switch.
What's next
We're shipping a self-serve migration tool next month — paste your Shopify store URL, authenticate, get a draft LOAM store with everything migrated within ~10 minutes. No more emailing the migrations team.