Mechanics
Shared Rules
These rule types can be utilized across offers, promos, and rewards. Incentive refers to the offer, promo, or reward you are building.
Between-Dates: Incentive will not be visible in the UI 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 UI 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 UI 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
ServiceMode 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 Requirement: If user’s purchase is over this threshold, they are eligible for the benefit
Specified in cents, not dollars
ie: set
500
in Sanity == $5.00 requirement
Payment Method: User must pay with a given card type in order to redeem offer
Note - evaluation happens at payment, so you should use this rule sparingly to avoid user frustration so close to the sale
Cool Down 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 particular offer can exist alongside a second offer in the cart
Note: The default is only one offer per cart
Rewards only Rules
Loyalty Points: Number of points to spend on the reward
This is REQUIRED on all rewards
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