Automatically translated from Portuguese.

A young customer sitting on her bed picks up her phone, finishes buying a lipstick in Sephora's Mexico app, pays with PayPal and sees the order confirmed.
A young customer sitting on her bed picks up her phone, finishes buying a lipstick in Sephora's Mexico app, pays with PayPal and sees the order confirmed.

For Sephora, one app that speaks the shopping language of two countries

With a shared code base for Brazil and Mexico, Sephora ships a new version every 9 days, on average.

Published 5 min read

In this case study

Executive summary

  • Taqtile rebuilt Sephora's e-commerce app with a strategy that keeps what both countries share and separates what belongs to each one. This shared base is what brings efficiency, quality and speed.

  • With native apps in Swift and Kotlin and an intermediate server on Salesforce Commerce Cloud, a new version ships every 9 days, on average, and supporting the 4 apps costs 0.5% of the app's revenue.

  • Today the app is Sephora's largest online sales channel in both countries; already in the months after launch, revenue doubled and conversion became 6x higher.

The challenge

Create for Sephora an app that runs two markets with different shopping behaviors from the same commerce platform, Salesforce Commerce Cloud.

Brazil and Mexico share the same brand and the same platform, but almost nothing in the way people shop. With the app's growth potential in both countries, new features had to reach both markets quickly, without Sephora having to support two operations.

The case in numbers

From 2 to 4.8
the app's store rating in both countries, on iOS and Android
5x
more downloads in both countries, from the previous app to the current one
More than 95%
of the code is the same in both countries
9 days
between one new version and the next, on average, since launch
No. 1
online sales channel for Sephora in Brazil and Mexico, ahead of the website since 2024

Numbers like these start by separating what is shared from what belongs to each country. Let’s talk

Inside the technology

The customer's journey is the same in both countries: she opens the app, finds the storefront of her Sephora, chooses, pays her way and follows her order. What changes is what sits behind each step: each country's payment method, installments, loyalty points, address and data consent.

From that reading came the decision that explains the result: separate, from day one, what is shared from what belongs to each country. What Sephora already had stayed: the global commerce platform, the brand's design system, each country's loyalty program and the website, run by another vendor. On top of that, Taqtile built native apps, written in Swift on iOS and in Kotlin on Android, with one code base per platform that serves both Brazil and Mexico. What belongs to each country lives in configuration and in a few dedicated folders.

This architecture is what makes more than 95% of the code the same in both countries and lets one country adopt what the other launches almost immediately. And it is what explains the cost: in the last year, supporting and evolving the 4 apps cost 0.5% of the app's revenue.

The apps talk directly to Salesforce Commerce Cloud, through the interfaces it already exposes, and the cart rules, which used to live in the app, moved to the platform. For what the platform does not solve on its own, such as local payment and loyalty partners, there is an intermediate server, with the same code in both countries and one instance in each. Everything that goes in and out of the apps passes through Sephora Global's security layer, in line with the company's standard.

The solution

A single app that adapts to Brazil and Mexico and serves both markets with the same operation.

  1. Each country's storefront

    The home screen changes without a new app version: each country's team swaps products, banners and promotions according to its own calendar, within Sephora's global design system

  2. Native cart

    The cart is native, with the payment methods of the customer's country: Pix and installments in Brazil; PayPal, installments and Oxxo in Mexico

  3. Loyalty

    Applies each country's points rule: in Brazil, 1 real is worth 1 point; in Mexico, 20 pesos are worth 1 point

  4. Push notifications

    Messages to the customer through a new push platform that serves both countries

  5. Accessibility

    Accessibility improvements across the screens, such as contrast designed for people with low vision

The results

Today the app is Sephora's largest online sales channel in both countries, ahead of the website since 2024. Already in the months after launch, revenue through the app doubled and funnel conversion became 6 times higher. On iOS and Android, the app's store rating went from about 2 to between 4.8 and 4.9 in both countries.

On Sephora's side, two markets became one operation. Since launch, a new version ships every 9 days, on average, and what one country launches, the other adopts almost immediately, without building it again. Each country's team sets the priorities for its app and validates every version in a test environment before it reaches customers, gradually. Everything that was built belongs to Sephora: code, specifications and architecture, with the server running on its cloud.

Which market does your app not reach yet? In a few weeks, we design the base with you to get there. Let’s talk

How we worked

Sephora came to us to build the base of the apps in both countries. Before any screen, we started from the commerce platform Sephora Global already uses and designed the base for Brazil and Mexico from day one.

At Taqtile, sustaining this pace in two countries is the work of a small team of experienced people. That is how we operate in all our projects, now with AI agents built into the way we work.

Questions this case answers

Is it worth having one app per country or the same app for several countries?

The same app, on a shared base, with what belongs to each country kept apart. One app per country doubles the cost of building and maintaining, and every new feature is built twice. In this case, more than 95% of the code is the same in Brazil and Mexico, and what one country launches, the other adopts almost immediately.

Is a native app still worth it, or is a cross-platform app cheaper?

It depends on what the app has to deliver. The case for cross-platform, such as React Native, is writing a single base for iOS and Android and spending less. In this case, the shopping experience had a strong effect on conversion, and the apps are native, in Swift and Kotlin, to deliver the experience and performance of each system. The cost of the two bases is diluted when they serve more than one country: more than 95% of the code is shared by Brazil and Mexico.

How much does it cost to support and evolve a retail app?

In this case, supporting and evolving Sephora's 4 apps, iOS and Android in Brazil and Mexico, cost 0.5% of the app's revenue in the last year, with a new version every 9 days, on average.

Does Taqtile have experience with native apps on Salesforce Commerce Cloud?

Yes. Sephora's apps in Brazil and Mexico are native, in Swift and Kotlin, and talk to Sephora Global's Salesforce Commerce Cloud through each country's own intermediate server, a backend for frontend.

A similar challenge?

Does your app need to speak to more than one market? Let's talk.

How can we help?

How can we help?
Your contact details