With the customer information safely stored and updated in People, you can start using features that will let you design various communication flows based on people`s needs, interests, and activities.
Each person profile includes information that will come in handy when you are targeting specific audiences. These "attributes" are split into three groups: standard, custom, and system-generated.
The standard fields are predefined and can be accessed by the Infobip API and web interface users. They include some basic profile information that varies base on whether the profile belongs to a person or company.
Configured per account and given a custom name, these types of attributes provide more specific information related to your customers.
Using custom fields, you can assign any information that is not available out-of-the-box in the standard fields. It could be a contract ending date, subscription, payment due, or some other data you need to be able to create the desired communication scenario.
The custom attribute names have to be unique.
To create a new custom attribute, go to the People module on our web interface, and then Configuration > Custom Attributes > Create Custom Attribute.
Select one of the data types: text, decimal number, whole number, true/false, date, date time. Once the type is selected, it cannot be changed.
This attribute is now visible on the profile page and can be used for communication campaigns.
It is possible to add a new custom field “on the fly” when importing your data to People. On the list on the mapping screen, select Add New Field.
You can also create and manage custom attributes via People API. Use one of the following methods:
These will come in handy in different situations, including when you want to reach out to a group of customers based on previous interactions which took place at a specific time.
This system-generated attribute refers to the last time your customer has been contacted within any channel. This information is also visible on the People homepage.
To create audience segments based on the fact when the customers last received a communication from you, go to People > Segments and select the Last Contacted attribute. Also, think about the accompanying operators that you would want to use with this attribute depending on the desired communication scenario.
The attribute can be specified directly in Flow by adding the Segment Audience element to your communication. In the element`s side panel, select the Last Contacted attribute, an operator (in this case, the operator is "before"), and date and time.
How are Operators Calculated?
For the Last Contacted operators, 1 day is 24 hours. So, if you select “last contacted exactly 0 days ago,” you will be reaching out to users who received the message less than 24 hours ago. One day is counted as 24 hours from the current moment, and anything between 24 and 48 hours would be “1 day ago”.
More than – let's say you want to send a message only to customers who have not been contacted during the past week. Go for the "more than 7 days ago" filter.
Less than – if you want to send reminders to customers who received a message from you during the past week but did not respond, select less than 7 days.
Exactly – use this operator in situations where the goal is to be very specific about the date; for example, you would like to reach out to people who received your last message exactly 2 days ago.
Before – reach out only to those that were last contacted before a specific date and time.
After – send a message to all who were last contacted after a certain date. You could select the date of your new product release and include the operator "after" to make sure this audience segment gets a message with more details because the product basics have already been communicated to them.
On – specify an exact date to be able to include in communication only those people who were last contacted on that particular date. These could be customers to whom you announced that the new loyalty program upgrade has been put into effect on that day.
Unknown – use it for situations where the last contacted data can`t be determined.
Last Contacted per Channel
The Last Contacted information is also available per channel. This means that you can use the most recent communication via a specific channel and the data related to it as a basis to decide when to send the next message, and maybe select a different channel for it. Available channels are Email, Messenger, Line, SMS, Push, or Telegram.
Use filters on the People homepage to find groups of people that were last contacted during a specific period of time via a specific channel.
Computed attributes are very similar to regular attributes however instead of setting the values manually you can calculate the value of the attribute based on other profile data and keep the value automatically updated when the underlying data changes.
In People, this can be done with Expression Attributes
. It is currently only possible to create expressions from profile attributes however in future you will be able to also use another type of computed attribute known as aggregates to handle event aggregation.
Expression attributes are a type of computed attribute that you can use to make profile attributes even more powerful. You can automatically calculate values based on standard and custom profile attributes in order to provide an additional way of engaging your audience and provide service in a more personalized way.
This is possible using Expression Language. The expression language in its base form comprises one or more constants, attributes, functions and operators in a formula that outputs an expression value. This value can then be stored as an expression attribute in a person profile.
As an example, you could use an expression attribute to calculate the conversion rate of an email campaign if you are capturing emails sent and emails clicked data. The expression attribute formula would look something like this:
If the value of any attribute in an expression formula is empty (i.e. not defined) then the expression will return an empty value for the profile.
When an expression attribute contains a value that changes over time then the expression attribute will automatically be updated as the value of the attribute changes. This way you can always trust that the expression attribute will be correct as standard and custom attribute values change.
To create an expression attribute go to People > Configuration and select Computed Attributes. Click Create Expression.
You can build your expression by typing in attribute names, functions and operators in the Expression box. The expression builder will offer auto-suggestions of available functions and attributes as you type. You can also use the Add Function and Add Attribute pickers. A dropdown list of available functions and attributes will open where you can make your selection and construct the formula.
If you make a mistake while creating your expression you will see an error message and be able to make the fix.
Also please take a look at the Expression Language Reference section for more detailed description and examples for all available Functions and Operators.
You can test your formula at any time in the creation process. Choose the profile that you wish to test your expression against and then get instant results as you construct and test your expression.
Click Create and Exit when you first create your expression to save it as a draft. In draft, the expression is not active and it will not be visible in person profiles, You can edit your expression as many times as you need when it is in draft. When you want to save your draft edits click Save and Exit.
When you are happy with the formula you can toggle Activate Expression to start the activation process to add the expression attribute to all profiles in People. During processing the attribute values are calculated for the whole audience. A % progress bar helps you track processing progress in the dashboard. Once complete the expression attribute is available across all profiles.
It is best practice to wait until the expression attribute is active before you use it. If you attempt to use the expression attribute while it is processing you may find that segments and filters using the expression attribute may be missing profiles.
You cannot edit active or processing expression attributes. This means that you will need to duplicate the expression attribute you wish to edit and then make your changes to the new version. Once you have tested and verified that your new changes are working as expected the expression attribute will be processed again. When it is active you can then discard the old expression attribute.
Remember to always check before you delete an expression attribute because deleted expression attributes cannot be restored and will be deleted permanently.
Sometimes when you send messages to customers, you want to include “a set of information” such as a list with insurance policies, upcoming payments, or items they`ve left in the shopping cart. So, what do you do then? An automatic campaign using customer attributes called Lists would be the best way forward.
The lists, available to Moments users, are stored per customer. Depending on the communication you want to create, you can send separate messages to the same customer about each of the stored items and mention all the objects from the stored list or just the first few.
If, for example, one person has more than one loan and you need to notify them about the approaching payment date for just one of the loans, this is where the Lists will come in handy. Keep in mind that a Person Profile represents one real person and all the data related to this person is stored within the same profile – different loans, information about different lines in the family cell phone plan where this person is a primary subscriber, etc.
Other applicable use cases:
• Store the cart items so you can later send an email that includes these items
• Remind customers about several expiring banking products
• Renewal of each family insurance policy that is stored in one profile
• Manage several loyalty cards per one person
What Are Lists
These custom attributes represent a list of objects with the type that you define. The image below should give you an idea about how this works in practice: the list name is Cart and each object consists of 4 fields: ProductName, Picture, Price, URL.
Lists are created on our web interface, and the values are set using API, Web SDK, Mobile SDK. When composing messages that will be sent via Broadcast or Flow, you can use Lists to remind customers about items left in the cart, upcoming payment dates, or something else.
Create New List
After signing in to our web interface, navigate to the People module > Configuration > Create Custom Attribute. Decide on the name for your list and select the type: List of objects.
The next step would be to enter all the information you want to have for each of the items on the list. In the abandoned cart scenario, the list consists of items left in the cart, and the information you might want to include is the following:
Once you have selected the objects for your list, you need to configure it so that your system and the Infobip platform can exchange information (set up the data stream to fill the lists with values).
Use the following methods to create lists or update the existing ones:
If you already have a file with customer information and lists, with all objects defined, import it to the People module. The file can be up to 15MB, and we support .csv, .xls, .xsls, .txt or .zip (the 15MB size limitation applies to an uncompressed file inside the zip, not the zipped file itself).
The example we are showing here involves the standard customer information, plus lists with objects that include the product name, price, image, and category.
Organize the list in your file and configure the list on the Configuration page in the People module so that the two match.
In the People module, click the Import People button and start importing the list. Assign fields: look for the name of the list you created and select the objects from that list. Next to each field, a checkbox will appear that allows you to replace the list that`s already stored in People.
Lists can be included in messages sent via Broadcast (email, SMS, Push, WhatsApp) or Flow (all channels). To show how this works, we will use an abandoned cart scenario where you want to remind a customer about the items awaiting them.
Keep in mind that the prerequisite for sending a list inside a message is to have the cart information stored in Person Profiles and to have the communication channel enabled.
Lists in SMS
These instructions will help you create several scenarios where lists are part of your messages. Steps 1-6 are the same for each scenario. But to get to the point where you are able to include lists in messages, remember to first set up the List of Objects on our web interface and implement the Web SDK integration.
Scenario 1: Show the first two items from the cart, and one field describing the items
1. Navigate to Moments > Create Broadcast, and select to send an SMS message.
2. Click the curly brackets icon, and from the drop-down menu select the list you created for this campaign – in this case, Cart B.
3. Next, type in the number of items you want to appear in the message. For this scenario, 2 items.
4.Select the field(s) from the list you want to include. For example, the Product Name.
5. Add characters and/or whitespace to separate the fields on the list. Otherwise, they will be joined together.
6. Click Analyze. A preview of the message will be displayed. If you like what you see, Launch the message, or go back to the editor to make changes.
Cart items in the message: 2
Cart field to be displayed inside the message: Product Name
Name of item 1: 6 ingredients for an addictive app
Name of item 2: Mobile Authentication; The Future of Mobile Security and User Engagement
Scenario 2: Show only the first item with several fields describing it
This example is about what the final result will be when you select the first item from the list, including fields describing the item, such as Product Name, Price, and URL.
Cart items in the message: 1
Cart fields to be displayed inside the message: Product Name, Product Price, URL
Item name: 6 ingredients for an addictive app
Item Price: $15
Item URL: shopnread.com/product/6-ingredients-for-an-addictive-app
Scenario 3: The cart has fewer items than the number set in the editor
Now we would want 20 items to be listed in the SMS message, so we type in the number in the editor. If the customer has a fewer number of items, they will see only those items together with the fields we selected – Product Name, Price, URL, Picture URL.
Cart items in the message: 20
Cart fields to be displayed inside the message: Product Name, Product Price, URL, Picture URL
Item name (displaying fewer than expected 20): 6 ingredients for an addictive app, Mobile Authentication; The Future of Mobile Security and User Engagement
Item Price: $15, $15
Item URL: shopnread.com/product/6-ingredients-for-an-addictive-app
Picture URL: https://shopnread.com/wp-content/uploads/2019/07/screenshot-2019-07-01-at-18.03.50.png...
Lists in Email
In an email message, items from the cart are shown in the table view, so the HTML markup is needed to incorporate lists into the message.
But first, here are a couple of things important to remember when using lists with email:
• You can incorporate a few items from the list that goes from 1-100
• If the list is empty, the table won’t be rendered at the end
Scenario 1: Show 3 items in the email message, including their price