Incentivizing users to provide profile information
Customer profiles contain valuable zero-party data that can be used to personalize the brand experience for customers. This tutorial shows how to use achievements to incentivize new and existing customers to share optional profile information.
We will set up a one-time achievement that awards customers 100 loyalty points for providing optional profile details, such as their date of birth and phone number.
Setting up the achievement and rules
Prepare your environment
- Create a standard campaign named
Profile Details Bonus
with the Achievements and Loyalty features enabled. We will define the rules for this campaign later in this tutorial. - Create a profile-based
loyalty program named
Coffee Club
and connect it to your Application. - Create custom attributes named Date of birth and Phone number with Customer Profile as the associated entity for both. Ensure to connect each attribute to the Application that contains the Profile Details Bonus campaign.
Create the achievement
Create a one-time user-action achievement
named Enter Profile Details
:
- Set the Target to
1
. The customer's progress gets updated to1
as soon as they provide the optional profile details. - Select the End progress on achieving target option.
- Set any achievement period. In this example, the achievement period does not matter because
the achievement target is
1
, meaning the achievement is completed when the user makes their first progress.
To complete the achievement, the customer must provide their date of birth and phone number. Let's set up a rule to track this.
Create a rule to update customer progress
Let's create a rule in
the campaign to update a customer's progress when they provide optional profile details.
We will name this rule Update Achievement Progress
.
Customers receive points only after they provide their date of birth and phone number. In this first rule, we check if the Rule Engine has triggered the Customer Profile Update
event and the Date of birth and Phone number attributes contain a value.
Rule 1: Conditions
When all of these are true:
-
Check customer progress in an achievement:
- Achievement
Enter Profile Details
is not
Completed
- Achievement
-
Check for event types and custom event values:
- Event type:
Customer Profile Update
- Event type:
-
Check if attribute exists:
- Date of birth (Customer Profile)
exists
- Date of birth (Customer Profile)
-
Check if attribute exists:
- Phone number (Customer Profile)
exists
- Phone number (Customer Profile)
Rule 1: Effects
- Update customer progress:
- Achievement name:
Enter Profile Details
- Update progress by:
1
- Achievement name:
The rule only checks whether the Date of birth and Phone number attributes contain a value. You can add validation checks for these attributes in your implementation.
Create a rule to award loyalty points
Let's create a second rule that checks if the achievement has been
completed and immediately awards the customer with 100 loyalty points.
We can name the rule Profile Details Award
.
Rule 2: Conditions
- Has completed an achievement:
- Achievement name:
Enter Profile Details
.
- Achievement name:
Rule 2: Effects
- Add loyalty points:
- Loyalty program:
Coffee Club
- Recipient:
Current Customer
- Reason:
Optional profile details provided
- Amount of points:
100
- Loyalty program: