© UX Case Study · Promotion Calendar · Loyalty Cloud · Salesforce

LoyaltyPromotionCalendar

A unified promotions calendar that lets teams plan, schedule, and visualize loyalty campaigns, spot coverage gaps and overlaps, turning scattered campaigns into a clear coordinated view.

RoleProduct /
UX Designer
ScopeEnd-to-end UX ownership
General AvailabilityMarch 2023
CustomersIHG, Marriott, Mecca, 350+ more
Loyalty Promotions Calendar, a Salesforce timeline view of October 2022 promotions grouped into APAC and EMEA regions, with event bands and a promotion detail card open

The Problem

Promotions lived in lists, not on a timeline

Loyalty teams were running dozens of overlapping promotions with no way to see them together over time.

Every promotion was a record with a start and end date, but planning happened in spreadsheets and side conversations. Managers could not tell, at a glance, where two offers collided, where a market had no coverage, or how a season actually looked. The result was accidental overlaps, quiet gaps, and last-minute firefighting.

Design question

How might we give loyalty teams a single, time-based view to plan and coordinate every promotion, so they can catch gaps and overlaps before launch, not after?

Constraints & guardrails

01

Built on the platform

Lightning + SLDS, inside the existing Loyalty Management data model. No bespoke UI framework.

02

One source of truth

Visualize existing promotion records; any edit must write back safely to live data.

03

Built to scale

A program can hold hundreds of promotions across markets and tiers, so the view must stay legible and fast.

Persona

Loyalty Program Admin

Primary user Portrait of John Smith, loyalty program admin

John Smith

Loyalty Program Admin

“I want to tailor a targeted promotions strategy, so I can acquire customers, grow their engagement and Lifetime Value, and retain their business.”

Jobs to be done

01

Visualize promotions to identify coverage and gaps based on customizable views.

02

Take in-screen actions on promotions such as create/edit, performance scorecard review, and comparisons.

03

Integrate easily through upload/download features to keep the visualization accurate and up to date.

Pain points

?

What promotions are running when, to maximise coverage and identify overlaps?

?

Which promotions should be extended, created, or discontinued?

?

How can promotions from other systems be visualized and collaborated on by all stakeholders in one place?

Summary

Scope of the Project

Design the Loyalty Promotion Calendar: a single, centralized Gantt-style view of every promotion and event in a loyalty program, with enough action built into the view that admins can create, extend, or curtail a promotion without leaving it. Scope covered from jobs-to-be-done and feature prioritization through secondary research on four existing Salesforce and competitor calendars, to a build-versus-reuse recommendation.

01

Centralized visualization

Calendar-based Gantt view of promotions and events, grouped and filtered by product, geography, and customer segment, with weekly, monthly, yearly, and custom date ranges. Multiple preconfigured views, hierarchical aggregation, and Gantt bar color by status or product category.

02

Overlap and gap detection

Over-run display surfaces promotions and events scheduled on top of each other, so collisions and white space are visible in the view rather than discovered after launch.

03

In-calendar actions

Create a promotion in one click from the view, and edit an existing one to extend or curtail its end date. The data model supports multiple promotion and event types.

04

Performance and integration

Simple performance indicators per promotion (ROI, budget, percent completion to goal), plus email, export, and import through Excel, CSV, and links so promotions built in other systems appear on the same timeline.

Research and Analysis

Three of the four job clusters looked like problems other Salesforce teams had already solved, so before committing to a build I benchmarked every calendar we could borrow from against the same jobs-to-be-done and the same functional checklist.

TPM Promotion Calendar

Consumer Goods · managed package, GA July 2022

Retail constructs already modeled on the TPM Promotion object: promotions, ROI, products, customer segments, geographies. Create in the calendar view, open the account plan through P&L, and filter by custom date, partner, product, category, promotion phase, and type.

FSL Dispatcher Console

Core components GA after 242

Configurable on any Core object, likely needing code. Custom calendar views, Y-axis grouping across any two objects, attributes on the resource, category filtering, and resource phase. Hover detail was slated for 244.

Scheduler

Already on Core

Resource against week-of-month, with appointment slots and shifts separated by color, the same two-object grouping, attributes on hover, filtering, and a confirmed or not-confirmed phase.

Dynamics 365 Marketing

External reference point

The competitor benchmark for functional parity: Gantt view, group by, full time dimensions, over-run display, import and export, and hover detail with key metrics.

Functional coverage across the four calendars
Functionality TPM FSL Scheduler Dynamics
Calendar-based Gantt viewYesYesNoYes
Change Group By viewYesYesNoYes
Weekly, monthly, yearly, custom rangesYesYesDaily, weekly onlyYes
Over-run display for overlapsYesNoYesYes
Email, export, importImport onlyNoNoYes
Gantt bar colorYesYesYesYes
Hover to detail with key metricsYesNoYesYes
Add and edit on the calendar viewYesYesYesYes
Overlay against last yearNoNoNoNo
CollaborationNoNoNoNo
The finding that shaped the roadmap

