Event types

Learn about event types in the Loyalty Engine, including intrinsic system events and custom events that track user actions.

An event type is a way to categorise the different types of actions or behaviours that occur in your loyalty program. Each event type represents a specific action taken by a user or a system, such as making a purchase or completing a survey. Defining event types allows you to track and respond to specific user behaviours that are important for your loyalty program.

In the Loyalty Engine, event types help you organise and manage the variety of actions that can trigger reactions and reward mechanisms.


Types of event types

There are two types of event types in the Loyalty Engine: intrinsic and custom event types.

Intrinsic event types

Intrinsic event types are predefined system events that relate to key loyalty program activities facilitated by the Loyalty Engine, such as registering an account or purchasing a reward. Intrinsic event types are integral to the platform and cannot be archived or disabled.

Clients cannot report these events directly, they are automatically triggered by calls sent to the API. For example:

  • When you send a call to the Register new user API endpoint, a REGISTERED_ACCOUNT event is automatically reported by the Loyalty Engine.

  • When you send a command to the Purchase a reward API endpoint, a PURCHASED_REWARD event is automatically reported by the Loyalty Engine.

View the intrinsic event types

CLOSED_ACCOUNT Events of this type occur immediately after a user closes their account. This applies whether when a user chooses to close their account themselves or if it is deleted from the Loyalty Console by an admin. For more information on what happens when an account is closed, see Deleting users.

CONSENT_GIVEN & CONSENT_REVOKED Events of this type occur immediately after a consent is given or revoked by the user. For more information see Consents.

POINTS_ADJUSTED Events of this type occur immediately after an admin adjusts a user's points balance using the Loyalty Console 'Adjust Points' button.

POINTS_EXPIRED Events of this type occur after a user's points are flagged for removal by the Points system. It serves to trigger the removal of points due to expire from the user's balance. For more information about points expiry, see Points expiry.

PROFILE_UPDATED Events of this type occur immediately after a user updates their profile. The payload associated with this event contains information about which profile fields were updated and how many empty fields remain. For more information see User data & attributes.

PURCHASED_REWARD Events of this type occur immediately after a user purchases a reward.

REDEEMED_VOUCHER / BURNED_VOUCHER Events of this type occur immediately after a user redeems a WLL voucher or a voucher code is validated. For more information on the voucher purchase and redeem flow, see Benefits.

REFERRAL_TRANCHE_ACTIVATION Events of this type occur immediately after a referral tranche is activated by a referred user. This event requires the Referrals module.

REGISTERED_ACCOUNT Events of this type occur immediately after a user registers a new account.

VOUCHER_GIVEN Events of this type occur immediately after an administrator gives a WLL voucher to a user using the 'Give voucher' button in the user's profile in the Loyalty Console.

Custom event types

Custom event types are created by clients to track and report user behaviours they want to incentivise as part of their loyalty program. Custom event types represent actions that matter to your business, such as making a purchase, subscribing to a service, or engaging with content.

You can create as many custom event types as needed to represent the behaviours and activities you want to incentivise.

Reporting custom events is done using the Report an event API endpoint, so requires integration with the systems where these actions take place (e.g., CRM, e-commerce store). This allows you to send event data to the Loyalty Engine, which can then be used to trigger reactors and reward users for specific actions.

Custom event types pre-configured for White Label Loyalty products or services

Some Loyalty Engine features or modules create their own custom event types, these include but are not limited to:

  • Audiences: AUDIENCE_JOINED & AUDIENCE_LEFT Events of this type occur when a user joins or leaves an audience. For more information about Audience based events see Audience joined & left events.

  • Codes: SUBMITTED_CODE This event type supports the Promo Codes module.

  • Receipts: CLAIMED_RECEIPT, RECEIPT_AUTHORIZED, RECEIPT_CLAIM_STATUS_CHANGED & RECEIPT_REJECTED Events of these types support the Receipts & Products modules.

  • Shopify: SHOPIFY_ORDER_PLACED This event type supports our Shopify app app.

You may see some other custom event types if you opt for digital gift card fulfilment or any of our other modules or services.

To learn more about those event types, see the relevant knowledgebase article for those services.


FAQs

Can I edit event types after they are created?

Yes, you can edit custom event types, but intrinsic event types cannot be modified or disabled.

How do I archive or delete an event type?

Edit the event type and set the 'Active' toggle to false, thereby making the event type inactive. Setting an event type to inactive will archive it, causing any API calls reporting this event to be rejected. You can make an event type active again at a later date if required.

What happens if I delete an event type?

Event types cannot be deleted once created, but they can be archived. Archived event types will be rejected if reported, but the event history will still be available in the event stream.

Can I have duplicate event types?

No, event type names must be unique within your tenant to avoid confusion when reporting events and building reactors.

Do custom event types have any limits on the number of attributes in the payload?

While the Loyalty Engine is flexible in defining custom event types, it’s important to ensure the payload schema is optimised and doesn’t include unnecessary data to maintain performance and clarity. Only include data you're looking to create loyalty program rules with.

Are intrinsic event types required for all loyalty programs?

Yes, intrinsic event types represent essential system actions (like registering an account or purchasing a reward) and cannot be disabled, as they are fundamental to how the Loyalty Engine operates.

Can intrinsic events be reported using the Report an event API endpoint?

No, intrinsic event types are triggered automatically by specific API commands (such as registering an account). The Report an event API endpoint is exclusively for reporting custom event types, which function separately to track client-defined actions.

Which event type or API endpoint should be used to adjust a user's points balance?

In a well-designed loyalty program, points adjustments should not be treated as standalone events. Instead, points should be adjusted as a reaction to specific user actions or events—such as making a purchase or completing a behaviour you want to incentivise.

The points adjustment itself happens through reactors that are triggered by these meaningful events. If you find yourself needing to make non-specific points adjustments frequently, whether manually or systematically, it may indicate a gap in your program design or fundamental misunderstanding of the WLL platform. The goal is to tie points adjustments to user activity rather than relying on ad-hoc changes.

While you can create a custom event type for non-specific points adjustments, it’s recommended to avoid this – but if you must, we'd advise using it sparingly and ensuring that your program properly incentivises desired user behaviours.

Last updated

Was this helpful?