
BAGGATTI PARIS: One Brand, Two Shopify Stores, One Headless Storefront
A Paris fashion house needed one editorial storefront selling into France and the US under two legal entities, each with its own currency, tax, and payout. A theme lives in one store, so we built a headless storefront that reads both.
Campaign, Spring / Summer 26

The House
Counter-couture, cut in Paris.
BAGGATTI PARIS is an avant-garde house: rockstar glamour, gender-fluid silhouettes, and leather finished in its own atelier, across boots, denim, leather jackets, and eyewear.
- Paris atelier
- Boots · Denim · Leather · Eyewear
- France & US
- Square Online to headless
Lookbook, Spring / Summer 26
Overview
One editorial storefront, two legal entities behind it
BAGGATTI needed one website selling into France (EUR) and the US (USD) under two separate legal entities, each with its own payout and tax. A Shopify theme lives inside a single store, so we built a custom Next.js storefront that reads both stores through the Storefront API and routes every shopper to the right entity. Every account sits in BAGGATTI's name from day one: the house owns the code, the hosting, and the data.
Who it serves
- Shoppers in France (EUR)
- Shoppers in the US (USD)
- One brand, two legal entities
- A team managing catalogue directly in Shopify
What we owned, end to end
The Challenge
One brand, but two stores a single theme could never span
Custom by necessity, not preference: one unified website had to run on two separate Shopify stores at once, one per legal entity.
Two legal entities, one brand
BAGGATTI PARIS and BAGGATTI US each have their own payout account and tax treatment. The shopper should never see the seam.
A theme lives in one store
A standard Shopify theme cannot read from two stores, which ruled out a theme from the start.
EU-correct by default
Consent-gated tracking, distance-selling-aware pre-orders, and FR / US localisation built in, not bolted on.
No dead ends across markets
A shopper switching markets must never hit a 404 for a product that only exists in the other store.
The constraint that made it custom
A Shopify theme lives inside one store. BAGGATTI needed one website across two.
System Architecture
One storefront, two stores, the right entity every time
One website reads live product data from two Shopify stores through the Storefront API. Market routing sends each shopper to the correct entity, currency, tax, and payout; checkout hands off to that store's hosted payment page. The front end deploys on Vercel.
One shopper, one domain
baggatti.com, with the US market served on a /us subfolder.
BAGGATTI PARIS · France
A Shopify store on EUR with French tax and shipping, settling into its own payout account.
BAGGATTI US · United States
A separate Shopify store on USD with US tax and shipping, settling into its own payout account.
Market routing and language
Each market resolves to the correct store; FR / EN follows the market with a manual toggle, and store-switch safety keeps every journey alive.
One custom Next.js storefront
Reads both stores through the Storefront API and renders one brand-consistent experience.
One site, correct entity per market
Checkout hands off to the right store's hosted payment page, so currency, tax, and payout are always right.
The /us subfolder is the luxury-house standard: SEO authority compounds into a single site instead of being split across separate domains.
The Stack
Twelve services, one storefront, every account in BAGGATTI's name
Each was created under the house's own business email from day one. No transfer step, no lock-in.
Next.js
Custom storefront framework
Vercel
Hosting and edge deployment
Shopify
Two stores, Storefront API, hosted checkout
Klaviyo
Notify Me back-in-stock flows, per market
CookieYes
EU / CNIL cookie consent
Cloudinary
Media delivery
Cloudflare
DNS and edge security
Resend
Transactional email for the enquiry form
Meta Pixel
Ad tracking, consent-gated
Google Analytics 4
Storefront-layer analytics
Google Search Console
Sitemap submitted at go-live
GitHub
Source code, client-owned
Logos are the property of their respective owners.

The Storefront
Designed in Figma, shipped to the pixel.
The design was the specification. What follows is the storefront the build was measured against, screen by screen.
Homepage film, design frame
Screen by Screen
Every surface, built to the design
Six storefront surfaces from the Figma file, plus two paid change requests quoted separately from the fixed Phase 1 scope and built to the same standard.
01 · Homepage

An editorial film hero, not a template
- Full-bleed campaign film with the season's statement
- Nav, market indicator, and FR / EN switch in the header
- Mobile-first, one design language on every breakpoint
02 · The collection

Leather jackets, denim, boots
- Three-tile collection entry for women and men
- Every tile driven from live Shopify collections
- Editorial crops, brand photography, no stock imagery
03 · Two stores, one switch

BAGGATTI PARIS (EUR) and BAGGATTI US (USD)
- A Deliver-to switcher in the header: France on EUR, USA on USD
- Language follows the market, with a manual FR / EN toggle
- Store-switch handling so no product route dead-ends
04 · Category pages

