You are viewing documentation for an older version.
Identity Graph
2 minute read
This guide introduces you to the concept of identity graphs in Profiles and shows how to use them in your Profiles project.
Overview
Multiple identities is the biggest obstacle to getting a full picture of your customers, user, or any other entity.
Companies gather user data across digital touchpoints like websites, mobile apps, enterprise systems like CRMs, marketing platforms, etc. During this process, a single user is identified with multiple identifiers across your systems, like email address, phone number, device ID, anonymous ID, user name, etc. To create a unified user profile, it is vital to collect and stitch all of those different identifiers into one canonical identifier.
You can leverage Profiles’ id_stitcher model to take your inputs and stitch all the identifiers together into an identity graph.
Requirements
- Defined
id_typesfor your entity and mapped to your input sources.
Usage
The identity graph is located in the profiles.yaml file as an id_stitcher model.
models:
- name: user_id_stitcher
model_type: id_stitcher
model_spec:
entity_key: user
edge_sources:
- from: inputs/rsIdentifies
- from: inputs/rsPagesBest practices
- For the
identity_stitchermodel, use only theid_typesandinputsnecessary to stitch the identifiers relevant to anentity. For example, if you don’t care about anonymous traffic, do not addanonymous_idas anid_typeor anyinputsrelated to anonymous traffic. - Conceptually, you can think of your
identity_graphtable as a kind of fact table in star or Snowflake schema. All of your core identifiers are in the center table and are used to connect to yourinputs. - Only include
inputsas edge sources that includeid_typesdirectly related to the entity (the first level out from the fact table in a Snowflake schema). For example, you may need to include anid_typefor product names because they are in a separate table but you do not want to include them in theidentity_graph.