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