CASE STUDY / 02
Shopware as the engine. Everything else, built.
Lizaria is a headless commerce platform: Shopware 6.7 handles commerce and administration, and a custom Nuxt 4 SSR storefront handles everything a customer ever sees. The compliance layer, analytics governance, AI assistance, support tooling and performance architecture were all engineered around it.
01 / The brief
Sell in five countries without inheriting a theme's limits.
Thirteen country and language combinations, under EU consumer and privacy law, with a storefront that is not constrained by Shopware's templating — and a compliance layer solid enough that the business can actually rely on it.
AT A GLANCE
THE STACK
- Commerce
- Shopware 6.7.2.2 · PHP · Symfony
- Storefront
- Nuxt 4 · Vue · TypeScript · Nitro SSR
- Data
- MySQL 8.0 · Redis 7.4
- Delivery
- nginx · Docker
02 / HEADLESS ARCHITECTURE
No Twig, no theme, no template ceiling.
Every page is a custom Nuxt application consuming Shopware's Store API — routing, navigation, category rendering, listings, account flows and Nitro server endpoints included. Shopware keeps doing what it is genuinely good at: products, orders, pricing and administration.








03 / THIRTEEN LOCALES
Country and language are different questions.
Country sets Shopware's context — VAT, shipping, payment methods. Language sets translations and the SEO path. Because product URLs come from Shopware's translated SEO records, switching language resolves the same product's slug in the target language rather than pasting a prefix onto the wrong one.

04 / SEO
Crawlable by construction.
One central layer owns titles, descriptions, canonicals, Open Graph, JSON-LD and robots directives. The sitemap is generated from Shopware across all thirteen locales with cross-language alternates and x-default, category navigation uses real anchors, and the rendered output is asserted in tests rather than assumed.
05 / PRODUCT & REVIEWS
Reviews allowed to be unflattering.
Only verified buyers can leave one, and reviews are never refused, edited or hidden for being negative — the storefront states it plainly and the Shopware moderation module is built around that rule instead of against it.



06 / CART & CHECKOUT
A checkout that survives a change of mind.
Guest and account checkout, address management inside the flow, delivery address switching and Mollie payments. Changing an address at step two costs you neither the basket nor your place in the flow.




07 / CONSENT & GDPR
Consent is a record, not a cookie.
The authoritative decision lives in Shopware with an append-only audit trail, because Article 7(1) asks the controller to demonstrate consent — and a record the visitor can clear from their own browser demonstrates nothing. Consent Mode v2, expiry, a provider catalogue and a visible consent history come with it, and IP addresses are pseudonymised with a per-environment salted hash rather than stored.



08 / GDPR REQUESTS
Articles 15 to 21, as a workflow.
Access, rectification, erasure, restriction and portability each have identity verification, a deadline, an export or pseudonymisation path, admin tooling, ACLs and rate-limited Store API endpoints. A data-subject request is a queue item with a clock on it, not an email someone has to remember.


09 / ANALYTICS
Seventy-two events that cannot quietly misfire.
Nothing calls GA4, Meta or GTM directly. Each event is declared once — consent requirement, payload rules, forbidden fields, deduplication — then passes consent checks, validation and PII redaction before dispatch. The admin module exists to catch the classics: duplicate GA4 tracking, misconfigured enhanced conversions, production traffic landing in Meta's test environment.

10 / AI ASSISTANT
Liza cannot quote a policy the shop no longer has.
Her facts about returns, delivery, payment and complaints are generated from the same company source as the sixteen legal documents, so the assistant and the terms cannot drift apart. The core assistant keeps working when optional consent is refused; conversation analysis is gated separately, and the AI disclosure is unconditional.


11 / SUPPORT
Tickets, replies and notifications in one loop.
A customer opens a ticket from their account — or Liza opens it for them mid-conversation — agents answer inside Shopware, and notifications close the loop on both sides. One thread, rather than an email chain nobody can find three weeks later.






12 / ACCOUNT
The unglamorous screens, done properly.
Login, registration, profile, saved addresses, orders, order detail and the wishlist. These are the pages customers actually return to, so they were built to the same standard as the ones that photograph well.





13 / ACCESSIBILITY
Measured, not claimed.
Automated WCAG 2.2 AA checks run at desktop and at 320px and 400% zoom, and a separate harness verifies that each of the seventeen accessibility preferences genuinely changes the rendered page. The current baseline carries no serious or critical violations; manual screen-reader and keyboard passes stay part of the process.
