Skip to main content

Environments, Databases, and Monitoring

Purpose of this document

This document provides details at the business, technical (including configuration), and implementation levels for specific features within the ES Loyalty feature set. It covers a subset of functionality focused on Loyalty Environments, Databases, and Monitoring.


Table of contents


Member unique identifier

A member unique identifier (MID) identifies a member and associates all data tracked to them. The system supports linking multiple IDs to a single member — for example, a loyalty ID, phone number, or email address.

When a customer visits a site that contains ESI's JavaScript tracking scripts for the first time, ESI assigns a GUID to the user based on their unique device. The system permanently stores this identifier on the user's device using local storage. Note that this identifier is different from the customer unique identifier that the retailer uses internally.

The MID can be a numeric or alphanumeric value. It can represent a member directly, or represent a card, since members can have multiple cards. The MID sometimes appears on the member's physical card or in their Profile. Depending on the context or client, it may be considered Personally Identifiable Information (PII).

Examples:

623081290129329
D99-E032JI-0132JS-J1SF92

ESI-to-Carebook mappings include:


Member identifier/lookup using linked loyalty card

This feature lets the system identify a member at the point of sale (POS) or through another channel using their linked loyalty card.

With this feature, a member only needs to provide their linked loyalty ID number to complete a transaction — they don't need to present both their loyalty ID and payment card. A more conventional approach is payment-linked loyalty, where the payment card automatically triggers the reward through a data exchange with the linked loyalty card. This approach benefits the member because they only swipe or scan one card, and don't need to worry about forgetting their loyalty card. The payment provider receives useful anonymized data, and the loyalty partner gets a more efficient transaction path.

References:

  • WIZ525
  • WIZ-1116
  • WIZ-2497

Environments

ES Loyalty uses Amazon Web Services (AWS) with auto-scaling for peak performance and the flexibility to store data in multiple jurisdictions. It also uses Snowflake as a best-in-class analytical data warehouse.

Cloud computing uses a network of remote servers hosted on the internet to store, manage, and process data, rather than relying on a local server or personal computer. The AWS auto-scaling service monitors applications and automatically adjusts capacity to maintain steady, predictable performance at the lowest possible cost. Snowflake scales smoothly to handle concurrent users and workloads, supports complex data pipelines and analytics, and supports programmatic control through Java or SQL.


Client UAT and SIT (systems integration testing) environment/database

This feature covers provisioning of User Acceptance Testing (UAT) and Systems Integration Testing (SIT) environments and databases for client use and testing.

After a feature passes the QA process, it may go through a UAT environment and a SIT environment before the client accepts it and promotes it to their Production environment. Depending on client requirements, UAT and SIT can take several weeks.


Disaster recovery/continuity

ESI maintains a Business Continuity Plan and a Disaster Recovery Plan, and tests both at least annually through tabletop exercises and communication escalation drills.

ES Loyalty is a highly available solution that runs active-active across multiple data centers and can withstand multiple simultaneous data center failures. Cross-region replication is also available.

Not applicable.


Monitoring, alerts, and logging

ES Loyalty uses a standard set of monitoring and alerts to ensure the availability, performance, and security of Exchange Solutions systems and integrations, as governed by the applicable SLAs. Detailed logging supports diagnostics.

The system logs all system activities and monitors the health and security status of various systems. It generates alerts when a system deviates from its optimal status.

TBA

ESI also uses Wiretap (see the Configuration section below).


Business unit feature set

This feature tracks transactions and promotions by identifiable business units or partners that participate in a shared program.

Business units represent different departments, divisions, or other sub-entities within a business. Partners from different companies can also work together through a shared loyalty program.

Whether for divisions within the same company or for external partners, the system must segregate and secure data across different business units or partners. Assigning features and data to each business unit enables this segregation.


Segregation module

The segregation module prevents promotions, banners (advertisements), and their related data from one business unit from being viewed, edited, or accessed by actors in another business unit.

This feature lets multiple discrete business units — for example, business units, partners, banners, or franchises — interact with a loyalty program while respecting organizational boundaries around program configuration and results. Segregation features are distinct from multi-banner or multi-brand features, which don't require keeping information confidential for antitrust, legislative, or other business reasons.


Right to be forgotten request (GDPR/CCPA)

Under GDPR and CCPA, a user has the right to request that the company holding their data delete it, under certain circumstances.

A user or member may exercise the right to erasure — also known as the right to be forgotten — and request that the company delete all of their data from its systems. This right applies if any of the following criteria are met (under GDPR; CCPA requirements are similar):

  • The personal data is no longer necessary for its original purpose.
  • The user withdraws consent on which the processing was based, provided that they previously gave explicit consent.
  • The user objects to how their data is being processed — for example, for profiling — and the data holder cannot demonstrate a compelling reason to retain it.
  • The data is being processed unlawfully.
  • The data must be erased to comply with applicable law.
  • A parent or legal guardian did not authorize the processing of a minor's data.