hey squad
shall we settle in?
Strategy

Headless e-commerce agency in Belgium: my review, ten years after finding it too expensive

A 90-minute first leg: FC Headless takes on its greatest rival, AC Classic Theme. With the Union Saint-Gilloise case, led by the agency Epic, my Belgian example.

Isometric pixel art in the style of a 1990s football video game: kick-off at the centre circle, eleven players in yellow and blue facing eleven in grey, referee in black, packed yellow-and-blue stands under floodlights.
Isometric pixel art in the style of a 1990s football video game: kick-off at the centre circle, eleven players in yellow and blue facing eleven in grey, referee in black, packed yellow-and-blue stands under floodlights.

Ninety minutes, two teams. On the right, the native theme, on the left, headless: it is the yearly derby, and it is time to break the whole match down. In the stands, the commentator who knows both camps and referees nothing: I watch, I count the goals, I tell you what I see. The question of these 90 minutes fits on one line: is headless e-commerce worth what it costs? The pitch answers, minute by minute, half-time and stoppage time included.

I first priced it around 2017. We closed the quote. Too expensive. Ten years later, I spent several months behind the scenes of a headless build made by a Belgian agency for a football club, on the consulting side. The price has not come down. My opinion has.

1 · Kick-off: the confession of a marketer who always found headless too expensive

It is true, and I still think so.

Twice in my career we ran the study. Twice we said no.

The first time, ten years ago, as an intern at MacManiack. I was too young, not experienced enough to defend a project of that size, and nobody around the table was either. Folder closed ten minutes after the agency's proposal landed.

The second, four years ago, running a phygital e-commerce: the online sales of a multi-brand clothing retailer in Wallonia, backed by ten stores. Two in-house developers, a fully customised PrestaShop, a home-grown ERP built for the business, and a loyalty club that had to talk to the shop. No module did it, we built the integration by hand. Every PrestaShop update was a building site: supervising the team, testing, a heavy migration at every version, errors without end. Headless came up on the corner of a table, we ran a rough technical estimate, we stayed with what we had.

Same three reasons both times. Too expensive. Too technical. Too dependent on an agency or a specialist you cannot replace overnight. That is where I learned what a layer of custom code really costs: the bill for the four years that follow the quote.

Since then, whenever someone mentions headless, I read the project through three questions. How much does it cost? How much does it bring in? How fast? Headless does badly on the second one, and let's say it straight away: at the start, it brings in almost nothing measurable. These are not two versions of the same site, they are two ways of working. A brand that holds together across all your tools is a baseline, not an advantage; it is worth what you decide to make it worth, and that worth shows up on no line of a P&L for a while. Anyone looking for a twelve-month return is on the wrong building site.

It does badly on the first one too, and for a simple reason: you build your storefront from a blank page. A theme comes finished, you change the colours, the images and the words. A bespoke front end means designing then coding every page, every product sheet, every step of the basket, every error state, every screen on a phone. Everything Shopify gives its themes for free gets rebuilt, and re-tested.

Hence the price, and hence what follows: someone has to stay. Not full time, but available, because the day a technical dependency updates, an API changes, a page breaks, nobody in your company will know how to fix it. That is the real cost of headless: a permanent dependency on whoever built it. Meanwhile, the money going into architecture is not going into media.

For years, my conclusion fitted in one sentence: headless is a developers' project funded by marketers who never asked about the return. 3rd minute, 1-0 to the native theme. A shin-scuffed goal, ugly, a bit lucky, but valid, and the price argument alone justifies it.

Seen from below, at project scale, headless is still expensive. Seen from above, over five years, it is the only frame that does not lock the brand in.

Pixel art: a locker-room tactics board, green pitch split in two by an ivory line, a shop window with a mannequin on the left, crates and a cash drawer on the right, arrows crossing the line both ways, a yellow-and-blue scarf hanging beside it.
The storefront on one side, the engine on the other. Between them, passes both ways.

2 · 15th minute: what headless e-commerce is, and its technical skills

