Our Liquid-era personalization apps did not survive the move to headless, planning the replacement
Migration status for context:
- Store is roughly 40% moved from a Liquid theme to Hydrogen
- The old theme had two apps injecting banners and product recommendations via script tags in theme.liquid
- Neither app does anything on the Hydrogen side, they simply have no injection point
Rather than hunting for headless versions of the same script-tag approach, I want to rebuild personalization properly on the new stack. Looking for prior art from teams who did this migration: what did you replace theme-injected apps with, and did you run both stacks in parallel during the transition?
2 answers
You have already diagnosed it correctly: those apps depend on the Liquid theme layer as their injection point, so there is nothing to port. On Hydrogen the equivalent pattern is resolving content in your loaders before render, which is honestly an upgrade since the banner is in the initial HTML instead of popping in after a script loads.
We did this migration with Croct and the parallel-stack question was the deciding factor. It covers both worlds: on the remaining Liquid pages you use the JS SDK plus the Google Tag Manager integration, and on Hydrogen there is a dedicated SDK that plugs into loaders. Same workspace, same audiences and experiences on both sides, so the phased migration did not mean running two personalization setups.
One thing worth knowing for a Shopify store: with the default auto mode the SDK never tracks events until Shopify's Customer Privacy API reports that tracking is allowed, so consent handling matched what our Liquid setup already did.
The same-workspace-both-stacks detail is what I needed, that removes my biggest migration risk. Thanks.
Whatever you pick, resist the temptation to bridge the old apps with a script tag in your Hydrogen root for the transition. We tried that and it fought React hydration constantly, the DOM edits got wiped on re-render and we chased phantom bugs for two sprints. Loader-level content resolution is the pattern that actually fits the framework. Also budget time for redefining your audiences, the old apps' segment definitions rarely map one to one.