Case Study "Zolotyi Vik": How to Unify Offline, Website, and Mobile App Data into a Single Customer Profile
Challenge
  • Unify fragmented customer data — from offline stores, the website, and the mobile app — into a single system. 
  • Set up automated omnichannel communications and loyalty program triggers.
Solution
  • Consolidate data into a unified customer profile based on External Customer ID. 
  • Launch behavioral triggers and omnichannel workflows with fallback logic across available channels
Resources
  • Zolotyi Vik development and marketing teams. 
  • Yespo customer success manager and technical support.
Results
  • 85% of the customer base has unified profiles. 
  • High omnichannel engagement — up to 5 channels per user. 
  • High conversion rate (CR) in trigger workflows.

Customers interact with a brand across multiple channels — online and offline — yet their data often remains siloed across different systems. When a brand cannot connect a purchase made in a physical store with activity in a mobile app and a website visit, the full picture is lost. Instead of a single customer journey, it can look like three separate people.

The solution is a unified customer profile, where every action — from a click in an email to a receipt at a checkout — is tied to a single identifier. In this case study, we look at how the jewelry brand Zolotyi Vik implemented this approach, consolidating data for over one and a half million customers — and how it enabled precise omnichannel workflows and transparent attribution across every stage of the funnel.

About the Project

Zolotyi Vik is a jewelry company and one of the country's largest jewelry retailers. The brand focuses on manufacturing and selling jewelry, operating an extensive network of offline stores alongside an online shop with delivery across Ukraine. Alongside retail sales, the company develops its own customer engagement tools, including a loyalty program and a mobile app.

Challenge

Like many large retailers, the company's customer data was not stored in one place. Some information was generated through website interactions, some through the mobile app, and some during purchases in physical stores.

As a result, the same customer could appear in the database as several different records: a separate "offline store customer," a separate "website user," a separate "app user." Since this data had not been merged into a single profile, the team ran into typical challenges:

To make communications more precise and coherent, the Zolotyi Vik team faced a central challenge: overcome this fragmentation and bring offline and online data together into a unified customer profile.

Solution

The foundation of the new data strategy was the External Customer ID — a single customer identifier that made it possible to "stitch" fragmented data into complete profiles.

This identifier is passed into Yespo CDP alongside data from every touchpoint. The system then automatically builds a unified contact card, assembling the full customer context:

Expert opinion: What does a unified 360° customer profile deliver?

 

A unified customer profile provides a complete view of a user's interaction history with the brand across all channels. For example, when a customer browses a product on the website, receives an email, makes a purchase in an offline store, and then installs the app — the company understands this is one person, not several separate contacts in Yespo CDP.

This enables accurate analytics of online and offline customer journeys, personalized communications based on complete interaction history, precise segmentation (VIP, new, dormant, repeat buyers), and consistent omnichannel communication without message duplication.

Anna Zabudska, Marketer at the Yespo Agency

The system independently builds a unified contact card, replacing the "multiple independent databases" model with a "one customer — one profile" model.

What a Unified Customer Profile Contains

A contact profile can store the full set of data coming from connected sources. Typically, this includes:

This means that when working with a contact, the team sees not just "part" of the information but the full context: which environment the customer came from, what purchases they made across different sales channels, and what data already exists in the system.

Offline Data (Loyalty Program and Sales)

For a complete customer picture, connecting offline data is essential — a significant share of jewelry retail purchases happens in physical stores. Without it, a profile reflects only the online portion and doesn't represent the customer's full interaction history with the brand.

Two key types of data are passed from offline sources:

Loyalty program data — information about the customer's participation in the program and related attributes.

Offline sales data — in-store purchase history (transactions), so it can be viewed alongside online orders.

Passing offline data makes it possible to:

Once offline data has been passed, the contact profile displays:

Data Sources and Connections

To build and maintain a unified profile, data is passed from several sources:

Critically, the same External Customer ID is used across all these integrations. This is what ensures data is stitched correctly and duplicates are avoided.

How to use data to improve your marketing?

Learn more

Communication Channels

Website and App Events as the Automation Foundation

The project includes event collection from both the website and the mobile app. This means the system receives information about user actions in both environments and can use these actions as triggers to launch workflows.

Instead of relying only on purchase records or static profile data, the team can see behavior. For example, the system can capture:

Behavioral triggers are built on top of these events — automated workflows that respond to customer actions and send messages accordingly.

Loyalty Program Communications

A separate area of automation in this project covers communications tied to the loyalty program. These messages are not driven by website or app behavior — they are triggered by loyalty events and data changes passed into the system.

Through Yespo CDP, loyalty program communications can be set up as separate automated workflows, with each workflow handling a specific event type.

Which loyalty program events can be automated:

  1. Bonus accrual
    Notifying the customer that bonuses have been credited, including the amount/balance (if available) and an explanation of how to use them.
  2. Bonus expiry
    A reminder that bonuses are about to expire (sent a defined number of days before the expiry date) to encourage the customer to use their balance.
  3. Level upgrade
    A notification about a change in loyalty program level/status, confirming what has changed (new level, conditions, benefits).

Trigger and Omnichannel Workflows 

The project includes a set of trigger workflows that launch automatically based on customer events and data changes (web, app, purchases, loyalty). Thanks to connected tracking and a unified contact profile, triggers can be structured not as individual messages but as multi-step ones.

