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

  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.