# KA-EX

## KA-EX

[See KA-EX live](https://ka-ex.com)

Discover now

![KA-EX: Frau trinkt im Freien aus einer Flasche](https://www.digit-one.com/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fp48sl94f%2Fproduction%2Fa51f04196a1fe5fc5c01c7192218b13607da9a24-1920x1080.jpg&w=1920&q=75)

## Shopify stores for four markets

### Theme codebase for all stores

### Weeks from kick-off to go-live

~

For KA-EX, a Swiss sports nutrition brand, we built **four standalone Shopify stores** serving the US, Switzerland, the EU and the UK.

All four run from one theme codebase. They replace the previous WordPress/WooCommerce shops, connect to the ERP and, in the US and Swiss stores, offer subscriptions and bundles with dynamic prices.

We covered the concept, theme and module development, integrations and the migration. All four stores are live.

## Four markets, four stores, one **theme**

## From WooCommerce to Shopify, one market at a time

KA-EX ran each of its markets on a separate WordPress/WooCommerce shop, linked to service providers through interfaces. The client’s own team had adapted the front end, and the sites had stayed largely unchanged for years.

The goal was a **single Shopify front end** for every market. A newly introduced ERP was to act as the central system for master data, and marketing was to maintain the Shopify stores itself. The focus was on good UX and a fast route to purchase.

The project ran in three phases: concept, implementation and rollout, followed by service and further development. The start date was fixed because of system changes running in parallel on the client side. To spread the risk, we **staged the go-live**: Switzerland and the US went first, the EU and the UK followed. Each go-live came about eight weeks after kick-off, and both dates were met.

### Our part of the project

We took on the **Shopify concept**, the development of the theme and modules, the integrations and the migration. Design, content, tracking, marketing tools and the ERP connector came from the client’s partners.

[Shopify at Digit-One](https://www.digit-one.com/en/shopify)

Service

![KA-EX: Shop-Ansichten auf angeschnittenen Mockups](https://www.digit-one.com/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fp48sl94f%2Fproduction%2F57292e83c68863f6f1f1530c70f898771a87af5d-1920x1080.jpg&w=1920&q=75)

![KA-EX: mobile Shop-Ansichten auf drei Smartphones](https://www.digit-one.com/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fp48sl94f%2Fproduction%2Fdb8e57032911380df2f3d036819ce654ea2e6bf3-1920x1080.jpg&w=1920&q=75)

## Four stores, one theme

In the concept phase we weighed Shopify Markets against separate stores and chose **four standalone stores**, a multi-store setup. That gives every market its own legal texts, billing, tracking and ERP connector. The drawback is maintenance effort, because every new feature has to reach all the stores. The central theme code takes care of that.

All Shopify stores share **one theme codebase**. It starts from a purchased premium theme that we moved into a Git-based setup: one repository, one branch per store. Changes go through pull requests, and pipelines roll the development theme out to the live theme automatically. Changes made in the theme editor stay in sync with the repository. New features are built once and carried over to the other stores.

We write custom code only where the theme falls short. That produced a marquee banner, hero tags, a trust block on the product page, a product slider and global testimonials as a metaobject. The KA-EX team maintains them through the theme editor and metafields, without code.

### Why not Markets?

Markets combines several countries in one store and works well when legal texts, billing, tracking and ERP are largely the same everywhere. At KA-EX they differ by market, so we built separate stores.

[Shopify Markets or separate stores per country](https://www.digit-one.com/en/shopify-markets-vs-expansion-stores)

Comparison

## ERP integration and migration

Each Shopify store connects to the central ERP (Odoo) through its own **ERP connector**. The connector comes from the ERP partner (Twio); we installed it together and tested it against a test instance first. Every product in Shopify corresponds to one article in the ERP, matched by SKU. The ERP leads on master data and prices, while marketing maintains the descriptions in Shopify. An order travels from the store to the ERP and on to dispatch.

The migration began with the products, which were imported first. For customers and orders, a custom script converted the export from the old shops into Shopify’s import format, once initially and once more as a **delta on go-live day**. Redirects were built from the Search Console export, the sitemaps and links in customer emails, and KA-EX reviewed them. Where a URL has no successor, the store returns a clean 404 instead of redirecting to the homepage.

### The go-live sequence

The old shop went into maintenance mode, the DNS TTL had been lowered in advance, and a backup and the delta import ran. Then we switched the DNS and ran test orders in every market through to dispatch.

[Migrating from WooCommerce to Shopify](https://www.digit-one.com/en/shopify/migration)

Service

![KA-EX: Übersicht mehrerer Seiten des Onlineshops](https://www.digit-one.com/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fp48sl94f%2Fproduction%2F744b7222e76f62f304170305b9187de95d994add-1920x1080.jpg&w=1920&q=75)

## Subscriptions and bundles with dynamic prices

KA-EX wanted bundles and subscription models. The subscription engines are third-party apps, and our part is everything around them. We integrated and styled the widget and customer portal in the theme, built the operating logic and the price display, and wrote a maintenance concept for the KA-EX team.

The subscription app for the US (Loop) offers longer terms only as a separate variant. So we built a **custom variant selector**: it hides the default variant picker, offers its own selection and updates the widget through the app’s API. It is controlled per collection and metafield.

The **bundle buy box** is a theme block with a metaobject. Prices, strike-through prices and the daily price appear dynamically from the Shopify product and its selling plans, and a single product template carries every subscription product.

The Swiss store runs a second subscription app (Kaching) on the same operating logic: metafields and a theme switch control what is displayed. Two apps, one operating logic. When an app writes its changes straight into theme files, we merge them into our own development in a controlled way.

### Maintained through fields, not code

The KA-EX team maintains the content of each subscription option through fields in the store, and a maintenance guide shows how.

[Apps and integrations on Shopify](https://www.digit-one.com/en/shopify/apps-integrations)

Service

## Country logic, data protection and withdrawal

Whoever opens one of the stores lands in the store for the right market automatically: a **geolocation app** (Orbe) redirects between the stores. Shopify’s native market redirect is switched off in all stores, and markets must not overlap between stores.

Amazon reviews load as an embed (Elfsight) only after consent has been given in the cookie banner. Until then a **content blocker** with a placeholder stands in, and a button reopens the cookie banner. The texts are editable, the blocker can be switched off per store and comes from one central snippet, and the fonts load locally rather than from external servers.

EU Directive 2023/2673 provides that consumers must be able to withdraw from contracts concluded online through a clearly visible withdrawal function and receive an acknowledgement that states the date and time. We implemented the **withdrawal button** with a Shopify form and a Flow that sends the acknowledgement, timestamp included, automatically, plus a dedicated withdrawal page linked in the footer. Two options had been designed and one is implemented.

### One currency per store

Each store has its own market and its own currency: US dollars, Swiss francs, euros and pounds sterling.

### Technology, not legal advice

This describes our technical implementation and is not legal advice. What applies to a particular store is for the merchant to clarify with their legal counsel.

## Quality, releases and collaboration

Every change takes the same route: we develop locally, open a **pull request** and have a second person review it. The product owner then tests, feedback goes into a loop, and a change counts as done only after sign-off. Testing happens on staging, live is for maintenance only, and new versions go live through a release pipeline at a scheduled time.

Quality also covers what is not obvious at first glance. We fixed Google Search Console findings and structured data, adjusted the H1 logic for the collection hero, added a privacy checkbox to the newsletter form and styled the standard notifications.

Several parties worked on the project: besides KA-EX and ourselves, the agency for design and content (WeCatch), a partner for tracking and marketing tools (Ad Union) and the ERP partner. We met for a weekly on Mondays, held close check-ins in between, and approvals ran through comments in Figma. The stores belong to KA-EX, we stay on as a collaborator, and maintenance guides cover metafields and metaobjects.

### After the rollout

The work did not end with the rollout: service and further development followed, for example on subscriptions, bundles and the withdrawal button.

[Shopify service and further development](https://www.digit-one.com/en/shopify/service)

Service

[Contact now](https://www.digit-one.com/en/contact)

### Philipp Scambor

![Porträt von Philipp „Phil“ Scambor, Director E-Commerce und Co-Founder bei Digit-One](https://www.digit-one.com/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fp48sl94f%2Fproduction%2Febc4e2190eb494eaa78c61cff7381e8827e4b274-1920x1406.jpg&w=1920&q=75)

Director E-Commerce & Co-Founder @ Digit-One

“Planning several stores for several markets, or a move away from WooCommerce? Let's talk.”

[+43 664 168 39 50](tel:00436641683950)

[Let's talk](mailto:hello@digit-one.com)

Let's discuss your vision with us

[hello@digit-one.com](mailto:hello@digit-one.com)

## What did Digit-One build for KA-EX?

Digit-One built four standalone Shopify stores for KA-EX, serving the US, Switzerland, the EU and the UK from one shared theme codebase. The work included the migration from WordPress/WooCommerce, the ERP integration, country redirects, subscriptions and bundles with dynamic prices in the US and Swiss stores, and the EU withdrawal button. Design and content came from the client’s agency.

### How does a migration from WooCommerce to Shopify work?

At KA-EX, the products were imported first, then customers and orders: a script converts the export into Shopify’s import format, once initially, once as a delta on go-live day. Redirects come from the Search Console export, sitemaps and links in customer emails, and URLs without a successor return a clean 404. Go-live day brings maintenance mode, a backup, the DNS switch and test orders per market, then customers reset their passwords.

### Several countries on Shopify: separate stores or Markets?

It depends on how different the markets are. If each needs its own legal texts, billing, tracking and ERP connector, a multi-store setup with separate stores makes sense, though it needs more maintenance. For KA-EX we built four standalone stores and offset that effort with one central theme codebase.

### How do you keep four Shopify stores up to date with one theme?

With a shared codebase and a fixed routine: one repository, one branch per store, changes through reviewed pull requests, and pipelines that deploy automatically. New features are built once and carried over to the other stores, and changes made in the theme editor stay in sync with the repository.

### How do you connect an ERP system to Shopify?

Through a connector that links Shopify to the ERP. At KA-EX each store has its own connector, installed together with the ERP partner and tested against a test instance first. Products and articles are matched one to one by SKU, the ERP leads on master data and prices, and orders flow from Shopify to the ERP and on to dispatch.

### How do you build subscriptions and bundles with dynamic prices on Shopify?

The subscription engine comes as an app, and everything around it is built in the theme. At KA-EX we integrated the widget and customer portal, built the bundle buy box as a theme block with a metaobject, and showed prices, strike-through prices and the daily price dynamically from the product and its selling plans. Two apps, for the US and Switzerland, share one operating logic.

### How do you implement the EU withdrawal button in a Shopify store?

With a clearly visible withdrawal function that acknowledges receipt with date and time, as EU Directive 2023/2673 provides. At KA-EX we implemented a Shopify form with a Flow that sends the acknowledgement automatically, plus a dedicated withdrawal page linked in the footer. This is not legal advice.

### How do you embed third-party widgets on Shopify in line with GDPR?

By loading them only after consent has been given in the cookie banner. At KA-EX a content blocker shows a placeholder until then, and a button reopens the cookie banner. The texts are editable, the blocker can be switched off per store and comes from one central snippet, and the fonts load locally. This is not legal advice.

[All Cases](https://www.digit-one.com/en/cases)

[Discover all cases](https://www.digit-one.com/en/cases)

Hungry for more?

Discover Case Study

[Delicando](https://www.digit-one.com/en/cases/delicando)

Three customer groups, six countries, four languages: we put four Shopify Plus stores on one shared foundation for delicando.

![Delicando: Cognac- und Spirituosenflaschen auf einem Holztisch](https://www.digit-one.com/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fp48sl94f%2Fproduction%2F0536430e28a6c55c151149323f6e279a9d30c847-5761x3841.jpg&w=1920&q=75)

## E-Commerce

### Shopify

### B2B

[gloryfeel](https://www.digit-one.com/en/cases/gloryfeel)

Two countries, one setup: Shopify Plus for Germany and Italy, built for pace in daily business and clean processes behind the scenes.

![gloryfeel: Produktreihe der Nahrungsergänzungsmittel in Dosen](https://www.digit-one.com/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fp48sl94f%2Fproduction%2F4bbd4e71770dfed0f718d20dffa366a56339a954-3000x844.webp&w=1920&q=75)

### Shopify

### Agile Webdevelopment

### E-Commerce

### UI/UX Design

[BIOGENA ONE](https://www.digit-one.com/en/cases/biogena-one)

Launched on Shopify Plus and moving ever since: a platform that grows with the business and keeps evolving.

![BIOGENA ONE: Ansicht des Onlineshops](https://www.digit-one.com/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fp48sl94f%2Fproduction%2F0c5dcaa6b77f879a720aa842dd2025194d746bcb-1556x1158.png&w=1920&q=75)

### Shopify

### E-Commerce

## Other **exciting projects** that may interest you
