Overview
Use this guide to build a loyalty program in which members earn points for actions you choose, accumulate them in a Reward Bank, and redeem them for rewards you configure.- Brand Your Program
- Tag Your Website
- Send Your Earning Events
- Configure the Reward Bank
- Show Members Their Balance
- Design Your Experience (done by your creative team)
- Add to Your Mobile App
Building a referral program for a membership business — advocates sharing with friends, both rewarded? That is a different build. See Membership.
Brand Your Program
Loyalty programs are long-lived and email-heavy. Members receive messages for years, so branding matters more here than in a short campaign.Create a CNAME for Your Domain
Task DurationThis task will typically take an IT/Ops engineering team 10–15 minutes to complete.
Send From Your Branded Email
A loyalty program sends earned reward emails, redemption confirmations, and reminders. The from address is typically something likedo-not-reply@mycompany.com.
To update your SPF (Sender Policy Framework) records and install Extole DKIM (DomainKeys Identified Mail) keys, see Extole DNS Requirements.
Tag Your Website
Extole works with your site using lightweight JavaScript tags. The core tag must be included on every page and contains Extole’s JavaScript library. Tags can go anywhere in the HTML and do not need to load in any particular order.Add the Core Tag
Find your active program domain and use it for your core tag. It will look likebrand.extole.io (unbranded) or rewards.brand.com (branded).
Extole Core Tag
Add Marketing Tags
Marketing tags tell Extole where to show calls to action promoting the program — a banner inviting customers to join, or a balance prompt on an account page. They reference aspan by id and are placed where they should appear.
Span ID
Track Enrollment with Registration Tags
Reward members for joining, and establish the profile their balance will belong to.Registration Tag
Track Purchases with Conversion Tags
Add the conversion tag to your order confirmation page so Extole receives the purchase and can issue points for it.Conversion Tag
Send Your Earning Events
Each way to earn is an event paired with a reward rule. Actions that happen off your website — an in-store purchase, a completed survey, a tenure milestone — arrive by API or file. For the catalog of actions a loyalty program commonly rewards, see Ways to Earn.Create an Extole Access Token
API calls authenticate with an access token in the request header. Keys are managed in the My Extole Security Center. Create one with Create New Access Token; My Extole displays the key once. Test authentication with the client API method:Send Events by API
Send a request for each way to earn that happens outside your site. The same purchase can arrive by both tag and API when both send the sameorder_id; Extole uses that value to deduplicate the
event.
Event API Call
cart_value and send whatever data your reward rules evaluate.
To write a value onto the member’s profile at the same time, prefix the key with me.public. — so me.public.loyalty_tier writes an attribute named loyalty_tier that campaign rules, audiences and reports can read. See Set Person Profile Data from an Event.
Send Events by File
Where activity settles in batches — overnight retail sales, back-office adjustments — deliver events as a file to Extole’s SFTP instead. See File-Based Events and Extole’s SFTP Server.Where Events Come From
Every source resolves to one of three paths, in descending order of preference: a packaged integration, the Events API, or file upload.
Check the direction of each packaged integration before designing around it. Several report activity into Extole without accepting rewards back out, which matters if you intend to redeem into store credit held by that platform.
Point of Sale and In-Store
In-store purchases reach Extole when something ties the transaction to a person — in practice the member ID your loyalty program already issues, captured at the register and sent with the transaction aspartner_user_id. Where in-store data settles in batches, a nightly file is usually right; where points must appear before the member leaves the store, send the transaction over the API.
This path covers earning. Redeeming a balance at the register, or discounting inside a live transaction, depends on what your point-of-sale system allows — discuss it with your Extole team before designing around it.
If most of your revenue runs through retailers you don’t control directly — a brand sold through Target, Walmart, or Costco rather than your own stores — a direct point-of-sale integration isn’t an option. Some brands bridge this with a receipt-upload or purchase-matching service: the customer uploads or forwards a receipt, the service matches it to their account, and sends Extole the resulting event. The identifier tying the purchase back to a loyalty member is usually an email address or phone number captured at that step. Evaluate any such service on its own before committing to it — Extole has no packaged integration with this category of provider.
Contact Center
Agents work with a loyalty program in two ways, both available without an integration. They can look a member up in User Support, which shows the profile, events, rewards, and the reasons a reward did or did not issue. And they can correct a balance by creating a missing event or issuing a reward directly; see Managing Member Points. Where agents should stay in their own tooling, send the event from your contact center platform over the Events API.Configure the Reward Bank
Install the Reward Bank extension from Partners > Extensions. The full click-path is in the Reward Bank Configuration Guide; the decisions that shape a loyalty program are these.Collectible Rewards
Create one Collectible Reward per way to earn, named so the value is obvious.- Fixed — a set number of points, for actions with no monetary value such as a review or an app download.
- Dynamic — a percentage of the transaction, for purchases. A maximum per transaction is required; set it deliberately rather than high, because it is the cap on what a single event can cost you.
Redemption Options
Redemption Options are what a balance buys. Configure each as a reward supplier with a dynamic value rather than a fixed amount, so the member’s balance determines the value. Align the maximum with the limit your reward provider enforces.Redemption Ratio
Set how many points make one dollar of redeemable value. The default is1, so one point is worth one dollar. Set it to 10 and ten points are worth one dollar.
This number helps determine the cost of your program and how the offer reads to a member. Choose it before launch and treat changes as a policy change. See Choosing Your Point-to-Reward Ratio.
Tiers
If members earn at different rates by status, you can send the tier as a profile attribute or as audience membership. Reward rules can then issue a different value by tier. See Tiers and Member Status.Show Members Their Balance
Choose how members reach their balance:
The Reward Bank requires a verified consumer. Access from an email link is authenticated with a JSON Web Token appended to the link.
Read a Balance
Replacebrand.extole.io with your own program domain, which you can find in the
Tech Center. The Reward Bank zone name is configurable and is
often bankable_rewards.
eligible_rewards (the rewards making up the balance), redemption_suppliers (the options available), redemption_history, and reward_parameters — which includes ratio_of_value_to_dollars, the Redemption Ratio. Read that rather than hard-coding a ratio in your front end, so a change made in My Extole takes effect without a release.
Redeem
Redeem Bankable Rewards
reward_supplier_id must be one of the suppliers returned in redemption_suppliers.
For the full balance and state model, see Points and Balances.
Expire or Revoke Points
Useexpire to remove value under the program’s expiration policy. Use revoke to invalidate a
fulfilled or sent reward when the supplier supports revocation. Both actions are audited and accept
an optional reason stored with the record.
revoke.
