Contents
Overview
This document will go through the available rules that can be configured for Offers, Rewards and Promotions. A ruleset example is the Offer/Reward is only available on Mondays. These rules help markets personalize their incentive experiences for guests. An Incentive or benefit in the document refers to an Offer, Reward or Promotion.
Shared Rules
These rule types can be utilized across offers, promos, and rewards. Incentive / benefit refers to the offer, promo, or reward you are building.
Between-Dates
Incentive will not be visible in the app or apply if current date is outside of the dates specified
When entering the endDate, Sanity will actually store the date in UTC time and then pass it to the Loyalty Engine as such. As a result, when entering the endDate, use the date that you want the offer to stop showing up on.
E.g. If you want an offer to stop showing up as of March 31st then you would configure an endDate of March 30th in the offer sanity document
Note: We currently do not support the times that are entered under this ruleset. If you would like to limit the offer to specific times, use Between Times
Limit
Set the number of times the user may redeem the incentive
Can be bound by a time period, but doesn’t have to be
ie max 1x per day or max 1x total
Note when there is no defined maximum, the loyalty backend will default to a limit of 1
Day-Of-Week-Band
Incentive will not be visible in the app or apply if current calendar day is outside of the weekdays specified (M/T/W/Th/F/Sa/Su)
Enable the days that the offer should be active
Start and end of days are defined by user’s local time
Multiple selections will act like an 'or' - ie: must be a Wednesday or a Sunday
First-Order-Only
The reward will only be eligible to be redeemed on the user’s first loyalty transaction
Loyalty Between Times
Incentive will not be visible in the app or apply if a user’s local time is outside of the time band defined:
Evaluation is inclusive of the times listed
Note: We currently do not support the dates that are entered under this ruleset. If you would like to limit the offer to specific dates, use Between Dates
To get your desired local time for the incentive, treat that desired time as if it is UTC. Convert that time for the offer from UTC to your local time and enter your local time
Example: I am in EST (UTC - 5 hours during non-daylight savings time). I want an offer to be valid from 4PM - 10PM in users' local time. I will enter 11:00 to 17:00. Sanity will convert these to UTC by adding 5 hours so the time applied to users will be 4PM - 10PM in their local time
Cart Requirement
Checks all items added to cart, and if they match the cart requirement, incentive is valid
All items within the rule are treated like an ‘OR’ ie: must purchase a coke or a sprite
Can only list items and/or combos here
User Created
User must have been created in the loyalty system within this defined time band to be eligible for the incentive
ie if user was created between March 1st and March 30th, they are eligible for this special sign up reward
Restaurant Group Requirement
User must order at a specified restaurant in order to redeem the benefit
Restaurant groups also created in Sanity, can be uploaded via CSV process
This rule can also be set up as INCLUSIVE or EXCLUSIVE
Inclusive = Only stores within the specified restaurant groups are eligible for the offer
Exclusive = Only stores within the specified restaurant group are NOT eligible for the offer
Service Mode Requirement
The incentive will be available for all the service modes enabled. The incentive will still be visible but not redeemable when in other service modes
For Pickup: Eat In, Takeout, Drive Thru, Curbside
NOTE: With COVID, the team implemented feature that defaults all ‘pickup’ orders to Drive-Thru. Because of this, if you are setting an incentive to have a servicemode ruleset, you should select ALL pickup servicemodes, or NO pickup servicemodes
Subtotal Minimum Spend Requirement
If user’s purchase subtotal is over this threshold, they are eligible for the benefit. Subtotal does NOT include delivery fee, tax or any other type of service fee.
Specified in cents, not euros
ie: set
500
in Sanity == € 5.00 requirement
Total Minimum Spend Requirement
If user’s purchase total is over this threshold, they are eligible for the benefit. Total DOES include delivery fee, tax or any other type of service fee.
Specified in cents, not euros
ie: set
500
in Sanity == € 5.00 requirement
Payment Method
User must pay with a given card type in order to redeem the benefit
Note - evaluation happens at payment, so you should use this rule sparingly to avoid user frustration so close to the sale
Cool Down Period
If user has redeemed this particular incentive in the last n seconds, they are not eligible to redeem again
Transaction Count
The incentive is available to the user only if their transaction count is…
ON - on this transaction only
BETWEEN - between your x-y transactions
EVERY - on every multiple transaction
NOTE: Counts total loyalty transactions, not total transactions
Offers only Rules
Stackable
This is set in Earning Calculations. Offer can exist alongside a second, third, fourth (number is set in the configuration) offer(s) in the cart.
Note: The default is only one offer per cart
Authentication Required
When Authentication Required rule = false
a signed out user can redeem the offer in-store. This does not apply for mobile order, given our app does not allow guests to do a mobile purchase. When Authentication Required rule = true
only a signed in user is able to redeem the offer in-store.
Note: The default is all users need to Sign Up in order to be able to redeem offers in-store (in the case the rule is not added).
Note: This rule is not available for Reward given all users need to be signed in to redeem Rewards.
Rewards only Rules
Loyalty Points
Number of points to spend on the reward
This is REQUIRED on all rewards
Reward Price
This refers to the price of the Reward that will show in the app in cents. This rule should be used when Rewards that are redeemable for both loyalty points and paid money (e.g. € 3 euros) are configured.
Specified in cents, not euros
ie: set
500
in Sanity == € 5.00 requirement
Promos only Rules
Birthday Multiplier
Logic to check user’s birthday on every transaction.
If duration is set to month, month of current day must match birthday month
If duration is set to week, birthday must fall in the current calendar week (Sunday-Saturday)
If duration is set to day, birthday must be today