Creating users

Learn about the different methods for creating user accounts in the WLL platform, including standalone loyalty programs and embedded programs integrated with existing systems.

Creating users in the Loyalty Engine

User accounts are created in the Loyalty Engine using the Register a New User API endpoint.

The timing and method for calling this endpoint vary depending on your implementation, and whether you loyalty program is an embedded or standalone program.

If you're using our Loyalty Microsite customer interface, for more information on how users can be created in your program see 2. Microsite authentication.


Embedded loyalty programs

Embedded loyalty programs are the most common type of loyalty program.

In an embedded loyalty program, the loyalty program is integrated with an existing system or service, such as a membership portal, online web store, or mobile app. Users already have an account with the main service, and the loyalty program is accessed seamlessly through their existing login. No additional sign up or login flow or credentials are required to access the loyalty program; users simply use their existing account.

There are three common approaches to register users in the Loyalty Engine for embedded loyalty programs:

1. Account creation at the same time as main account registration

In this flow, when a user creates an account with the main service (e.g., on a web store or membership platform), their account is automatically registered in the Loyalty Engine. This approach ensures that the loyalty program is ready for the user from the moment they register, allowing you to begin recording loyalty-related events (such as purchases or profile updates) immediately.

If using this approach, ensure that you comply with local data protection and privacy laws. In some regions, users must be explicitly informed about the loyalty program and how their data will be processed before registration. You may need to communicate the loyalty aspect during the sign-up process, including how their data will be used and what they are agreeing to by joining.

Example: A customer signs up for an account on an online retail store. When they complete their registration, they are automatically enrolled in the store’s loyalty program and can browse loyalty-related offers and rewards, and start earning points with their very first purchase.

2. Opt-in registration

In this flow, the user has the choice to opt into the loyalty program at some point after creating their main account. Their Loyalty Engine account is not created until they explicitly opt in. This approach is useful in regions where users must consent to join loyalty programs or where clients wish to allow users to decide whether they want to participate. Consider that:

  • Opt-in may be mandatory in some regions for compliance with data privacy laws.

  • Events cannot be recorded for the user until they have opted in and their account is created in the Loyalty Engine.

Example: A user signs up for a fitness membership portal. After logging in, they are prompted to join the loyalty program to earn points for attending classes or referring friends. They choose to opt in, and their loyalty account is created at that point.

3. Just-in-time registration

With this approach, the user is registered in the Loyalty Engine only when they first interact with the loyalty program (e.g., when they attempt to earn or redeem points). This allows users to participate in the main service without any loyalty-related actions until they actively engage with the program. Consider that:

  • This method delays event tracking until the user first interacts with the loyalty program. Events occurring before a user has a Loyalty Engine account are not recorded in the Loyalty Engine.

Example: A user has been shopping with an online store for months but only decides to join the loyalty program when they see an offer to redeem points at checkout. At this point, their loyalty account is created, and they can start earning points moving forward.

User identifiers and account details

When a user is created in the Loyalty Engine, they are automatically assigned two key identifiers:

  • WLL Account Number: A unique account number generated by the Loyalty Engine for the user.

  • WLL ID: A unique internal identifier assigned by the Loyalty Engine to represent the user.

In addition to these, clients can link external system identifiers to users in the following ways:

  • External identifier: An optional field that can be used to link the user’s loyalty account to their profile in an external system (e.g., CRM or membership platform). This field can contain any arbitrary string and is not checked for uniqueness, but it cannot exceed 512 characters.

  • Auth identifier: When creating a user in administrative mode, this field is required to associate the loyalty account with the user’s ID in the tenant’s authentication server. If user authentication tokens are not used, this can be an arbitrary unique string. The Auth Identifier is ignored if the API call is made in user mode.

See User data & attributes, User ID properties and our API reference for more information.


Standalone loyalty programs

In a standalone loyalty program, users create an account specifically for your loyalty program. This setup is common when the loyalty program operates independently from other platforms or services. Real life examples of this are Nectar, Avios and Tickit.

Users register directly within the loyalty program interface, creating a unique username and password that is used exclusively to access the loyalty program.

Key features of standalone loyalty programs

  • Dedicated login: Users register and log in with credentials that are separate from any other systems or platforms they may use. This ensures their loyalty program experience is distinct, with no integration required for account access.

    • Note: Whilst a dedicated login is most common for standalone programs, it's not the only approach. Some programs do offer an SSO account that can be used to login to multiple services across a variety of brand partners – in this case the loyalty program is still standalone but shares some features with an embedded program.

  • Immediate event tracking: Since users create their accounts directly within the loyalty program, you can start tracking loyalty-related events, such as points earned or rewards redeemed, from the moment of registration.

Considerations for standalone loyalty programs

  • User engagement: Since the loyalty program stands alone, you’ll need strategies to drive user engagement, such as email campaigns or exclusive incentives.

  • Compliance with data regulations: Ensure that your registration process complies with local privacy laws (e.g., GDPR, CCPA). Make sure users understand how their data will be used and gain their consent when necessary.


FAQs

In regions with strict data privacy regulations, users may need to provide explicit consent before you can create a loyalty account. We recommend informing users about your loyalty program, explaining how their data will be used, and obtaining consent where required.

Yes, you can use the External Identifier field to associate a loyalty account with an external system, such as a CRM or membership platform. This field is optional, not required to be unique, and can contain any string up to 512 characters.

What happens if a user opts into the loyalty program after interacting with the main service?

If you’re using an opt-in registration or just-in-time registration approach, loyalty-related events are only tracked after the user registers in the Loyalty Engine. Events that occur before the loyalty account is created will not be recorded.

Can I delete or modify a user’s unique identifiers (Account Number or WLL ID)?

No, once created, a user’s WLL account number, WLL ID and Auth identifier are permanent and cannot be modified or deleted. However, you can update or change the External Identifier.

How can users update their profile information after registration?

In embedded programs, profile updates typically occur within your main service (e.g., CRM or website) and sync with the Loyalty Engine using the Update specific user API endpoint.

How does standalone registration differ from embedded registration?

Standalone registration requires users to create a unique account specifically for your loyalty program, usually with separate login credentials. Embedded registration, on the other hand, enables users to access the loyalty program using their existing login for your main service or app.

Can I create multiple user accounts for a single loyalty program participant?

No, each participant should only have one loyalty account, uniquely identified by their Auth Identifier and WLL Account Number. Creating multiple accounts can result in inaccurate tracking and duplicated rewards.

What’s the difference between the Auth Identifier and External Identifier?

The Auth Identifier links a loyalty account to a unique user ID in your main system (e.g., your app or website), while the External Identifier is an optional field for linking to other systems, such as CRMs.

Last updated

Was this helpful?