Loyalty Program
A Loyalty Program in Salesforce Loyalty Management is the parent record that defines a rewards program.
Definition
A Loyalty Program in Salesforce Loyalty Management is the parent record that defines a rewards program. It holds the program name, the description, the status, and the program type, and it links every member, tier, currency, voucher, promotion, and transaction into one program identity. The record lives on the LoyaltyProgram standard object, available in API version 51.0 and later. One org can run several Loyalty Programs at once, such as a consumer program for individuals and a partner program for companies, each with its own rules and member roster.
Loyalty Management is the industries product that hosts these programs. It targets retailers, airlines, hotels, financial services, and any B2B or B2C business that runs a structured rewards scheme. The Loyalty Program record sets the framework. Supporting objects do the operational work: tier groups and tiers define status levels, program currencies hold the points members earn and spend, and transaction journals record activity. The program connects to Marketing Cloud for tier-based campaigns, Service Cloud for member care, and Data Cloud for a unified customer profile.
How a Loyalty Program record holds everything together
The LoyaltyProgram standard object
LoyaltyProgram is the top record in the data model, and it represents the loyalty program inside an org. Every other piece of loyalty data points back to it. The object stores the program name, an optional description, and a status that controls whether the program is live. The program type field marks the scheme as serving individuals or companies, which shapes how members enroll. The record also carries enrollment processing settings and the access configuration for program processes. Salesforce introduced the object in API version 51.0, and it has grown with each release since. Because the program is the parent, deleting or closing it has wide effects, so most teams set the status to Draft while they build and only flip it to Active once tiers, currencies, and rules are ready. Think of the record as the container. It does not award a single point on its own, but nothing in the program works without it. When you query loyalty data through SOQL or the Loyalty Management API, the LoyaltyProgram Id is the key that ties member records, ledger entries, and vouchers back to one coherent program.
Tier groups and tiers
Status levels in a Loyalty Program are modeled as a tier group that contains individual tiers. A program can have one or more tier groups, and each group holds tiers like Silver, Gold, and Platinum. The tier group defines the qualifying currency that decides movement, plus the tier model that sets the assessment cadence. Common models are anniversary, where the clock starts from each member join date, and calendar, where everyone is assessed on the same fixed schedule. Each tier carries a minimum threshold of qualifying points. A member who crosses Gold's threshold moves up; one who falls below at assessment time moves down. You attach benefits to tiers so higher levels unlock perks such as point multipliers, exclusive offers, or wider catalog access. Tier movement is not manual. You configure the rules, click Generate Rules on the tier group, and Salesforce creates an active loyalty program process named Change Tier that evaluates members and reassigns them. This keeps tier status consistent across thousands of members without an admin touching each record.
Program currencies: qualifying and non-qualifying points
A Loyalty Program runs on currencies, and most programs use two kinds. Qualifying points count toward tier status and decide whether a member reaches Gold or Platinum. Non-qualifying points are the spendable balance members redeem for rewards, often branded as something like Member Points. Splitting the two is deliberate. It lets a member spend down their reward balance without losing the status they earned, because spending touches the non-qualifying currency while status depends on the qualifying one. Each currency is a LoyaltyProgramCurrency record tied to the program, and it carries expiration settings. A fixed expiration model might expire points three years after they are earned, which protects the program from an ever-growing liability on the balance sheet. Some programs add escrow or traceable currency subtypes for accounting needs. When a member earns points, the system writes a ledger entry against the right currency. When they redeem, it writes another. The running balance per currency is what members see in their account, and getting the currency design right at the start avoids painful migrations later.
Loyalty program processes and earning rules
The logic that awards and adjusts points lives in loyalty program processes. These are configured rules tied to the program through the LoyaltyProgramProcess object, and they fire as activity arrives. An accrual process awards points when a member makes a purchase, completes an action, or hits a milestone. A redemption process deducts points when a member claims a reward. A tier assessment process moves members between status levels. Each process is built with process steps that read incoming transaction data, apply criteria, and run a point formula. For example, an accrual rule might grant one point per dollar spent, then add a bonus when the order total clears a threshold. Processes are triggered by transaction journals, which are the records that capture each purchase or event flowing in from a point of sale, an ecommerce site, or a mobile app. Because the rules are configuration rather than code, an admin can adjust an earning formula or add a promotion without a deployment. That speed is part of why Loyalty Management appeals to marketing teams who change offers often.
Members, vouchers, and the transaction journal
Once a Loyalty Program is live, members enroll and the operational records start to flow. A LoyaltyProgramMember record represents each enrolled customer and links to an Account or Contact. It holds the member number, the enrollment date, the current tier, and the running point balances. Activity reaches the program as transaction journals, one record per purchase or qualifying event, which the program processes read to award or deduct points. Rewards are delivered as vouchers, which are issued codes a member redeems for a discount, a free product, or an experience. A voucher carries a value, an expiration, and a status that tracks whether it has been used. Every point movement is recorded in the ledger so the balance is auditable. This matters for trust and for finance, because outstanding points and live vouchers are a real liability. The member record, the journals, the vouchers, and the ledger together give a full history of what a customer earned, spent, and still holds, all tied back to the single Loyalty Program parent.
Running multiple programs in one org
Because LoyaltyProgram is just a record, one org can host several programs side by side. A retailer might run a consumer program for shoppers and a separate partner program for distributors. Each program has its own tier structure, its own currencies, its own rules, and its own member list. A single customer can belong to more than one program, and the system tracks each enrollment as a distinct member record. This separation keeps the data clean. Consumer earning rules never leak into the partner program, and a partner tier threshold never affects a shopper. It also lets a business pilot a new program quietly while the main one keeps running. You set the new program to Draft, build and test it with a small cohort, then activate it when ready. The tradeoff is that each program is configured and maintained on its own, so currencies, tiers, and processes are not shared. Teams planning several programs usually agree on naming conventions and a shared design pattern up front to keep the setup consistent and easy to support.
Why run loyalty on Salesforce
The main reason to host a Loyalty Program on Salesforce rather than a standalone platform is the connected customer view. Because the program sits on the core platform, other clouds can read its data directly. Marketing Cloud segments members by tier or point balance and sends targeted campaigns, so a Gold member and a new enrollee get different messages. Service Cloud shows the member context on every case, which lets an agent see tier and recent rewards while helping a customer. Data Cloud unifies the loyalty profile with web, mobile, and purchase signals to build a single picture of each person. Some programs also push rewards to Google Wallet for a digital pass, and CRM Analytics reports on program health and member behavior. A standalone loyalty tool can handle points and tiers well, but stitching its data back into marketing, service, and analytics usually means custom integration. On Salesforce, that data already lives next to everything else, which is the argument that wins most evaluations for teams already invested in the platform.
How to create a Loyalty Program
You create a Loyalty Program from the Loyalty Program record pages in an org with Loyalty Management enabled. Start in Draft, build out currencies and tiers, then activate. These steps cover the parent record; tiers, currencies, and processes are configured from its related lists afterward.
- Open the Loyalty Programs app
With the Loyalty Management permission set assigned, open the Loyalty Programs tab or app and click New to start a program record. Keep the status as Draft so members cannot enroll while you build.
- Enter program details
Give the program a clear name and a short description. Set the program type to match your audience, individuals for a B2C consumer program or companies for a B2B partner program, since this affects enrollment.
- Add program currencies
From the program, add a qualifying currency for tier status and a non-qualifying currency members redeem. Set an expiration model on the spendable currency, such as a fixed three-year expiry, to control point liability.
- Build the tier group and tiers
Create a tier group, choose its qualifying currency and tier model (anniversary or calendar), then add tiers like Silver, Gold, and Platinum with point thresholds. Use Manage Tier Eligibility and Generate Rules to create the Change Tier process.
- Add earning rules and activate
Configure loyalty program processes for accrual and redemption, attach benefits to tiers, test enrollment with a small cohort, then set the program status to Active so real members can join and earn.
The display name of the loyalty program, used across member records, processes, and reports.
Marks the program as serving individuals (B2C) or companies (B2B); this shapes how members enroll and how the data model is used.
Controls whether the program is live. Build in Draft, then switch to Active when tiers, currencies, and rules are ready. Closed retires the program.
- Design the rules on paper before configuring. Reversing earning or tier rules after launch breaks member trust and is hard to unwind.
- Keep qualifying and non-qualifying currencies separate, so members can spend their reward balance without losing earned tier status.
- Source-system integration (POS, ecommerce, mobile) that feeds transaction journals is usually the largest part of the project, so plan it upfront.
- Leave the program in Draft until tiers and currencies exist; activating an empty program lets members enroll with nothing to earn.
Prefer this walkthrough as its own page? How to Loyalty Program in Salesforce, step by step
Trust & references
Cross-checked against the following references.
Straight from the source - Salesforce's reference material on Loyalty Program.
Hands-on resources to go deeper on Loyalty Program.
About the Author
Dipojjal Chakrabarti is a B2C Solution Architect with 29 Salesforce certifications and over 13 years in the Salesforce ecosystem. He runs salesforcedictionary.com to help admins, developers, architects, and cert/interview candidates sharpen their fundamentals. More about Dipojjal.
Discussion
Loading discussion…