The Member Attributes guide covers how you can create, edit, and delete member attributes. Cheetah Loyalty includes a wide range of default System Attributes applicable to most client loyalty programs. You can create and customize Attributes in order to meet your specific business requirements.
Table of contents
Member Attributes
Overview
View Member Attributes
Working with Attributes
Overview
Create a Member Attribute
Delete an Attribute
Deploy Attribute Metadata
Populate a Member Attribute
Member Attribute Categories
View Member Attribute Categories
Create a Member Attribute Category
Calculated Attributes
Overview
Create a Calculated Attribute
Refreshing Calculated Attributes
On-demand
Scheduled
Create a New Scheduled Job
Manually Execute a Scheduled Job
Member Attributes
Overview
The Member Attributes screen is used to view and manage the demographic, contact, address, and other details that relate to your Members. The Cheetah Loyalty platform supports a wide range of options and properties related to Member Attributes, such as different data types, the use of predefined values, the use of a default value, and organizing Attributes into Categories. You can also create Calculated Attributes that are populated based on a formula or function. (see Calculated Attributes).
View Member Attributes
To view your existing Member Attributes:
- From the Loyalty navigation menu, select Program > Member Attributes.
- Optionally search for the desired Attribute by entering the desired text string in the Search field. The platform will search for this text string anywhere within the Attribute name, data type, source, or Category fields.
- By default, the Attributes are sorted by Attribute ID. Using the Sort By drop-down menu, optionally apply a different sort order (by name, by date created, or by date updated).
- Press Enter or click the Search button. The platform displays the Attributes that match your search criteria.
- To view additional details about an Attribute, click on the desired Attribute Name. The Edit Member Attribute pop-up window is displayed.
Cheetah Loyalty supports a large set of standard Members Attributes applicable to most client loyalty programs. These standard Attributes will contain the label "System" within the Settings column.
Working with Attributes
Overview
As noted above, Cheetah Loyalty includes a wide range of default System Attributes applicable to most client loyalty programs. In addition, you can create custom Attributes in order to meet your specific business requirements.
Create a Member Attribute
To create a new Member Attribute:
- Within the Loyalty navigation menu, select Program > Member Attributes.
- Enter the Display Name value for the new Attribute.
- From the drop-down menu, select the data type:
- Boolean: Used for fields that allow only two possible values, such as yes / no or true / false.
- Date: Used to store a calendar date.
- Decimal: Used to store numeric data, with both a precision (total number of digits) and a scale (number of digits to the right of the decimal point).
- Email: Used to store a Member's email address. This attribute is used to contact Members when sending Email Messages.
- Integer: Used to store numeric data (with no decimals).
- Phone: Used to store a Member's mobile phone number. This attribute is used to contact Members when sending SMS Text Messages.
- String: Used to store text.
- DateTime: Used for values that contain both date and time components.
- URL: Used to store website URLs.
- Table: Used to store a result set.
- List of String: Used to store multiple string values in the same field.
- Click Create to display the Edit Member Attribute pop-up window.
- The Display Name field is populated with the value you entered above; optionally edit this value.
- The Internal Name is automatically populated based on the Display Name value. This field is not editable by default. To edit the Internal Name, check Edit Internal Name. A confirmation dialog box is displayed; click Ok. Edit the Internal Name value.
- In the Description field, enter a description of the Attribute.
- The Type menu is populated with the data type you selected above; optionally edit this value.
- The Domain field allows you to define a set of valid values that will be accepted in this Attribute. Optionally enter one or more values (separated by commas) in this field.
- Optionally enter a default value.
- Click Save.
- In the Categories field, assign one or more Categories to this Attribute. Categories are used to organize Member Attributes into groups. See Member Attribute Categories for more details.
Note: If this Attribute will be used to manage a recipient's eligibility to be contacted,
select the Message Subscriptions Category.
- Check the following options that apply to this Attribute:
- Read-only: The value in this Attribute can't be modified.
- Required: This Attribute must be populated.
- Write once: Populate the Attribute once, then it becomes read-only.
- API Visible: This Attribute is used by the platform's APIs. Please consider this option carefully, and determine if this Attribute really needs to be included as part of the platform's APIs. Adding unnecessary Attributes to API payloads may have an impact on performance.
- Use as Dimension: This Attribute is accessible from within the platform's reporting.
- BU Specific: This feature relates to the platform's "Parent / Child" account hierarchy. Check this check box if this Attribute is specific to a Business Unit.
The remaining options are relevant only if this Attribute is a Calculated Attribute, meaning its value should be calculated, or derived, based on a formula. Please see Calculated Attributes for more details.
To make your new Attribute available, you must deploy metadata; see below for details on this process.
Delete an Attribute
To delete a Member Attribute:
- Within the Loyalty navigation menu, select Program > Member Attributes.
- Optionally enter search criteria and / or a sort method.
- Click the name of the desired Attribute. The Edit Member Attribute pop-up window is displayed.
- Click Delete.
- A confirmation dialog box is displayed; click Confirm.
We encourage Archiving vs. Deleting a previously published attribute or preference. If we delete the attribute and we have an error encountered, it's hard to trace what attribute might be causing since it's already deleted.
Note: After Deleting an Attribute, you must deploy metadata; see below for details on this process.
Deploy Attribute Metadata
After Publishing, Editing Published, or Deleting Member Attributes, you must deploy the changes in order to make them available within the platform.
- Within the Loyalty navigation menu, select Program > Deployments.
- Click Deploy New Version. The New Program Version pop-up window is displayed.
- In the Version field, enter a deployment version. The best practice is to increment the previous version number, which is displayed in the Program Versions log.
- In the Note field, enter a description of this version.
- Click Create & Deploy Metadata.
- A confirmation dialog box is displayed; click Confirm.
- If the deployment was successful, you'll see a message that says, Metadata has been deployed.
- Click Close.
Please note that Update of type = change type of attribute from 1 type to another e.g. boolean to string, this may cause issues on the back end. There is currently not a restriction in the UI to discourage this.
Populate a Member Attribute
The Loyalty platform supports a wide range of options for populating or updating the value stored in a Member Attribute. Some of these options include:
- Manual: Via the Members screen or the Customer Service Representative (CSR) screen within Loyalty, you can manually update or populate a Member Attribute.
- Import: You can import a file into Loyalty, and use the data on that file to update or populate Member Attributes. The import process allows you to map each column in the import file to the desired Member Attribute. You can also configure additional details, such as only writing new records, or overwriting existing values with the values in the import file.
- API Request: Loyalty clients are able to send API requests messages with Member Attribute values that will populate or update a Member record.
- Calculated Attributes (see below in this document): The value in a Calculated Attribute is derived based on an expression. The value can be updated on-demand, or on a regularly scheduled basis.
- Triggered Action: Triggered Actions are used to monitor changes to a Member Profile, and to then execute a specific action if a specific condition is satisfied. The action can be expressed using Groovy, and can be used to derive a value and populate a Member Attribute.
Note: Triggered Actions differ from Calculated Attributes mostly regarding when the value is refreshed. A Triggered Action executes only when its specified triggering incident occurs. In general, you can consider using a Triggered Action in place of a Calculated Attribute if the attribute value is calculated only once, or if there is no need to recompute the value.
Member Attribute Categories
Member Attribute Categories are used to organize Member Attributes.
View Member Attribute Categories
To view your existing Member Attribute Categories:
- From the Loyalty navigation menu, select Program > Settings > Member Attributes Categories.
- Optionally search for the desired Member Attribute Category by entering the desired text string in the Search field. The platform will search for this text string anywhere within the Member Attribute Category display name or internal name.
- By default, the Member Attribute Categories are sorted by ID. Using the Sort By drop-down menu, optionally apply a different sort order (by name, by date created, or by date updated).
- Press Enter or click the Search button. The platform displays the Member Attribute Categories that match your search criteria.
- To view or edit the details of a Member Attribute Category, click on the desired Member Attribute Category name. The Edit Member Attribute Category pop-up window is displayed.
Create a Member Attribute Category
To define a new Member Attribute Category:
- Within the Loyalty navigation menu, select Program > Settings > Member Attribute Categories.
- Enter the Display Name value for the new Member Attribute Category.
- Click Create to display the Edit Member Attribute Category pop-up window.
- The Display Name field is populated with the value you entered above; optionally edit this value.
- The Internal Name is automatically populated based on the Display Name value. This field is not editable by default. To edit the Internal Name, check Edit Internal Name. A confirmation dialog box is displayed; click Ok. Edit the Internal Name value.
- To assign an image to this Category, click Choose File, then browse to and select the desired image file.
- In the Description field, enter a description of the Member Attribute Category.
- Optionally check Internal.
- Click Save.
Calculated Attributes
Overview
This section describes how to create, use, and manage Calculated Attributes within Cheetah Loyalty. A Calculated Attribute is a special type of Member Attribute whose value is dynamically derived instead of being directly specified. The Calculated Attribute value holds the result of the expression as it was last computed.
At a minimum, a Calculated Attributed is defined by the following:
- A name
- A data type
- An expression for deriving the attribute value
- A Time-to-Live (TTL) value that indicates how long the calculated value is considered valid before it's re-calculated
- A computation mode defining when the attribute value should be computed
Loyalty supports the use of Groovy for writing Calculated Attribute expressions. Groovy is a
scripting language that integrates with Java.
Note: You must have a solid understanding of the Groovy language in order to write Calculated Attribute expressions. For more information on Groovy, please see: https://groovy-lang.org/
Within the Groovy expression, Calculated Attributes can use any Profile attribute and/or any Activity attribute that's defined within the Loyalty database. In addition, the platform supports the use of predefined functions to make the scripting easier. For more information on calculation functions, please see the Loyalty Online Help system.
Create a Calculated Attribute
To create a new Calculated Attribute:
- Within the Loyalty navigation menu, select Program > Member Attributes.
- Enter the Display Name value for the new attribute.
- From the drop-down menu, select the data type. A Calculated Attribute must be one of the following data types:
- Boolean
- String
- Big Decimal
- Date Time
- Click Create to display the Edit Member Attribute pop-up window.
- The Display Name field is populated with the value you entered above; optionally edit this value.
- The Internal Name is automatically populated based on the Display Name value. This field is not editable by default. To edit the Internal Name, check Edit Internal Name. A confirmation dialog box is displayed; click Ok. Edit the Internal Name value.
- In the Description field, enter a description of the Attribute.
- The Type menu is populated with the data type you selected above; optionally edit this value.
- In the Categories field, assign one or more Categories to this Attribute. Categories are used to organize Member Attributes into groups.
- Check Read-only (this option must be checked for Calculated Attributes).
- Click Save
- Check the following options that apply to this Attribute:
- Required: This Attribute must be populated.
- Write once: Populate the Attribute once, then it becomes read-only.
- API Visible: This Attribute is used by the platform's APIs. Please consider this option carefully, and determine if this Attribute really needs to be included as part of the platform's APIs. Adding unnecessary Attributes to API payloads may have an impact on performance.
- Static: Once calculated, the value in this Attribute never expires.
- Use as Dimension: This Attribute is accessible from within the platform's reporting.
- BU Specific: This feature relates to the platform's Parent/Child account hierarchy. Check this checkbox if this Attribute is specific to a Business Unit.
- Check Calculated to indicate that this is a Calculated Attribute.
- In the Expression field, enter the Groovy expression used to derive the value in this Calculated Attribute.
- In the TTL (Time-to-Live) field, indicate (in seconds) how long the calculated value is considered valid before it's re-calculated.
If you attempt to use a Calculated Attribute, and its current value is still within the Time-to-
Live range, the platform will serve up the existing cached value, rather than recalculating it.
If you're beyond the TTL range, the platform will recalculate the value. When determining the TTL value for your Calculated Attribute, you must consider the type of data stored in this field, and how it will be used. If you make the TTL value too short, you potentially impact performance by unnecessarily recalculating a value when you may not need to. Conversely, if you make the TTL value too long, you risk using outdated or "stale" data. Generally speaking, you must determine a TTL value that strikes a balance between performance and timeliness.
- In the Condition field, optionally define the business rules that identify which records need to have this Calculated Attribute populated.
To make your new Calculated Attribute available, you must deploy metadata; see Deploy Attribute Metadata for details on this process.
Refreshing Calculated Attributes
The platform supports two different methods of refreshing the values in a Calculated Attributes. These methods (called computation modes) are On-demand and Scheduled.
On-demand
On-demand computation happens when some event or caller needs to display the value in the Calculated Attribute for an individual. This caller could be, for example, a mobile app, a website, an API call, or a user within the platform's interface.
When this call occurs, the platform checks the Time-to-Live value for the Calculated Attribute for the referenced Member. If the current time is beyond the TTL range, the platform will recalculate the value in the Calculated Attribute. Conversely, if the current time is still within the TTL range, the platform will simply show the existing cached value.
Scheduled
Scheduled computation occurs based on a Scheduled Job. When the job executes, it will
recalculate the values in the Calculated Attribute for every Member record in the database.
Create a New Scheduled Job
To create a new Scheduled Job used to update a Calculated Attribute:
- From the navigation menu in Loyalty, select Admin > Jobs > Scheduled Jobs.
- In the Enter Display Name field, enter a name for the new Scheduled Job.
- Click Create to display the Edit Scheduled Job pop-up window.
- The Display Name field is populated with the value you entered above; optionally edit this value.
- The Internal Name is automatically populated based on the Name value. This field is not editable by default. To edit the Internal Name, check Edit Internal Name. A confirmation dialog box is displayed; click Ok. Edit the Internal Name value.
- Optionally, in the Description field, enter a description of the Scheduled Job.
- From the Recurrence drop-down menu, select Repeat.
- Next to Schedule Composer, select an interval:
- Hour: Select the minute past the hour.
- Day: Select the time of day.
- Week: Select the day of the week, and the time of day.
- Month: Select the day of the month, and the time of day.
- Year: Select the day, the month, and the time of day.
- To manually enter a CRON expression, check Advanced Mode, then enter the expression.
- Define the Scheduled Job begin and end date. If you leave these date ranges blank, the Scheduled Job will run indefinitely.
- From the Time Zone menu, select the time zone to use when determining the time to execute.
- Toggle the Active switch to On.
- If you want the platform to create a log of every execution of this Scheduled Job, select Yes from the Log Every Run drop-down menu.
- If you need this Scheduled Job to run at a higher priority than other Jobs, select High from the Priority drop-down menu.
- To send notifications after each execution, enter one or more email addresses in the Notification Emails field.
- To select a background color for this Scheduled Job when viewing Jobs in Calendar Mode, click the square next to Calendar Background, and select a color from the color picker.
- From the Action Type drop-down menu, select Calculate Attributes.
- Click into the Attributes to Update field, and select a Calculated Attribute. Repeat this step as needed to add more Calculated Attributes.
- Click Save.
Manually Execute a Scheduled Job
A Scheduled Job will execute automatically based on its schedule, as described above. You
can also manually execute a Scheduled Job:
- From the Loyalty navigation menu, select Admin > Jobs > Scheduled Jobs.
- Optionally enter a search string and/or filter option, and click the Search button.
- Click the name of the desired Scheduled Job. The Scheduled Job detail screen is displayed.
- Near the top-right corner of the screen, click the Run button.