Filtering and sort that stay out of the way
- Breadcrumb, category title, and a one-line editorial intro
- Filter chips (all, women, men, biker, moto, aviator, shearling) plus sort
- Product count and Load More, so the grid never feels like a database
05 · Product detail

A buybox that sells the piece and states the terms
- Gallery, colour, material, and size with live stock hints
- Add to bag, wishlist, and express checkout for the right market
- Delivery window, returns, secure payment, and authenticity in one glance
06 · Search

Search that behaves like a stylist
- Popular searches surfaced before a letter is typed
- Suggested products, saved per market
- Synced to the account when the customer signs in
Change request 01 · Notify Me

Back-in-stock email capture, per market
- Email capture on unavailable products
- Powered by Klaviyo, wired per market
- Turns an out-of-stock dead end into a re-engagement
Change request 02 · Pre-order

Per-product pre-order, compliant by construction
- A per-product mode (Regular / Notify Me / Pre-order) the client sets in Shopify
- An expected delivery date shown before purchase
- Orders tagged for fulfilment, built to respect EU distance-selling rules
Engineering Judgement
Where the real decisions were
A headless build creates trade-offs a themed store never faces. Each was handled deliberately, and named honestly.
The challenge
Shopify's visitor counters cannot see a headless front end.
How we solved it
Analytics run at the storefront layer (GA4, Vercel). A deliberate trade-off, not a defect, and cleaner data for a custom front end.
The challenge
Switching markets could 404 on a product the other store does not carry.
How we solved it
Store-switch handling routes the shopper somewhere useful, so moving between France and the US never breaks the journey.
The challenge
EU visitors must not be tracked before they consent.
How we solved it
Meta Pixel and cookies fire only after marketing consent via CookieYes (CNIL-compliant). Correct for the EU by default.
The challenge
US SEO could have been split onto a separate domain.
How we solved it
The US runs on baggatti.com/us, the luxury-house standard, so search authority compounds into one site.
The challenge
EU pre-orders must state a delivery date before purchase.
How we solved it
Pre-order shows the expected date before checkout and tags orders for fulfilment: distance-selling rules satisfied by construction.
The challenge
Custom scope can sprawl.
How we solved it
A fixed Phase 1 scope with change requests quoted separately kept the build clean and the costs predictable.
The Journey
From landing to the right checkout, without a seam
What a shopper experiences, and which store answers at each step.
Land
baggatti.com, or /us for the United States.
Choose market and language
Remembered for next time.
Browse and filter
Women / Men, live from that market's store.
Add to bag
Slide-over cart, sticky on mobile.
Checkout
Shopify hosted payment for that entity, express supported.
Account
Orders, tracking, addresses, on baggatti.com.
Switch markets mid-journey and the storefront routes you somewhere useful, never a 404.
Live on baggatti.com
The catalogue, as shoppers see it
Real product photography from the live France store, served from two Shopify catalogues through one storefront.






Catalogue, pricing, inventory, and orders are managed by BAGGATTI directly in Shopify.
What Launch Delivered
A production storefront the house owns outright
No performance metrics yet: the store launched recently and campaign imagery is still landing. Every result below is a structural fact of the delivery.
One brand, one site, two Shopify stores, two currencies, and every account in BAGGATTI's name from day one.
Platform
Markets
Brand experience
Ownership
Search footprint
Compliance
Where this fits
The same architecture fits any brand that outgrows one store
One storefront reading multiple Shopify stores, with market-aware routing, whenever a single brand spans more than one store, currency, or legal entity.
A separate legal entity per country
One website, one brand, a Shopify store per entity, each with its own currency, tax, and payouts.
Wholesale plus DTC on separate stores
A single storefront that reads both, so one brand experience spans both business models.
Regional stores consolidated under one site
Several country stores unified behind one domain, with search authority compounding instead of splitting.
Moving off a page builder or basic store
A custom headless front end that keeps Shopify's checkout and admin while giving the brand an editorial experience it owns.
Common questions
What this project shows
Because a standard theme lives inside a single store, and BAGGATTI needed one website selling from two separate Shopify stores, one per legal entity. A custom Next.js storefront reads both through the Storefront API and routes each shopper to the correct entity, currency, and checkout, which a theme structurally cannot do.
Outgrown a single store?
If your brand spans markets, currencies, or legal entities, a custom headless storefront can run all of them from one site you own outright. Tell us about it, or book a call. Fixed Phase 1 scope, quoted after one conversation.