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 attributesDescriptionExample Values
Referencing the Primary Dataset users.xx 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 metadataThese 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 journeyThese are GrowthLoop's details on the node within the journeyjourney.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 nameAllows 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

  1. Building a custom attribute for each user's full address:

  2. Assign different promotion codes based on what type of users they are


  1. 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.

  2. 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.