Skip to main content

ES Loyalty 4.6 release notes

info

These release notes cover features introduced or completed since ES Loyalty 4.5.1.


What's in this release


Hotfixes

Fix for Multiple Accounts Sharing the Same Email Address

note

This is a hotfix (v4.5.1hotfix a) for the v4.5.1 release, published simultaneously with v4.6.

A pattern was identified where two or more accounts registered using the same email address. This affected a small percentage of loyalty program members and degraded their experience to the point where they risked leaving the program.

The issue was traced to how the email address locking mechanism handled differences in letter case. Email uniqueness enforcement with case-insensitivity has been implemented and applies to the following:

  • Member enrollment
  • Member profile updates
  • Ghost card registration

Data cleansing on existing affected records was also performed as part of this fix.


New features and enhancements

Redemption Fulfillment API Automation Using Tipalti

Overview

This feature integrates ES Loyalty with Tipalti, a global payments platform. It enables clients to set up and manage direct payments to loyalty members worldwide — via methods such as direct deposit, ACH, and PayPal — as a way of fulfilling point redemptions.

Why it's valuable

This integration enables fast, compliant, and scalable loyalty redemptions worldwide, significantly reducing processing times while ensuring full auditability.

What it does

Connects ES Loyalty directly with Tipalti's global payments platform, automating end-to-end redemption flows and supporting multi-currency, multi-jurisdiction payouts with same-day processing.

How you benefit

Members enjoy faster, seamless redemptions that increase satisfaction. Your team gains efficiency, stronger compliance controls, and full transaction visibility in one streamlined system.

Details

This integration addresses the need for an automated, scalable payment solution capable of handling payments across multiple jurisdictions. Key advantages include:

  • 85% reduction in processing time — from 3–5 days down to same-day processing (assuming direct deposit runs once a week)
  • Enhanced compliance and auditability
  • Improved member satisfaction — same-day deposits via direct deposit or ACH, compared to once-a-month cheque deposits

Payment flow:

A loyalty member initiates a redemption through the loyalty program interface (external to Exchange Solutions). The external system sends relevant data to an ES Loyalty (ESL) API endpoint. ESL validates eligibility, redeems the points, creates transaction records, assembles a payment batch, and transmits it to Tipalti for processing. A CSR can view transaction and payment details in both Tipalti and the ESL platform, ensuring a complete audit trail.

Changes to ES Loyalty to support this flow:

  1. Enhancements to CUX APIs to integrate with the Tipalti API and provide additional information
  2. Updates to the system processor to support and process payments data
  3. New messaging capabilities for different payment states: Submitted, Completed, Deferred, Cancelled, and Error
  4. Access to payment audit information from the Transaction view on a member's details page
  5. Payments included in member transaction histories
  6. Database changes to support payments-related data

Tipalti documentation:

ResourceLink
REST API IntroductionIntroduction
Create a payeeCreate payee
Get a list of payeesGet list of payees
Webhook setupSetup
Webhook eventspaymentSubmitted, paymentCompleted, paymentDeferred, paymentCancelled, paymentError
Webhook testing and copy requestsTest webhooks and copy requests

Tiers — Household Status

Overview

This feature extends individual member-based tier qualification to the household (or group) level. Marketers can configure their loyalty programs to target and incentivize households of members, rather than only individuals. While "households" is the B2C term used in ES Loyalty, this feature is expected to be of greatest interest to B2B clients.

Why it's valuable

By recognizing collective household value, this feature strengthens loyalty engagement across family or group accounts and drives higher overall program participation.

What it does

Aggregates spend from all household members to determine tier status, applying defined business rules for rollovers, current-period qualification, member departures, returns, and overrides.

How you benefit

You capture more spend by rewarding group loyalty, while members benefit from faster tier advancement and greater program value through shared household contributions.

Details

Tier status qualification is based on aggregated household spend, calculated simply and transparently to reflect total group value. The feature is particularly impactful for clients with large households.

Business rules:

  1. Past period spend from all household members is considered for tier rollover status, regardless of when they joined.
  2. Current period spend from all household members is considered for the current period's earned tier status, regardless of when they joined.
  3. Spend from members who depart a household no longer contributes to that household's past or current period calculations.
  4. A member departure may result in a downward revision to the household's rolled-over or current tier status. Negative member experiences can be mitigated using manual tier adjustment.
  5. Returns, adjustments, and overrides to tier contribution trigger recalculations to both the household's tier rollover status and the current period's earned status.

For comprehensive use cases, see the Detailed Design page linked below.

Enhancement to Tier History Table for Tier Household Status

Overview

