Headless storefronts the marketing team can still edit

Moving to a headless storefront usually means the marketing team can no longer change a page without a developer. We kept that ability.

Client
Two Scandinavian fashion labels
Sector
Fashion retail
Kind of work
Web

The situation

Two Scandinavian fashion labels moving to headless Magento 2 storefronts, with related work for a UK high-street stationery retailer. Marketing ran campaign pages every week and had always built them themselves.

What made it hard

A headless storefront normally drops Magento’s PageBuilder. That turns every campaign page into a developer ticket and a release.

What we did

  1. Built headless Magento 2 with a PWA storefront, and kept Magento as the single source of truth for price, stock and orders. The storefront shows; it never decides.
  2. Customised PageBuilder and brought it into the PWA, so the marketing team still builds pages by drag and drop.
  3. Mapped each PageBuilder block to a storefront component with a defined contract, so marketing cannot assemble a block the storefront does not support.
  4. Separated campaign publishing from the release pipeline, so a landing page goes live when it is ready.
  5. Kept the catalogue and checkout rendered on the server, for search engines and first-load speed.
  6. Ran one storefront codebase for both labels with their own themes, so a fix lands once.

Before and after

What made it hardWhat we built
Headless drops PageBuilderPageBuilder inside the PWA
Every campaign page a developer ticketMarketing edits pages directly
Pages wait for the release cycleCampaign pages ship on their own

What we would do differently

We first treated the PageBuilder integration as a feature rather than a contract, so early custom blocks drifted from the storefront’s components and needed reconciling. Defining the block-to-component mapping up front, as a contract the storefront checks, would have prevented it.

Built with

Magento 2 · PWA · PageBuilder

Ready to build something great?

Tell us what’s breaking, or what you need built. You talk to the engineer who does the work.