Custom Attributes
Why and how to best take advantage of custom attributes in your journeys
In this article we will walk through the power of custom attributes to better tag your customers as they flow through a journey.
What are custom attributes
Custom attributes allow you to tag each customer as they pass through journey nodes. It's a great way to add context to your customers as they flow through your journey and reference them in your reports or use those as personalization fields.
Keep in mind that a journey must be saved first, before its custom attributes become available as a personalization / additional field in an export node.
How to use it
The following node types currently support custom attributes:
- Entry node
- Criteria node
- Destination node
- Experiment node (on each variation)
by navigating to the node's settings tab and adding your custom attributes.
Note Criteria nodes allow you to have different custom attributes for the success vs. failure paths as shown below:
What's extra powerful about custom attributes is that your values can either be:
- A static text value
- A formula
When choosing an Attribute Formula, you can use several SQL statements as follow:
Different ways to leverage Attribute Formula
Referencing your key attributes | Description | Example Values |
---|---|---|
Referencing the Primary Dataset users.x | x can be any field in the primary dataset of the entry node audience You should always reference users regardless of the name of the table/schema/catalog | users.city users.gender |
Referencing GrowthLoop's System Fields metadata | These are GrowthLoop's details of the Journey. | metadata.journey_name (The user defined name of the journey)metadata.journey_id (The UUID of the journey (matches the UUID on the journey page) |
Referencing the Journey Table journey | These are GrowthLoop's details on the node within the journey | journey.step_id - The current node ID (matches the UUID in the canvas)journey.run_id - The current run ID (matches the UUID in the Step Activity tracker)journey.created_at - The timestamp of when the user entered the node |
Referencing previously defined custom attributes glca\_ | Allows any node in the journey to reference previously defined custom attributes, where glca stands for GrowthLoop Custom Attribute | If you define a custom attribute called my_custom_attribute in a preceding node, then you can access it with journey.glca_my_custom_attribute Nullifying Custom Attributes Custom attributes can be nullified by setting the key of the attribute, but leaving the value as empty |
Referencing a value from a secondary table in your DatasetGroup secondary table's name | Allows you to define a custom attribute from a secondary table. | In order to reference your secondary table in the custom attribute formula, you can simply call the table and it's corresponding field -- for example: transactions.transaction_value |
A few custom attribute examples
-
Building a custom attribute for each user's full address:
-
Assign different promotion codes based on what type of users they are
-
To continue on example 2 above, we will now build a custom attribute (promo_campaign) where we combine the user's gender with the above discount code. This is so we can send them a more gender-specific promotional email campaign with the right discount code combined.
-
Now let's create a custom attribute using a field from a secondary table in your DatasetGroup (the Transaction table). The transaction table has the transaction_value as a column which we'd like to save as the custom attribute.
Updated 16 days ago