This feature makes additional audit information available to users of internal data, giving clients full visibility into the historical tier progression of household tier members.

Why it's valuable

It enables loyalty marketers to analyze member tier movement, promotions, and downgrades with precision over time.

What it does

The new dwhf_account_tier_history table records every tier phase for each member with contiguous, non-overlapping date ranges, creating a complete historical view of tier changes.

How you benefit

You gain actionable insights into tier dynamics to refine program design, improve retention strategies, and identify opportunities to maximize member lifetime value.

Details

Previously, only a single (latest) tier record per member was displayed, making it difficult to track tier progression over time. The new dwhf_account_tier_history dynamic table and DWH feed address this by maintaining one record per tier phase per account, with non-overlapping, contiguous date ranges. This structure supports analysis of tier transitions and their timing — for example, member promotions or downgrades within a program year.


Console — Transaction History Export

Overview

This feature enables Console users to download a member's complete transaction history, typically for audit or troubleshooting purposes.

Why it's valuable

It provides instant access to a member's full transaction history, empowering loyalty teams to analyze and respond quickly to member activity.

What it does

With a single click in the Console, users can generate and download a CSV file containing all of a member's transaction records — whether a handful of purchases or tens of thousands — complete with detailed fields and values.

How you benefit

You save time with streamlined data access, gain flexibility to run deeper analysis, and equip your teams to resolve member inquiries and optimize program performance more efficiently.

Details

The export is initiated from the Transactions tab on the member details page. When the job completes, a Download CSV link appears for the user to save the file locally.

The feature supports many transaction types and includes a large number of transaction-related fields and values. It is available to all clients but must be enabled both at the client configuration level and for specific users via permissions.


Tier Status History and Date Fields Available

Overview

This feature makes additional audit information available to clients, giving them a complete view of each member's historical tier progression — including tier start and end dates, and program period dates.

Why it's valuable

It provides loyalty teams with the full account history of tier status records needed to understand how members have progressed through the program over time.

What it does

Displays all tier records for a member, rather than a single (latest) record. Each record includes tier start and end dates as well as program period start and end dates.

Details

Previously, only one record per member was displayed. Following a client request, we now display the full account tier history. Multiple records are generated for members whose tier status has changed. The data is structured as follows:

EXTERNALIDENTIFIERTIERCODENEXTTIERCODETIERSTARTTIEREND
XY123456TIER1TIER21/1/256/11/25
XY123456TIER2TIER36/12/2512/31/25

Infrastructure updates

OpenSearch Deprecation Phase 1 and Phase 2

Overview

This backend update replaces AWS OpenSearch with Snowflake for list targeting, addressing persistent quality issues with the previous technology.

Why it's valuable

Enterprise marketers need fast, scalable, and reliable targeting capabilities to execute high-performance loyalty campaigns with precision and confidence.

What it does

Transitions targeting list file processing from AWS OpenSearch to Snowflake, improving query performance, scalability, and future extensibility.

How you benefit

You get enhanced reliability and speed for profile targeting operations, enabling more responsive and efficient campaign execution — with no changes required to your workflows.

Details

Early in ES Loyalty's development, member targeting was migrated to a SQL interface to standardize member queries, while banner and promotion searching used native queries. As AWS transitioned to offering OpenSearch, the platform adopted it for these operations.

Over time, issues emerged with OpenSearch around complexity, cluster size, cost, data mapping, and data synchronization. As a result, promotion and banner search functionality was transitioned to the Snowflake data warehouse. Once fully implemented and performance tested, OpenSearch was deprecated and its code removed from the codebase.

These changes are not visible to clients — they occur entirely in the backend — but significantly improve scalability, maintainability, and system cost.

Console enhancements

Reject Handling for List Targeting in Console

Overview

This enhancement improves the CSV product upload workflow for list targeting, giving clients immediate visibility into rejected product records during uploads.

Why it's valuable

It reduces errors and eliminates time-consuming manual checks against external systems by showing clients exactly which records were rejected and how many.

What it does

During CSV product uploads, the system now distinguishes between valid and rejected SKUs, providing a clear count of each so clients can quickly identify and resolve data issues.

How you benefit

You get faster, more accurate targeting with fewer errors, saving time and improving confidence in your product data for loyalty campaigns.

Details

Previously, when a client uploaded a list of product SKUs, the Count field on the upload displayed the total number of records — including both valid and rejected entries — without distinguishing between them. This meant a rejected SKU (for example, 80895 entered instead of 89805) would be silently included in the count, requiring the client to manually compare each SKU against internal data to find the discrepancy.

The count now shows a split between valid and rejected records, making data issues immediately apparent.


Display Issuances Data in Console

Overview

This feature adds an Issuances tab to the member details page, giving loyalty marketers and service teams a centralized view of all vouchers and similar issuances tied to a member.

Why it's valuable

It improves transparency and support efficiency by surfacing reward details directly within the member profile.

What it does

The new Issuances tab displays key details for each issuance — including issue date, expiration, type, status, code, value, and notes — in a paginated table with error handling.

How you benefit

You get instant visibility into a member's vouchers and rewards, enabling faster issue resolution, better customer experiences, and more informed loyalty management.

Details

The Issuances tab appears on the member details page, next to the Transactions tab. It only displays if configured to be shown. The table includes the following fields:

FieldDescription
Issued DateThe date and time the issuance (such as a voucher) was issued
Expiration DateThe date and time the issuance expires
TypeThe type of issuance, for example, "Voucher"
StatusThe current status: Available or Expired
CodeA unique identifier for the issuance
AmountThe value of the issuance in dollars
NotesAny additional short notes about the issuance

The most recent issuances appear on the first page, with a default display limit of 20 (up to 100 per page). Pagination controls are available for additional pages. If no issuances exist, the tab displays No eligible issuances. Error messages are also shown on this tab if retrieval fails.

Member Scoring and Intelligence

Member Scoring and Intelligence — Churn Score

Overview

This release introduces the first machine learning–derived probabilistic metric in ES Loyalty: a modeled churn score that predicts the likelihood of a member becoming disengaged. This release also includes general quality improvements to the member scoring creation workflow.

Why it's valuable

Your marketing team can instantly segment loyalty members based on churn probability through a guided AI interface, enabling smarter audience targeting and more relevant campaigns.

What it does

This feature helps you create and manage segmentation scores for churn probability. An AI engine guides you through the creation process, including scoring methods, segment options, and saving results.

How you benefit

Member Scoring and Intelligence puts advanced segmentation in the hands of every marketer — no SQL or data science required. You get quick access to meaningful member insights, reusable scoring models, and campaign-ready segments that improve targeting and drive results.

Details

In the context of this loyalty program, churn does not mean a member has formally left the program. It means the member is no longer engaged and has fallen below a threshold of qualifying activities, such as making purchases that earn rewards. The Churn Score model matches a threshold in days without purchase to a minimum activity level to predict which members are at risk.

How the model works:

Generative AI identifies potential churn members through pattern recognition across different member groups. The model combines several AI metrics to balance inherent tradeoffs and improve the accuracy of results:

MetricDescription
AccuracyThe proportion of total predictions that are correct. Simple and intuitive, but can be misleading with imbalanced data — for example, a model that always predicts "not churn" in a dataset that is 95% non-churners would be 95% "accurate."
RecallOf all actual churn cases, how many did the model correctly identify? High recall means the model is effective at catching at-risk members.
PrecisionOf all members the model predicted as churn risks, how many were actually at risk? High precision means fewer wasted rewards on members who were not going to churn.
F1The harmonic mean of precision and recall. Balances both metrics when false positives and false negatives both carry a cost — critical for saving members while controlling campaign spend.
AUC (Area Under the Curve)Compares members unlikely to churn against those likely to churn, indicating how well the model ranks members by risk. Enables targeting of the highest-risk segment rather than all members.

Churn threshold guidance:

When configuring the model, the days-without-purchase threshold determines how the model defines churn. The AI interface provides the following guidance:

ThresholdUse case
15–20 daysCaptures early warning signs; suitable for high-frequency shoppers, but may produce more false positives
25–30 daysAligned to industry averages; effective for balancing proactive retention and targeting accuracy
45–90 daysFocuses on clearly lapsed members; fewer false positives, but intervention may be less timely
90+ daysReserved for very infrequent purchase patterns; often too late for preventative retention efforts

Sample results:

In a sample run using a 195-day inactivity threshold, scoring was based on time since last visit, recent spend, and transaction activity over the prior six months. The model produced the following segmentation:

SegmentChurn score rangeMembers
High Risk> 65%37.5% of members
Medium Risk40%–65%0.8% of members
Low Risk< 40%61.7% of members

The model achieved 93.6% accuracy with an F1 score of 0.95, and an AUC of 0.995 — indicating strong ability to distinguish between members likely and unlikely to churn.

Example targeting strategies using churn scores:

  • Exclude members who have purchased within a defined recent window
  • Target members who have not purchased recently and are not digitally engaged — with tailored communications and offers to earn or redeem rewards
  • Target members who show specific behavioral patterns and hold a particular range of point balances — with offers in product categories they have historically spent in, or with generic offers designed to reinforce or change behavior