Loyalty & Promotions
Advanced Recurring Action Scheduling
We have completely overhauled the campaign scheduling interface in the HUB, providing merchants with a powerful, backend-aligned configuration engine that supports complex, multi-layered time patterns mapped precisely to our Scheduler. This update introduces granular recurrence intervals, explicit date constraints, and a fail-safe confirmation flow to guarantee predictable automated campaign behavior while entirely eliminating scheduling mismatches.
What's Included:
-
Granular Recurrence Engine: Merchants can select from three advanced scheduling types, custom-tailored to common business operational rhythms:
Daily: Toggle individual days of the week (Monday–Sunday) coupled with a precise execution time picker.
Weekly: Configure multi-week intervals (e.g., “Repeat every [X] weeks”) combined with custom weekday selections.
-
Monthly: Choose from three distinct routing methods:
Specific Dates: Multi-select distinct days via a calendar picker (e.g., executing strictly on the 1st, 15th, and 30th).
Day of Month: Set a static monthly numeric threshold (1–31).
Nth Weekday: Build relative rules using frequency and day dropdowns (e.g., the First Tuesday or Last Friday of every month).
Global Blackout Date Selection: Integrated a unified multi-date exclusion picker across all configuration types. Merchants can flag and remove specific calendar dates on the fly, preventing campaigns from triggering during holidays, inventory closures, or maintenance windows.
Mandatory Scheduling Guardrails: To eliminate orphaned or infinite campaign loops, both start date and end date fields are now strictly mandatory. Built-in UI validation automatically blocks setup and displays clear error messaging if a date is missing or if the configured start date is set after the end date.
Dynamic Schedule Summary: Features a real-time, human-readable summary text that updates instantly as options change (e.g., “Runs every 2 weeks on Tuesday and Friday at 10:00 AM”), giving merchants immediate confidence in their configuration.
Activation Confirmation Overview Modal: Clicking Activate no longer submits the schedule blindly. The system now forces a mandatory overview screen highlighting the complete recurrence pattern, exact boundaries, and excluded blackout windows, requiring explicit merchant verification before deployment.
Point Shop Redemption Limits
Merchants can now configure redemption limits on individual Point Shop items.
Set an overall stock cap to automatically deactivate an item once it has been fully redeemed.
Promo Code & Benefit Informational Warning Banners
Non-blocking notification banners were added beneath the Promo Code and Benefit action selectors across Rules, Recurring, and One-time campaigns.
These alerts are strictly informational, they do not validate, block, or prevent publishing, but rather serve to proactively warn merchants about validity risks, availability caps, and status mismatches.
What's Included:
-
Dynamic Expiration Warnings - If a selected Promo Code or Benefit expires in <= 3 months, a banner displays dynamic text based on proximity (showing a relative day counter if < 31 days, or an absolute expiration date if between 31 days and 3 months).
A "click here" CTA deep-links directly to the asset's Terms tab. - One-Time Execution Mismatch Checks - Specifically for One-time campaigns, if the chosen asset's expiration date falls before the scheduled campaign run time, an explicit warning displays to notify the merchant that members will not receive it unless validity dates are extended.
- Promo Code Availability Notes - Selecting any Promo Code dynamically surfaces a fixed visibility reminder clarifying that the total number of campaign recipients depends heavily on the pool of remaining available codes.
- Inactive Asset Alerts - Selecting a Promo Code that currently sits in a "Deactivated" or "Ended" state triggers an immediate status warning with a direct link to its configuration parameters.
- Smart Stack Logic - When multiple conditions trigger simultaneously, banners stack in order of priority (such as placing critical expiration logic cleanly above standard availability warnings).
Bug Fixes
Hub main dashboard was showing $ sign for all businesses.
A discrepancy where the "Total Sales with redeemed gifts" metric in the Campaign Center's Gift Analysis option inflated revenue numbers compared to Looker reports.
The underlying query has been corrected to properly exclude cancelled purchases from its calculations.
Customer-Facing Tools
[Beta] E-Gift (using Stripe Account)
Overview
Introduced an advanced, multi-merchant template engine for E-Gift purchases, launching its first instance for Caffè Concerto (UK) to modernize their voucher distribution.
This system is entirely modular, future merchant rollouts can be managed strictly via Hub 2 configurations with zero additional code.
What's included
-
Stripe Account Integration - Operates exclusively with Stripe accounts, requiring merchants to link their own Stripe account directly to the Customer Portal.
Code setting (to the Stripe account) is done internally by us, at this stage.
Stripe Tab Checkout Flow - Integrates a smooth payment loop where clicking purchase opens the Stripe Checkout page in a secondary browser tab.
- Hub Activation - Activation through the E-Gift toggle in the Customer Portal section in the Hub.
Gift Items & Design Configuration - Supports custom gift card design and individual image uploads from the Hub, automatically defaulting to general gift card templates if a product-specific asset is missing.
Featured Items & Aligned Gift Types - Allows configuration of unique gift types matching items on the Stripe account - supporting both flat Credit Amounts and specific Named Items - with a "Featured Item" toggle to pin the high-priority choice to the top of the catalog page.
Dynamic Success State - Upon successful payment, the right-hand column seamlessly transitions into a dedicated success state featuring a confirmation checkmark, a "Gift Sent!" banner, and recipient tracking parameters.
Recipient Notification Email - Upon successful delivery, the gift recipient receives a branded transactional email detailing the sender's identity and the gift's value/description, featuring a direct "Claim My Gift" call-to-action button to onboard or login to the rewards program.
Configurable Share Gift Landing Page Identifier & Distribution Caps
- Merchants can now configure the Share Gift landing page to use either phone or email as the primary member identifier (mutually exclusive - never both).
- Phone remains the default, so existing merchants see no behavior change, unless the setting is updated in Hub.
- Duplicate-claim prevention, previously enforced only for phone-based flows, now applies equally to email-based flows. If the same gift has already been claimed using a given email, the second attempt is blocked with a clear "This gift has already been claimed" message.
- In addition, merchants can now also control the number of gift-claims by setting maximum gift-sharing limits.
Bug Fixes
Members signing in via Druid OIDC had missing emails and display names in their Firebase user records due to a tenant-scoping mismatch. Firebase calls now accurately use the tenant context to sync names and emails post-login, with explicit logging added for profiles missing an email. Additionally, hardened security by restricting the logout endpoint to POST-only requests
Multi-channel Communication
[Beta] WhatsApp Merchant-Owned Account Configuration
Introducing merchant-facing configuration within HUB that allows businesses to connect and use their own WhatsApp Business Account (WABA) for authentication messaging (OTP).
Note: This service will be available (on Beta) starting June 25th, 2026.
Further details will be published in a dedicated knowledge article.
Connectivity
Enhancements & Improvements
New Member Import Infrastructure (Phase 1)
Revamped Loyalty Server to replace file handling with efficient file processing, increased the 200K row limit after load testing, and added backend support for global automated rule suppression during imports.
Point Shop Limit Support for Item Purchases by Business and Member
Merchants can now configure maximum purchase thresholds per business or individual member.
Upon reaching this limit, the item will no longer be returned by the GMD POS API, and purchase attempts via the GetBenefits API will be rejected.
Looker Authentication API Update
Moved to the new Looker authentication API.
[Beta] WhatsApp OTP Merchant-Owned Account Routing (Phase 2)
Extended backend routing engine to support merchant-provided Meta credentials.
Implemented live account validation, real-time OTP authentication template retrieval from Meta, and secure credential encryption without affecting existing Como-managed WhatsApp delivery logic.
Scheduling Engine Recurrence Extension
Added engine-level support for custom weekly intervals, multi-date monthly execution parameters, invalid date logic handling, and specific calendar date blackout exclusions.
Multi-Service API Key Authentication
Added explicit API key support across Hub 1, Hub 2, Auth, OTG, and Customer Portal (CP) backend and frontend microservices.
Support US New Short Code
Dedicated short code for Loyalty Essentials SMS messages service.
Bug Fixes
-
Fixed an issue where Payment 2.8 APIs failed if
paymentProviderConfigurationsalready existed on the account. - Strict case sensitivity on the 2FA verification endpoint caused up to 20% login failures due to mobile auto-capitalization or mixed-case inputs. The system now uses case-insensitive lookup to match other endpoints and avoid code-not-found errors.
App
Versions
Android: 3.0.38 (minimum supported: Android 7)
iOS: 3.0.38 (minimum supported: iOS 14)
-
Phoenix: 3.1.28
- Minimum binary version android: 3.0.38
-
Minimum binary version android: 3.0.38
Improvements
Updated Friend Referral Engine
Migrated the mobile "Invite Friends" referral destination from the legacy SSR (Server-Side Rendering) pages to the Customer Portal registration page.
Clicking Invite Now dynamically appends the generated tracking code directly to the portal's onboarding URL layout.
Performance
App upload time has been enhanced.
Bug Fixes
Setting "Open Catalog" as a push notification button action failed to redirect users to the defined catalog page upon clicking.
Clicking deep-linked push notifications failed to open targeted app pages, such as catalogs or the credit-sharing screen, and instead only launched the home view.
"Valid From" and "Valid Until" scheduling tags applied to Welcome Messages and Catalogs were ignored, causing the items to display indefinitely regardless of the configured time frames.
Gift card expiration dates misaligned between the hub configuration and the mobile application interface. The app displayed a "Valid Until" date one day earlier than the actual expiration deadline defined in the redemption terms
App incorrectly displayed gift expiration dates showing a "Valid Until" date one day earlier than the true backend configuration.
Product catalogs failed to load or became unstable when more than two were added to the navigation bar, which now fully supports multiple catalog configurations.
Data & BI
Bug Fixes
- AI Free Text filters generated conflicting SQL logic compared to manual consent filters, correcting the query engine to ensure identical audience counts.