In this article, we will cover:
- Overview & Definition
- Custom Member Attributes
- Custom Transaction Attributes
- Scope of Custom Transaction Attributes
- How to Assign Values to Attributes
- How to Implement Updates via Rules
- Data Types & Operations
- Practical Use Cases
- Next Steps
Trueloyal has all the built-in personalization components like member and transaction attributes to define a unique experience for members. These attributes can be used in "Personalization Rules" to enable businesses to tailor the program to individual customer needs. The Rule Engine allows you to set up personalization rules based on member or transaction attributes. You can award bonus points or set up exclusion rules based on the member attributes or the transaction attributes. Click here to know about personalization rules.
One of the features that makes the rule engine even more powerful is the ability to define custom attributes for members and transactions. We understand that each business will have different processes and may want to store different information against its members and transactions. This information may be used for personalization or even reporting. TrueLoyal allows you to define member attributes and transaction attributes that are unique to your business.
Overview & Definition
Member attributes are useful in delivering personalized experiences. These attributes can store custom information about members that extends beyond standard profile data. To use attributes for personalization, you first need to define the attributes for your program.
Custom Member Attributes
Custom member attributes allow you to store additional information about individual members. These attributes can be of four different data types:
Member Attribute Types
| Data Type | Description | Examples |
|---|---|---|
| String | Text values of any length | Gender, preferred destination, favorite brand |
| Date | Calendar dates | Last purchase date, birthday, membership anniversary |
| Number | Numeric values (integers or decimals) | Total purchases, loyalty tier level, points balance |
| List | Multiple values stored as tags or categories | Favorite hotel chains, visited cities, preferred activities |
Custom Transaction Attributes
Custom transaction attributes allow you to store metadata about individual transactions or activities within your program. Similar to member attributes, transaction attributes support four data types:
Transaction Attribute Types
| Data Type | Description | Examples |
|---|---|---|
| String | Text values associated with transactions | Booking class, payment method, service level |
| Date | Transaction-related dates | Check-in date, departure date, booking date |
| Number | Numeric values from transactions | Purchase amount, items purchased, stay duration |
| List | Multiple categories per transaction | Product categories, services used, amenities selected |
Different types of transactions can have different attributes. The additional information that you may want to capture when members earn points for purchases will be different from the information that you may want to capture on a discount reward redemption. So you have the ability to define a separate set of attributes for each activity and each reward.
Scope of Custom Transaction Attributes
Transaction attributes can have different scopes depending on how you want to organize and use them:
Scope Levels
- Global: Applies to all transactions across all activities and rewards
- Reward/Activity-specific: Applies only to specific rewards or activities you designate
- Rewards Global: Applies to all reward-related transactions
- Activities Global: Applies to all activity-related transactions
Example Scenario
ShopEasy, a multinational e-commerce platform offering a diverse range of products, aims to implement a rewards program that strengthens customer loyalty and enhances engagement. However, to ensure that the program effectively supports its unique business objectives, ShopEasy requires a personalized approach to rewards management.
One way to achieve this level of personalization is through the use of custom attributes. These attributes enable ShopEasy to define specific member and transaction information that is relevant to its customer base and business operations. For example, the company could create a custom attribute called “Purchase Category” to classify transactions according to the type of products purchased, such as electronics, clothing, or home appliances. This information can then be used to better understand purchasing patterns and design more relevant rewards.
ShopEasy can also use custom attributes to deliver rewards based on individual customer preferences. For instance, the company could introduce a “Favorite Product Category” attribute to capture each member’s preferred category. Customers who regularly purchase electronics could subsequently receive rewards tailored to their interests, such as discounts on the latest gadgets, special promotions, or exclusive access to pre-order sales. This targeted approach can make rewards more relevant and valuable to individual customers.
In addition to member- and transaction-specific attributes, ShopEasy can define global attributes that apply consistently across different activities and rewards. A “VIP Status” attribute, for example, could be used to identify high-value customers. Once established, this attribute could support a range of exclusive benefits, including priority customer support, early access to limited-edition products, or other premium services, regardless of the particular activity or reward involved.
By leveraging custom attributes, ShopEasy can create a rewards program that is closely aligned with its business requirements while delivering a more personalized customer experience. The ability to define unique member and transaction attributes, together with globally applicable attributes, provides greater flexibility in designing targeted rewards and benefits. Ultimately, this approach can increase customer satisfaction and engagement, strengthen brand loyalty, and encourage repeat purchases.
How to Assign Values to Attributes
There are four primary methods for assigning values to member and transaction attributes:
Option 1: Values Assigned Through the API
You can assign attribute values directly when creating or updating members through the TrueLoyal API:
- On Member Creation: Use the Create a Member API to set initial attribute values when enrolling members
- On Member Updates: Use the Update a Member API to modify attribute values when member data changes (e.g., location changes, preferences update)
Tip: API assignment is ideal for automated workflows and integrations with external systems.
Option 2: Values Assigned Through Admin Console
You can manually assign attribute values directly in the admin console:
- Login to the admin console
- Navigate to the member's profile
- In the member profile, locate all member attributes created for your program
- Click the edit button next to the attribute you wish to assign a value to
- Enter the desired value
- Save your changes
Note: Manual assignment through the admin console is best for one-off updates or small-scale changes.
Option 3: Values Assigned Through Program Rules
Attribute values can be automatically updated based on activities and rules configured in your program. This is powerful for dynamic attribute updates based on member behavior or transaction details.
Option 4: Values Assigned Through Batch Upload
For bulk updates to member attributes, use batch upload functionality:
- Login to the admin console
- Navigate to General >> Settings >> Batch Mode
- Download the CSV template for member attributes
- Populate the CSV with member IDs and attribute values
- Upload the batch file to update multiple members at once
To update the custom attributes for activities and transactions, download the appropriate CSV file from the batch mode section and follow the same upload process.
Tip: Batch upload is ideal for large-scale migrations or periodic data synchronizations.
How to Implement Updates via Rules
Once you've decided which attributes need to be updated, you can implement this through program rules based on activities and transactions.
- Navigate to Program Settings >> Activities >> Activity for which the rules need to be configured
- Select the condition and category for which you want to update the attribute
- Add the action "Update an attribute"
- Specify which attribute to update and how to update it (based on data type operations)
- Save and activate the rule
Once the process for updating member attributes is in place through rules, these attributes can be used to segment members for targeted campaigns and personalized messaging.
Data Types & Operations
Each attribute data type supports different operations when updating values. The operations available depend on the data type:
Data Type: Number
Number attributes support mathematical operations for dynamic updates:
- Add: Adds the entered value to the current attribute value. Example: Add 10 points to existing points total
- Subtract: Subtracts the entered value from the attribute. Example: Subtract a penalty from member score
- Multiply: Multiplies the attribute value by the entered number. Example: Double bonus points for special promotions
- Divide: Divides the attribute value by the entered number
- Assign: Directly assigns a new value, replacing the previous value entirely
Use Case: A travel company wants to track the number of bookings made by each member. When a member completes a booking (transaction), they want to increment the "total_bookings" attribute by 1. This can be configured as: When [Booking Activity] occurs, [Add: 1] to [total_bookings attribute].
Data Type: Date
Date attributes support time-based operations:
- Add days: Adds a specified number of days to the date attribute. Example: Set expiration date 365 days from today
- Assign: Sets the date to a specific value (e.g., today's date, a calculated date)
Use Case: A travel company wants to run cross-sell promotions for members who booked travel less than 30 days ago. When a member completes a booking, the "last_booking_date" attribute is set to today's date. This date can then be used in segmentation logic to identify recent bookers.
Data Type: List
List attributes support tag and category operations:
- Add: Adds a new value to the list, like adding tags. Example: Add "luxury_tier" to member preferences
- Remove: Removes a specific value from the list. Example: Remove "budget_option" when member opts out
- Assign: Directly assigns a complete list, replacing previous values
- Clear: Removes all values from the list attribute
Note: Duplicate values are not allowed in list attributes. Adding a value that already exists will be ignored.
Use Case: A travel company wants to store the names of all hotels booked by each member for personalized marketing. When a member completes a hotel booking transaction, the hotel name is added to the "hotels_visited" list attribute. This creates a complete history of preferred accommodations for each member.
Data Type: String
String attributes support direct value assignment:
- Assign: This is the only function available for string attributes. Whatever value is assigned replaces the previous string value entirely. Example: Update member's preferred destination to "UK"
Use Case: A travel company wants to run a promotion for members who have last flown to the UK. The "last_flight_destination" attribute is populated with the destination from each completed flight transaction. This attribute value can then be used in campaign segmentation and personalization.
Practical Use Cases
Scenario 1: Purchase Frequency Tracking
Track the number of purchases made by members to identify high-value customers and run engagement campaigns:
- Create a Number attribute "purchase_count"
- Create a rule: When [Purchase Activity] occurs, [Add: 1] to [purchase_count]
- Segment members with purchase_count > 50 for VIP treatment
Scenario 2: Recency-Based Targeting
Identify members based on how recently they made a transaction and send timely offers:
- Create a Date attribute "last_purchase_date"
- Create a rule: When [Purchase Activity] occurs, [Assign: Today's Date] to [last_purchase_date]
- Segment members where last_purchase_date is within the last 30 days for win-back campaigns
Scenario 3: Category Preference Tracking
Maintain a list of product categories or services each member has used for targeted recommendations:
- Create a List attribute "service_categories"
- Create rules: When [Service Activity] occurs, [Add: Category Name] to [service_categories]
- Use this data to recommend complementary services and create targeted cross-sell campaigns
Scenario 4: Milestone Tracking
Track membership milestones and anniversaries for personalized celebrations:
- Create a Date attribute "tier_achievement_date" when members reach premium tiers
- Use this date to send anniversary offers on the date they achieved their current tier
- Create a Number attribute "days_in_tier" and update it based on calculated differences
Scenario 5: Preference Management
Store member preferences for communication and offers:
- Create a List attribute "communication_preferences" (email, SMS, push, etc.)
- Create a String attribute "preferred_language"
- Use these attributes to personalize how and what you communicate with each member
Next Steps
Now that you understand how to define, assign, and update custom attributes, you can:
- Work with your program administrator to define the attributes your program needs
- Set up the appropriate assignment methods (API, manual, rules, or batch)
- Create rules and automations to keep attributes updated based on member behavior
- Use attributes in segmentation and personalization rules for targeted campaigns
- Monitor attribute data to identify trends and optimization opportunities
If you have any questions or concerns regarding Loyalty Custom Attributes, please don't hesitate to contact Technical Support at support@trueloyal.com.
Comments
Please sign in to leave a comment.