1-0, play on. Tactics board. Headless means exactly that, no head, which is a problem for a team and a game plan for an e-commerce. The head is the storefront: the pages, the journey, the design. In classic e-commerce, that storefront is welded to the engine that manages catalogue, stock, orders, customers and payment. A Shopify theme, a PrestaShop, a WooCommerce is a single block. Headless cuts that block in at least two.

On one side, the engine, known as the back end. It keeps everything that runs the shop: products, prices, stock, orders, customer accounts, payment funnel. On the other, the storefront, the front end, built freely with whatever framework or CMS the team masters. Between the two, an API, an application programming interface. It is the midfield: nobody watches it, everything goes through it, ask Modrić. The front end asks "give me this product, its price, its stock" and the engine answers with raw data, no ready-made page. The front end alone decides the shape.

In practice, a headless Shopify looks like this. Shopify stays the engine, with its native payment funnel (the checkout) that nobody rewrites. The front end lives elsewhere, on a modern framework (a developer's toolbox) or an editorial CMS, hosted wherever the team decides. At payment time, the customer switches to the Shopify funnel without noticing. The payment is proven, the storefront is free.

What it brings, compared with a classic theme:

Criterion

Native theme

Headless

Time to launch

A few weeks

Several months

Initial cost (Belgian SME)

€10k to €20k

€60k to €100k

Design and journey freedom

Bounded by the theme

Total

Speed

Good if the theme is clean

Very good if the team is good

Marketer autonomy

Native in the admin

To be built into the project

Maintenance

Carried by the vendor

Carried by the front-end team

Third-party tools

Plugged in as apps

Orchestrated by the front end

Brand world

The theme's, reworked

Yours, on every surface

The two lines that matter are the last two in the table. One engine, several storefronts drawn by you: brand consistency and data consistency no longer depend on whether apps happen to be compatible. It is almost like building a football team: every tool in its position, for its own qualities, in a collective held together by the coach, the project lead or the e-commerce manager. The Galácticos 2.0, the 2009 to 2018 side, won what the first ones never did: just as many stars, but a Florentino Pérez who had learned his lesson, a midfield that wins the ball back and a team that defends together. Equaliser in the 15th minute, 1-1.

3 · 30th minute: three market shifts, one architecture in four building blocks

1-1, and the scoreboard stops there. What changes here is how high the team presses: three market shifts push the lines up, and the match is no longer played in the same zone. Nobody scores, everybody will have to play differently. Let's break it down.

First: the platform has become infrastructure. Shopify has won the platform battle on the brand and direct-to-consumer segment in Europe. Payment funnel, taxes, multi-market, B2B, the transactional base is settled. The tool question is settled. What remains is what you build on top. The Liège market is not there yet. In our Liège e-commerce study 2026, out of 579 e-shops measured one by one, 78% run on WooCommerce or PrestaShop and Shopify weighs 7%. Two open-source platforms to maintain yourself, technical debt piling up while the market moves to hosted platforms. I have been on that side.

A side note for Odoo fans: the ERP is excellent, its e-commerce module convinces me less, a bit like a goalkeeper played up front because he is tall. Headless is precisely what lets you keep Odoo at the back with a site that sells at the front.

Second: data is leaving the browser. Historically, it was the visitor's browser that told Google or Meta a sale had happened. That no longer holds: between cookie refusals, Safari's protections and ad blockers, a share of your sales is never reported. On the accounts I run, browser-side measurement routinely loses a quarter to a third of conversions, so you steer an advertising budget on a false number. The answer is called server-side tracking: your server, not the browser, reports the sale.

Headless does not hand you that measurement, it makes it necessary. By separating your storefront from Shopify's payment, it creates a border the data has to cross without getting lost: the visitor browsing your site and the one paying must stay a single person in your figures. Nothing forces you to move everything server-side, plain browser events do the job for whatever is not critical. On a native theme that work exists too, it is simply left more often to apps. The mechanics are detailed in GA4, server-side and first-party measurement in 2026.

Third: commerce is becoming agentic, and that is the break many underestimate. Agentic commerce is a purchase negotiated and triggered by an AI agent on the customer's behalf. Shopify launched Agentic Storefronts in December 2025 and switched it on by default for its eligible merchants on 24 March 2026. Shopify Catalog structures the catalogue and pushes it to ChatGPT, Microsoft Copilot, Google AI Mode, Gemini and Meta, with no app and no extra transaction fee. A nuance that matters for a Belgian brand: it is switched on for eligible merchants selling to US shoppers, and buying stays limited to that market. Europe will follow, a matter of months rather than years, and those who have prepared their data will benefit first.

Concretely, an agent will read your catalogue and trigger the purchase without going through your product page. What decides then is the structure of your data and the trust in your brand; the colour of the button no longer counts. That is the thesis of your product catalogue is your best SEA, SEO and AI asset, pushed one step further.

If those three shifts are right, the target architecture for a brand that builds fits in four building blocks:

  • Shopify as the engine: catalogue, payment funnel, B2B, native agentic commerce.
  • A unified customer account: one profile that follows the person across the website, B2B, the store and, tomorrow, the agents.
  • A server-side data layer: reliable measurement, attribution you can defend in front of a CFO, direct feeding of the media platforms.
  • A decoupled front end: the brand journey built for the brand, free of a theme's limits.

Headless is the fourth point. It only makes sense if the first three are in place or budgeted. Going headless for a pretty front end, without a data layer or a customer account, is buying a body without an engine. The score has not moved, 1-1. But the lines have moved up: the platform no longer makes the difference, it has become the pitch everyone plays on. What is contested now is what you build on top of it.

Pixel art: dressing room at half-time, four yellow-and-blue players sitting on benches, a coach standing in front of a blank board, orange slices on a tray, a clock without digits on the wall.
Half-time. The board is blank on purpose: this is where you look at what does not work.

4 · Half-time: the five cases where I say no to headless

44th minute, native theme goal, 2-1 at the break. The counter comes from a mismatch: only specialist agencies really sell headless, the ones that build a whole brand experience. They are good, that is the problem. They sell nothing else any more, and they field the first team for a match that does not call for it. The quality is there, so is the invoice, and you are the one paying it. Here are the five cases where I say no. Half-time runs long, the coach has things to say.

Tight budget. Headless is a 55-million signing: everyone talks about the fee, nobody about the wages. Market orders of magnitude are at the end of this article, two lines. What kills a tight budget is what follows: a front-end team, dependencies to maintain, deployments, every month. If your annual e-commerce budget cannot absorb that recurring load, the answer is no. A well-configured Shopify theme will do 90% of the job.

You want fast and cheap. Launch in a few weeks, simple catalogue, one language, one market. Headless is a mistake. You are paying for complexity to solve problems you do not have.

Your current performance is not the problem. I have seen native Shopify themes beat headless architectures on Core Web Vitals (Google's speed indicators) and on conversion rate. A badly executed headless is slower than a clean theme. The speed promise depends on the team that builds. I have seen native themes do the job like Greece in 2004: nobody enjoyed it, everybody lost to them. If your site converts properly and your limit lies elsewhere (acquisition, offer or margin), headless will not move your revenue. Look first at the margin cascade rather than ROAS.

Your in-house team, and what you cannot decide alone. If you have developers in house, headless puts them in front of a choice, and you in front of a dilemma that is human as much as financial. Either they take an interest, build the skills and take over in time, and the agency becomes temporary reinforcement. Or they assist the agency without ever owning the front end, and you pay two teams for one site. Both are defensible, neither is settled in an article: it is decided with the people concerned, knowing what they want. What I can say is that an in-house team not consulted before signing becomes the project's first point of friction.

The test of the marketer who feeds the pages. A fifth no, quieter. A headless setup is also judged by the room it leaves to the person who will feed the site after launch. Creating a landing page for a campaign, changing a block on the home page, adding a seasonal collection. On a native theme, she does it alone in the admin. On a badly scoped headless, she opens a ticket, and the ticket moves at the speed of an 89th-minute substitution. I have been that person. It is the question I ask every time, and the one that hurts agencies most.

5 · Second half: the three cases where headless is justified

2-1 after the restart, and headless has to equalise.

Multi-tool. An ERP (the management software: stock, purchasing, invoicing), a PIM (the product database), a CRM (the customer database), an editorial CMS, a loyalty programme, a product configurator. Beware the misreading: this is not about stacking tools that do the same job. You do not run WooCommerce, PrestaShop and Shopify side by side, you pick the best for each role, and one per role. A coherent headless stack looks like this: Shopify to sell, a CMS for content, the ERP for management, a loyalty tool, a product search engine, and a front end that fetches the right data from the right place. That is exactly Union's setup, and we get there in twenty minutes of play.

What the quote almost always forgets: leaving the theme, you lose the ecosystem of apps that injected themselves into it. Customer reviews, upsells, loyalty widgets, promotion pop-ups, market banners. Each one has to be rebuilt or replaced. That is where budgets slip, not in the drawing of the pages.

Surfaces nobody draws for you. A business app, a showroom kiosk, a B2B portal, an editorial site that sells: on those surfaces your brand world only exists if someone builds it. There, decoupling stops being a luxury: it is the only way to serve the same content and the same customer account without redrawing the brand every time.

A journey built like a product. Not "a beautiful site". A non-linear discovery journey, content and commerce merged, personalisation grounded in data, interactions that help people understand the product. That level of demand exceeds what a theme allows, even heavily reworked. For brands selling a product with high perceived value, technical, personalised or high-end, the journey is a sales argument. Headless then becomes a brand investment.

Three cases, three passes, one goal in the 55th minute: 2-2. Headless comes back like Belgium against Japan in 2018, that nine-second counter where four players touch the ball and Lukaku lets it run between his legs. Everyone in position, including the one who chooses not to touch it. A football club, as it happens, ticks all three.

Isometric pixel art: a yellow-and-blue striker mid-volley at the edge of the box, the ball stretching the net, the grey goalkeeper diving too late, the yellow-and-blue stand behind the goal with arms raised, under floodlights.
The goal that puts them ahead, in the 70th minute. Months of preparation for a one-second strike.

6 · 70th minute: the Royal Union Saint-Gilloise case, by Epic

2-2, into the last twenty minutes. Union is yellow and blue, a stadium in a Brussels park, an identity you recognise from afar, and a shop whose home page says "L'Union, c'est l'amour", Union is love. Love, in e-commerce, still gets measured. Its supporter base has won over the country far beyond Saint-Gilles.

Seen from marketing, it is also a multi-service organisation selling to the same person. A merchandising e-shop, ticketing entrusted by nature to a third-party platform as everywhere in football, a news site that keeps the club alive between two matches. A point of sale at the stadium on match days, and logistics partners who ship. At the centre of all that, one person, the supporter, who has no wish to own four accounts.

That is why the case is so interesting for headless. Each service taken alone makes do with a standard tool. Together, they call for a common base: one catalogue, one customer profile, one data layer, and storefronts plugged into it one by one. The new Union Saint-Gilloise e-shop is the first of those storefronts. Epic built it headless: WordPress for content, Shopify as the engine for products, orders and customers, and in front of both a bespoke front end, cut for the club.

That WordPress deserves a pause, because it answers the question I asked at half-time, the one that hurts agencies most: who edits a page without opening a ticket? Here, the club does. It has its own editorial back office, it publishes on its own, and that is exactly why training its teams was part of the build rather than an afterthought. A headless setup that leaves control to whoever feeds the site is the difference between a project that lives and a project you put up with.

Logistics stays with the club's partners, driven from a single console. The same base can host other counters tomorrow: a stadium shop with its till and loyalty programme, so the supporter buying in the stands and the one buying online are the same person in the data. That is the advantage of a Shopify engine under a headless front end. A club also sells seats and tells its matches: I will let everyone picture the rest, it is not mine to announce. Headless goes ahead in the 70th minute, 2-3, and every surface plugs into the same supporter profile. In the stands, they sing. In the data, nobody gets counted twice.

The calendar showed no mercy. New e-shop, new kit supplier (O'Neills taking over from Nike), new collection, and a club team to train in the daily running of a shop while it was being built. All of it had to go live on the evening of the kit and sponsor presentation, the reveal, in front of thousands of supporters. No extra time. Months of preparation for an evening that plays out in a few hours, like a Zidane volley: the strike lasts a second, the career that lets you attempt it lasts twenty years.

The detail I keep is the shirt personalisation. Home or away, short or long sleeves, adult, child or goalkeeper, printing, number, size. Dozens of combinations, and the journey makes them clear in two steps: configure first, personalise next. The journey is worth a De Bruyne pass: it dribbles past nobody, it removes the obstacles and puts the supporter in position to finish, all the way to payment. Watch the replay, the shop is live.

The branding, design and development are Epic's work. Not mine. HeySquad came in as a consultant, mandated by Epic for what we know about Shopify and about selling clothing. Three subjects, not one more. How to organise a club catalogue so it stays readable when the collection doubles. Which Shopify calls to make, between the plans, the payment funnel and multichannel. How the club runs its own shop once alone at the controls, which ended in training its teams.

The catalogue we drove in code rather than by hand, with an AI agent: nothing exotic, it is how you handle hundreds of references without repetitive clicking. The front end is written by Epic, and rightly so. On measurement, together with them, we rebuilt GA4 and Google Tag Manager from scratch so the data follows the visitor from the front end to payment without getting lost. Never count the same supporter twice. The stands already sing loud enough.

My role: to challenge headless at every step, from the chair of the marketer who will have to feed the pages after delivery. Who edits a block without opening a ticket? The full story from the agency side is online, and worth the detour.

Screenshot of Royal Union Saint-Gilloise's e-shop: on the left, the Lifestyle menu opened above a photo of players in black tracksuits in the stands, on the right, a navy “Vintage Collection” panel showing two t-shirts worn around Brussels.
The result, live: the e-shop built by Epic. From the menu to the collection, one brand world, one base behind it. Best of all, go and browse it.

7 · 85th minute: method before stack, and the headless agency as assistant coach

85th minute, 2-3, no goal. This is the moment for method, and the moment the bench matters as much as the pitch: a headless agency is an assistant coach, it does not play for you and it changes the match. A headless project that starts with the choice of framework will go off the rails. Here is the order I defend.

  1. Brand workshop. Before any line of code: what the brand wants people to feel, for whom, and why that feeling sells. Without that answer, the journey has no brief.
  2. Data architecture. Catalogue, customer profile, measurement events. It makes the project steerable and compatible with agentic commerce. Everyone pushes it to the end; it is the most frequent mistake I see.
  3. A visual identity of the brand's own. A visual and editorial system rolled out across every surface.
  4. Technical execution. The four building blocks of the 30th minute, in that order. Only now.

That order is the one we apply in e-commerce strategy before talking to a developer.

HeySquad is not a development agency. We can code with Claude Code, we ship simple websites, but that is not our core business. Our ground is marketing and e-commerce. For a headless build that orchestrates several tools, you need an agency, and the choice of that agency weighs more than the choice of stack.

A successful headless build needs a team that masters three things at once: the brand, the modern front end, and Shopify's real constraints (API limits, payment funnel, B2B, multi-market). Those three skills in one structure are rare. I add a fourth criterion, my own: an agency that knows how to say no to headless when it is not justified.

If I had to choose a headless e-commerce agency in Belgium today for an ambitious project, I would work with Epic. I am not neutral, I worked on the Union project. I recommend them anyway, because what I saw from the inside holds. Epic followed that order, and two things on top: Shopify's constraints set before the first screen, and the data layer treated as a building site in its own right. They took my objections on the catalogue and on editing freedom without treating them as an intrusion. That is what separates a headless that impresses in a demo from a headless that lasts.

Isometric pixel art: final whistle, the referee at the centre with the whistle raised, yellow-and-blue and grey players shaking hands in a circle, stands emptying under floodlights, a blank scoreboard in the distance.
A draw. Each side scored on its own ground, and that is the fair score.

8 · Stoppage time: yes, it costs more, and here is what the quote does not show

Yes, and let's give orders of magnitude rather than multiples. A good multi-page e-commerce site for an SME sits between 10,000 and 20,000 euros. For headless, count on 60,000 to 100,000 euros. These are market trends and averages, not the price of your shop: your catalogue, your languages, your tools and your constraints move those figures both ways.

A note on method, while we are talking money. You write a specification, then you ask for an estimate. Never the other way round. A quote requested before you know what you want prices nothing: it offers what the agency knows how to build.

And that line is not the last one: after launch comes a maintenance and evolution budget, every month. That is what decides whether the project holds over three years, not the quote. Anyone selling you headless at the price of a theme is selling you something else.

The quote keeps quiet about the economy of scale. On a large project, every tool plugged in and every surface added reuse the catalogue, the customer account, the visual system and the data layer already built. The second storefront costs a fraction of the first, the third even less. An organisation that sets up three separate platforms, with three integrations and three drifting style guides, pays more over five years than a common base. Brand uniformity is what makes a supporter recognise the house, at the stadium as on their phone.

Headless pushed to the end, the native theme scores in the last minute. A simple goal, scrappy, no technique. It comes from what the build feels like to carry: a machine you unroll over months, support contracts to plan for, and the person who feeds the site ending up fenced in. With a WordPress behind it, as at Union, they publish, they change their words and their images. What they lose is the freedom to invent: they compose with the blocks built for them. On a theme, they installed an app, dropped in a section, tested an idea the same morning. 3-3, three arguments each.

A draw, and the fair score. We have lived through these situations, on both sides of the pitch, so let us say it plainly: the brand does not always win. Across from it sits financial reality, a budget that has to sell first, and a team that needs to move without waiting for anyone. For most e-merchants, a native theme remains the right answer. Starting with the Liège shops, which first need to climb out of their technical debt.

For a brand that wants to build a coherent world in the experience it offers its customers, online, in store or in between, it is the only way not to tell six different stories. A draw, then. We will see what the return leg gives. So, which team do you want to see lift the cup? If you are still torn between the two, book a call: we run your tools, your budget and your in-house team through the three yeses and the five noes, and you will know which side you are on.

FAQ

Frequently asked questions.

A shop whose storefront and engine are two distinct pieces of software, linked by an API. In use: the storefront fetches its data from the other tools in the house itself, without waiting for an app to bridge the gap. The framing happens in e-commerce strategy before any technical choice.

No. Decoupling gives you the freedom to be fast, nothing more. If your conversion rate is stuck, look for the cause in the journey first with a UX audit, before touching the architecture.

No, and the nuance matters for a Belgian brand: as things stand, you are not there. Since March 2026, it is eligible Shopify stores, those selling to US shoppers and listed in Shopify Catalog, that are exposed by default to AI assistants. Discovery and purchase both stay on the US market. What you prepare now is the cleanliness of your product data, and headless changes nothing there.

Keep Odoo for what it does well (stock, invoicing, accounting) and hand sales to Shopify, the two linked by an API. Odoo's e-commerce module is enough for a short catalogue with no brand stake; beyond that, it drags. In both cases, measurement is wired server-side, see tracking and measurement.

There is no universal threshold. Do the maths over three years rather than on the quote: add to the launch the developer months that follow, then compare that total with your media budget. If one eats the other, stay on a native theme.

Ask them to tell their last project in order. If they start with the framework, walk away. Then ask who, at their last client, publishes a page today without going through them, and in which cases they have refused a headless build. If they cannot name one, change agency.

Get it the day it drops.

1 article per month max. No spam, no product to sell. We write what we would have written without you.

By clicking, you accept the privacy policy. Unsubscribe in 1 click.