Zolotyi Vik Case Study: Unified Customer Profile in Retail

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:

  • No way to quickly view a customer's complete interaction history with the brand
  • Online and offline purchases existing separately, with no unified picture
  • Data from different sources impossible to use together (e.g., website/app events alongside in-store purchases)
  • Any workflows, segmentation, or analytics requiring additional manual reconciliation between systems

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.

Example of the External ID field in Yespo CDP

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:

  • Website events
  • App events
  • Online order history
  • Offline order history
  • Additional profile attributes

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:

  • Basic contact attributes and identifiers
  • Connected channels and their status/availability (including app and web push links)
  • Profile parameters, if provided (e.g., language, time zone, location)
  • Transaction history split between online and offline purchases
  • Website and app events captured through tracking

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.

Customer profile in Yespo CDP

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.

Loyalty program information for a customer in Yespo CDP

Passing offline data makes it possible to:

  • View a customer's complete purchase history (online + offline) in one profile
  • Segment audiences based on real in-store purchases, not just online activity
  • Avoid duplicate contacts and treat the customer as a single profile regardless of the purchase channel
  • Accurately analyze the impact of marketing communications on sales, including offline

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

  • Loyalty-related attributes (if provided)
  • Offline orders in the purchase history alongside online orders

Online and offline orders displayed in Yespo CDP

Data Sources and Connections

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

  • Mobile app — via SDK (passing events and identifier)
  • Website — via web tracking (passing events and on-site behavior)
  • Web push — via script (passing subscriptions/identifiers for the channel)
  • CRM/internal systems — uploading/syncing customer data and profile attributes
  • Offline order transfer — displaying in-store purchases in the same profile as online orders

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?

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:

  • Products a customer viewed
  • Items added to the cart
  • Checkout sessions started
  • Returns to the website or app
  • Completed purchases (online) or other actions recorded by the system

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.

Email, web push, and mobile push for the Status Upgrade trigger

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).

Example of a bonus expiry workflow (without data)

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.

Example of an omnichannel trigger (without data)

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

  • Online and offline purchases
  • Purchase date/period (e.g., in the last 6 months / 1 year / 3 years)
  • Number and frequency of purchases (e.g., "more than 2 orders")

2. Geography

  • City of purchase (especially relevant for offline)
  • Segments by individual cities or groups of cities

3. Product attributes in orders

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

  • Product category
  • Material (white gold / yellow gold)
  • Presence and type of inserts or gemstones
  • Other product parameters, if included in the order data

4. Loyalty program data

  • Program participation
  • Level/status (if provided)
  • Additional program attributes

5. Channel availability and activity

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

  • Has a specific channel connected
  • Engages with messages in that channel (e.g., "reads Viber," if this signal is tracked/recorded)

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.

Different data types used to build segments

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:

  • Models develop a better understanding of customer behavior — not just online, but overall
  • Purchase probability calculations become more accurate because they are built on a more complete history
  • Recommendation algorithms have more data to draw on when suggesting products, categories, or offers

How to create next-generation recommendations on your website?

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:

  • Source/channel is determined through UTM parameters
  • The system identifies the session that came from paid traffic
  • The purchase is attributed to the last click

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.

Last post

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:

  • Post-read — message was read
  • Post-click — click/transition from the message
  • Delivered — used when "read" is unavailable but delivery is confirmed

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:

  • Delivered
  • Click

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

  • If the push was delivered
  • And a purchase occurred within N days of delivery
  • The purchase can be attributed to the corresponding campaign (subject to the "last interaction" rule)

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:

  • Purchases (offline and online)
  • Website activity
  • App activity
  • Channel engagement

Overall profile unification results:

  • Unified customer profiles: 1,672,543 out of 1,971,754
  • Coverage of stitched profiles: 84.82% of the total database

Database coverage

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)

Example of a complete customer profile in Yespo CDP

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.

Comparison of Zolotyi Vik mass campaign CTR against the niche average

Higher Trigger Workflow Performance

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

Abandoned cart

  • 1st email: 30.16%
  • 2nd email: 27.40%

Abandoned browse

  • 1st email: 22.83%
  • 2nd email: 25.77%

What these results show:

  • CR figures indicate that trigger workflows effectively "catch" users at the intent stage (browse or cart) and bring them to a target action
  • Stable CR values across workflow steps show that automations function not as one-off messages but as an effective sequence of touchpoints
  • These workflows can be scaled and enriched with segmentation (by purchase history, offline/online activity, loyalty program participation) to increase communication relevance for different audience groups

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.

Special Request Inline

0.0 from 5 based on 0 reviews

Vladyslava Prykhodko

CRM Marketing Specialist

Ivan Diulai

Copywriter

Oleksandr Feller

Senior Customer Success Manager

Top

Vladyslava Prykhodko

CRM Marketing Specialist

Ivan Diulai

Copywriter

Oleksandr Feller

Senior Customer Success Manager

Comments 0