Audience refresh rates

Learn how audience refresh rates determine how often user eligibility is reassessed in the Loyalty Engine, including daily, reactive, and manual refresh options.

An audience’s refresh rate dictates how often it updates to evaluate which users meet its criteria and should be included.

  • Initial assessment: When an audience is first created, all user profiles in your loyalty tenant are evaluated against the criteria, and matching users are added.

  • Ongoing refreshes: After the initial assessment, the audience refreshes at the selected interval, ensuring its membership remains up-to-date.

Audience calculations are designed to segment users based on historical activity and other data, rather than occurring in real-time.

  • Batch calculations: Initial, manual or daily re-calculations can take several hours to complete.

  • Reactive calculations: Typically near-instant, processing within a few minutes during normal traffic. However, during peak traffic, processing may take up to several hours.

Audience refresh rates can be found in the create and edit audience screens of the Loyalty Console

Refresh rates

Note on Audience Assignment for New Users

When a new user is added to the Loyalty Engine, their eligibility for audience inclusion is assessed immediately. If they meet the conditions defined for any audiences, they are added to those audiences almost instantly after their profile is created—regardless of the audience refresh rate.

This ensures that newly onboarded users are considered for all real-time or ongoing campaigns that depend on audience membership from the moment they join the program.

Manual

With a manual refresh rate, the audience must be refreshed manually using the “Refresh” button on the audience’s info page in the Loyalty Console. This triggers a full reassessment of all user profiles, similar to the daily refresh process, which may take a few hours.

  • Use case: When the audience is used for reporting and doesn’t affect the day-to-day loyalty program behaviour.

  • Example: Audiences used solely for reporting purposes that don’t need constant updates.

Daily

With a daily refresh rate, a full audience refresh begins at around 00:20:00 UTC each day. All user profiles are reassessed, adding or removing users based on the criteria. This process may take a few hours.

  • Use case: When eligibility is determined by non-event-based criteria.

  • Example: Users whose birthday is today. The audience refreshes daily to identify users with a birthday on the current day.

Reactive

With a reactive refresh rate, an individual user’s eligibility is reassessed every time an event is reported in their event stream. As mentioned above, this is typically near-instant, processing within a few minutes during normal traffic. However, during peak traffic, processing may take up to several hours.

  • Use case: When eligibility is determined by event-based criteria.

  • Example: Users who have purchased a reward. The audience refreshes within seconds of the reward purchase being recorded.

When an event is triggered, the Loyalty Engine processes it by firing all configured reactions first. After these reactions have completed, the user’s reactive audience memberships are recalculated. This sequence ensures that any changes in audience eligibility (based on the event) take effect only after the event and its reactions have been fully processed.

This order is essential to ensure accurate processing, as it prevents premature audience updates that might affect other reactions tied to the current event.

Daily Reactive

The daily reactive refresh rate combines both daily and reactive refresh rates. The entire audience refreshes daily, and individual user membership is reassessed each time an event is reported in their stream.

  • Use case: When eligibility is based on both event and non-event-based criteria.

  • Example: Users who haven’t purchased a reward in the last 7 days. The audience refreshes as soon as a reward is purchased and also daily to check when 7 days have passed since the last purchase.

Last updated

Was this helpful?