Version:

How Profiles Works

Learn how to use Profiles to generate an ID graph and build features on top of it.

Profiles has two primary functions:

  1. Generating an identity graph.
  2. Computing features on top of that identity graph.

Generating an identity graph

Known and unknown users

At a high level, customer data can be categorized in to data from both known and unknown users.

You can track unknown users at an individual level using the RudderStack SDKs and capture their anonymousId. However, you don’t have any additional information about these users. Known users are identified by some additional information, often traits like email, phone, etc.

These IDs live in many places across your data warehouse or data lake, most often as a column (or columns) in individual tables that are loaded from various data sources.

You can use Profiles to stitch together both known and unknown IDs into a single table. The IDs are linked using an autogenerated ID, called the rudderId, which is a canonical identifier for each user.

Use case

Tying together known and unknown IDs for a user is foundational for ensuring accurate customer data. Consider the following customer journey:

  • A user browsed your website anonymously six months ago.
  • The user returns three months later and signs up for your newsletter.
  • One month later, the user clicks an ad on their phone and visits your website anonymously through their mobile browser, and makes a purchase.

In many cases, the data generated by this journey would be counted as two or three separate users, depending on the tools used to track the behavior. Profiles ID stitching ties the data together, revealing that all of those activities were performed by the same user. Profiles represents these data points as different nodes and edges of the identity graph.

Identity stitching

Computing features to build a customer 360 table

The identity graph serves as a map of where each user’s data lives across tables in your data warehouse. Leveraging this map, Profiles makes it easy for you to pull and compute features for each user across all of your data.

For example, a user might have purchase events spread across multiple tables: one for mobile, one from a previous platform, and one from your new eCommerce site. With Profiles, you can easily sum those values across tables for a single user to understand lifetime value.

Features are output to a table, which you can use as your single source of truth for customer 360.

Features generation

Questions? Contact us by email or on Slack