Not one product, internal or competitor, supported year-over-year overlay or stakeholder collaboration. Both moved to 244 as roadmap work rather than capability we could borrow.

Three options, weighed

Build for Loyalty

Purpose-built for loyalty use cases, full control of the roadmap.

High effort, and it reuses none of the work other teams had done.

Reuse Scheduler or FSL

Already on Core and available on the resource object in 240.

Decoupling from resource ran to the end of 242, and loyalty use cases still needed substantial work.

Reuse the TPM calendar

Most out-of-the-box functionality, and retail and consumer goods use cases were already solved.

Ships as a managed package, and the timeline depended on TPM team capacity.

Early Versions

From rough timelines to a shipped calendar

Four rounds of iteration, each narrowing how much of a program a single timeline could carry before it stopped being readable. Because the view leans so heavily on colour and iconography to carry status, every round was vetted with the Accessibility team, so that nothing in the calendar depends on colour alone.

Promotions calendar with Black Friday week surfaced as a shaded event band across the timeline
Events surfaced on the timeline, so promotions could be planned around them.
Promotions calendar grouped by region, with Los Angeles and San Francisco as collapsible rows
Grouping by region, with events shown per market.
Promotions calendar grouped by campaign, with a promotion detail popover showing goal, dates, owner, and status
Grouping by campaign, with promotion detail and actions in a popover.
Gantt workspace at a three-day zoom, with promotions and field resources sharing rows and status shown as past, in progress, or planning
An early Gantt workspace at a three-day zoom, reusing the Field Service row model.
Month-long promotions calendar grouped into Los Angeles and San Francisco territories with event bands for NTO Anniversary and Halloween Week
A month at territory level, with status counts and event bands across the header.
Month-long promotions calendar listing every promotion in a flat Gantt view with target achieved and channel detail per row
The flat month view, every promotion in one list with channel and target detail.

Final Version

Promotion
Calendar

  • Header with description, horizon selector, and New.
  • Filter and Group By selectors.
  • Simple description and progress tracking, carried by color.
  • Clicking a running promotion opens a card with its details: dates, transaction journal type and reward, current liability and remaining balance, objective, and owner, with a link through to the full record.
Promotion Calendar month view with a promotion detail card open on the timeline, showing start and end date, transaction journal type, reward, current liability amount, objective, liability remaining, owner, and an Open button
Moving the horizon

Date
Picker

  • Jump the horizon to any date without leaving the calendar.
  • Month and year steppers for moving across a long planning window.
  • Today returns to the current horizon in one click.
Promotion Calendar with the start date picker open, showing October 2022 with the twelfth selected and month and year steppers above the grid
Changing the horizon

Timeline
Zooms

  • The Timeline View selector offers week, month, quarter, half-year, and year.
  • The year zoom spreads January through December, so seasonal coverage reads at a glance.
  • The week zoom drops to Sunday through Saturday, close enough to plan a single week.
  • The same records are rescaled rather than refiltered, so nothing leaves the view.
Timeline ViewYearly ViewWeekly View
Regrouping the timeline

Promotions by
different Groupings

  • Every promotion starts on one flat timeline, with View By set to All Promotions.
  • Opening View By offers product and category, region, fulfillment action, and promotion type.
  • Selecting Promotions by Region regroups the same records into region groups, each with its own count.
  • Coverage and gaps can then be read per market rather than across the whole program.
All PromotionsView ByPromotions by Region
Narrowing the view

Filters

  • The filter icon opens a panel beside the timeline, so the calendar never leaves the screen.
  • Filter on event and event type, promotion type, fulfillment action, campaign, and region.
  • Selections appear as removable chips, and Reset clears the whole set in one action.
  • Applying them narrows the timeline to the matching promotions, here APAC and EMEA only.
Filters panelFilters applied
Planning around the calendar

Events

  • Events sit in a band above the timeline, so promotions can be planned around retail moments.
  • The band expands to every event in the horizon, here NTO Anniversary, Army Day, Youth Festival, Alaska Week, and Kindness Week.
  • Each event also shades its own column down the full grid, so an overlap with a promotion is visible in place.
  • Hovering a shaded column names the events falling on those dates, including where several coincide.
Events expandedEvent hover

Behind the Design

Design decisions worth calling out

01

Reuse over building a fourth calendar

TPM already covered almost every function on the checklist, so reuse beat a fourth build. The release went to the two gaps no product had.

02

One timeline, regrouped on demand

One flat timeline that View By regroups, rather than a saved view per stakeholder. Hundreds of promotions stay legible, and coverage reads per market.

03

Nothing carried by colour alone

Colour carries status, overlap, and events, so every round was vetted with the Accessibility team. Bars also carry labels, groups carry counts, and hover names the event.

Outcome

Promotion Calendar