The key feature is the omnichannel logic of these workflows: an event can occur in one environment (for example, in the app or on the website), but the workflow can deliver the message through a different available channel — wherever the contact can actually be reached. This removes the dependency on a single channel and ensures consistent coverage, even when a user interacts with the brand through a different channel than the one they receive messages through.

The project also automates loyalty program communications (bonus accruals, bonus expiry, level upgrades) — these are set up as separate workflows triggered by loyalty program events.

Segmentation

Having both online and offline order history available enables deep segmentation, since the system holds extensive data about each customer — not just contact attributes, but a real purchase history with detailed purchase parameters.

Segmentation can factor in multiple data layers simultaneously:

1. Purchase history

2. Geography

3. Product attributes in orders

Segmentation is possible by any attribute passed with the order. For example:

4. Loyalty program data

5. Channel availability and activity

A segment can be further refined based on whether the customer:

The core value here is that all these conditions can be combined within a single segment, since all data — online, offline, loyalty, channels — is consolidated in one profile.

With this approach, the system allows multi-condition segments to be built without manual effort. The same criteria that typically "live" in separate systems and are rarely combined come together here — making it possible to quickly define precise audiences based on purchases, geography, product attributes, loyalty data, and channel activity.

Zolotyi Vik actively uses the full scope of customer data — some segments used for mass campaigns include more than 10 conditions.

Recommendations and Artificial Intelligence

Having both online and offline sales in a single profile strengthens the performance of recommendation engines and AI models, since the system works not only with website or app behavior but also with physical store purchase data.

As a result:

How to create next-generation recommendations on your website?

Learn more

Enriching AI models with combined offline and online data means that recommendations in messages can be more relevant — because they account for the customer's full purchase history, not just their online activity.

Attribution

The project uses different attribution logic depending on the channel. For the website, a standard UTM-based approach is applied; for the mobile app and offline, custom logic is used in situations where conventional tagging is unavailable.

Website: last paid click

This is the standard approach, similar to Google Analytics:

Mobile app: post-click / post-read

The mobile app does not use UTM parameters in the conventional web sense, so standard web attribution does not apply. Instead, it uses post-click or post-read logic.

How post-attribution works:

  1. Order information is received by the system
  2. The system checks whether the customer interacted with any communications within a defined period (the attribution window)
  3. If an interaction occurred, the purchase is attributed to the corresponding campaign

Depending on the channel, this can be:

If multiple interactions occurred within the attribution window (e.g., two reads from different campaigns), the purchase is attributed to the most recent interaction within that period.

This makes it possible to measure the impact of communications in environments where UTM parameters or standard web sessions are not available.

Offline

Offline is more complex: a customer may receive a message and then make a purchase in a store with no "tags" or online sessions attached. This is where post-attribution is essential — it allows the impact of communications on offline purchases to be calculated through the recorded interaction.

The same principle applies:

  1. A purchase occurs (offline transaction) and is passed into the system
  2. The system checks the customer's interactions with communications within the attribution window
  3. If an interaction is found, the purchase can be attributed to a campaign using the "last interaction" rule

This approach makes it possible to build consistent analytics not only for the website, but also for mobile and offline.

Mobile push

Some channels — such as mobile push — do not have a read status, but do have:

In this project, post-delivered logic was chosen for mobile push:

This is a practical way to enable attribution for push notifications and offline in a unified approach, without relying on UTM parameters.

Results

Improved Database Quality

By consolidating data under a single customer identifier, a high-quality stitched database has been built, where each contact has one profile regardless of where the interaction took place — offline or online. These profiles contain a large volume of information in the contact card, including:

Overall profile unification results:

A high share of contacts with a unified profile means the majority of customers can be engaged through personalized communication and accurate use of data from multiple sources within a single workflow or segment.

New Omnichannel Capabilities

The contact profile supports maximum omnichannel reach — the system enables simultaneous use of multiple channels within a single customer profile.

Maximum channels per user: up to 5

(email, web push, SMS, Viber, mobile push)

Having multiple channels within a single profile makes it possible to design workflows so that a message reaches the customer: if delivery fails in one channel, the system uses another available channel and continues the communication. This helps maintain consistent coverage across different segments.

Higher Mass Campaign Performance

Better data collection and unification enabled more precise segmentation, which directly impacted campaign performance. Over three months in 2026, Zolotyi Vik's mass campaigns delivered a CTR 35.4% higher than other companies in the jewelry niche.

Higher Trigger Workflow Performance

After setting up automated trigger workflows, key workflows delivered strong conversion rates across workflow steps.

Abandoned cart

Abandoned browse

What these results show:

Conclusion

Zolotyi Vik unified its offline and online data into a single system, bringing together information from multiple sources — CRM, website, mobile app, loyalty program, and offline sales — and consolidating it under a single contact via a shared identifier. Customer data is no longer scattered across separate databases but concentrated in one profile.

This became the foundation for working with the full audience as a single base. The team gained the ability to build deep segmentation based on order history, purchase parameters, loyalty program participation, and customer activity across different channels.

The unified purchase history also enriches AI models: recommendations and predictive scoring — including purchase probability — can perform more accurately because they account for both online and offline customer behavior.

An equally important outcome is the ability to configure automated workflows and deliver communications through the channels where customers actually engage, regardless of where the triggering event occurred.

Finally, a unified attribution logic across different environments makes it possible to measure the contribution of direct marketing not only to online sales but to offline as well.

Get professional expertise

GDPR, CCPA, CASL Compliant. Your data is safe and secure with us.