Identity graph linking rules - Graph Simulation
Last update: May 21, 2025
- Topics:
- Identities
CREATED FOR:
- Intermediate
- Developer
Learn how to use the graph simulator to test out identity graph linking rules in Adobe Experience Platform. Experiment with different scenarios and play with “unique per graph” and priority settings to verify what rules you need for your business to avoid graph collapse. For more information, see the Graph Simulation UI guide.
Transcript
Let’s talk about an important feature in Adobe Experience Platform called Identity Graph Linking Rules, presented in the interface as graph simulation and identity settings. This feature helps data architects avoid graph collapse, which is when the identity graphs of two people unintentionally merge together. I’m going to assume you already know how profiles are constructed from profile fragments joined by identities. This video covers the graph simulation tool, and another video will cover the identity settings configuration. From the left navigation, go to Customer Identities. You’ll need permissions to view and edit identity settings to see this option and fully configure the feature. Now go to Graph Simulation. Let’s start by loading an example of a common graph collapse scenario. These are the three most common, shared device, non-unique phone numbers, and bad identity values. Let’s load the shared device scenario. I’m actually going to simplify this example a little bit. We only need to look at these two events. In the first event, John is on a web browser, and he’s assigned this experience cloud identity value of 111. ECIDs are cookie IDs, which are set on every browser when someone goes to your website with a web SDK or even older Adobe libraries implemented. John is also logged in, and his hashed email address is also used as an identity. Both identities are passed in this event sent to platform. In the second event, Jane is now on the exact same device and web browser. The ECID is a cookie ID, so that same value of 111 still exists. But since she’s logged into her own account, her hashed email address is sent to platform as that additional identity. Let’s look at what happens if you don’t use the identity graph linking rules feature. I’m just going to remove this extra namespace to keep things simple and uncheck the unique per graph setting. And then I’ll click Simulate. Without the feature, what would happen is that John and Jane will merge into a single graph because they share that same ECID. And since real-time customer profiles are constructed using the identity graph, their profiles would also merge. So this is how a shared device scenario causes the problem of graph collapse. I can use identity graph linking rules to address this issue by choosing an identity namespace to best approximate a living, breathing individual and declare that any graph should only have one value for that namespace. Here, the hashed email is my best option. And I’ll select the unique per graph option. I run the simulator again. And now I have this red dashed line representing a removed link. That one graph is split into two graphs. And John and Jane will have separate profiles. John’s identity graph contains his hashed email. And Jane’s contains her hashed email and the ECID. Why does Jane own the ECID? Because Jane owned the last event associated with this ECID. John owned it at first. And then Jane took ownership. Let’s look at another example. Here is the invalid or non-unique phone number. Also common is a non-unique email address. Here you have two individuals. And they’ve both given you the same bogus phone number. Without using this feature, the identity graphs and profiles will merge. By using the unique per graph setting, you can split the graphs and profiles. And remember, just because you collect phone numbers and email addresses doesn’t mean you have to label these as identities in Experience Platform. Do so only if you really need to. And do as much verification as possible to make sure that they are legitimate values owned by the person entering them. The third scenario is the bad identity value. Here, what’s happening is that the mobile SDK implementation is accidentally setting the IDFA identity value as a text string, user underscore null, instead of a true null value, which would get filtered out. So Platform sees user null as a valid identity value. And all of these profiles would merge. By declaring the hashed email namespace as unique, the graphs and profiles can be split. So this simulator is pretty cool. You can add events both using the menu option and through the text entry advanced option mode. I prefer the text entry mode. And I save my examples in a text editor. You can also use your own identity namespaces and values. You can test out very complicated and unique examples related to your business. There are a lot of examples in the documentation, which come from real world scenarios, which you can copy and paste into the simulator. So try things out and see what happens with different algorithm configurations to make sure you get the desired result for your business. So that’s a graph simulator. In another video, I’ll show you how to define your rules and actually turn the feature on.
Previous pageOverview
Next pageIdentity settings
Experience Platform
- Platform Tutorials
- Introduction to Platform
- A customer experience powered by Experience Platform
- Behind the scenes: A customer experience powered by Experience Platform
- Experience Platform overview
- Key capabilities
- Platform-based applications
- Integrations with Experience Cloud applications
- Key use cases
- Basic architecture
- User interface
- Roles and project phases
- Introduction to Real-Time CDP
- Getting started: Data Architects and Data Engineers
- Import sample data to Experience Platform
- Administration
- AI Assistant
- APIs
- Audiences and Segmentation
- Introduction to Audience Portal and Composition
- Upload audiences
- Overview of Federated Audience Composition
- Connect and configure Federated Audience Composition
- Create a Federated Audience Composition
- Audience rule builder overview
- Create audiences
- Use time constraints
- Create content-based audiences
- Create conversion audiences
- Create audiences from existing audiences
- Create sequential audiences
- Create dynamic audiences
- Create multi-entity audiences
- Create and activate account audiences (B2B)
- Demo of streaming segmentation
- Evaluate batch audiences on demand
- Evaluate an audience rule
- Create a dataset to export data
- Segment Match connection setup
- Segment Match data governance
- Segment Match configuration flow
- Segment Match pre-share insights
- Segment Match receiving data
- Audit logs
- Data Collection
- Collaboration
- Dashboards
- Data Governance
- Data Hygiene
- Data Ingestion
- Overview
- Batch ingestion overview
- Create and populate a dataset
- Delete datasets and batches
- Map a CSV file to XDM
- Sources overview
- Ingest data from Adobe Analytics
- Ingest data from Audience Manager
- Ingest data from cloud storage
- Ingest data from CRM
- Ingest data from databases
- Streaming ingestion overview
- Stream data with HTTP API
- Stream data using Source Connectors
- Web SDK tutorials
- Mobile SDK tutorials
- Data Lifecycle
- Destinations
- Destinations overview
- Connect to destinations
- Create destinations and activate data
- Activate profiles and audiences to a destination
- Export datasets using a cloud storage destination
- Integrate with Google Customer Match
- Configure the Azure Blob destination
- Configure the Marketo destination
- Configure file-based cloud storage or email marketing destinations
- Configure a social destination
- Activate through LiveRamp destinations
- Adobe Target and Custom Personalization
- Activate data to non-Adobe applications webinar
- Identities
- Intelligent Services
- Monitoring
- Partner data support
- Profiles
- Understanding Real-Time Customer Profile
- Profile overview diagram
- Bring data into Profile
- Customize profile view details
- View account profiles
- Create merge policies
- Union schemas overview
- Create a computed attribute
- Pseudonymous profile expirations (TTL)
- Delete profiles
- Update a specific attribute using upsert
- Privacy and Security
- Introduction to Privacy Service
- Identity data in Privacy requests
- Privacy JavaScript library
- Privacy labels in Adobe Analytics
- Getting started with the Privacy Service API
- Privacy Service UI
- Privacy Service API
- Subscribe to Privacy Events
- Set up customer-managed keys
- 10 considerations for Responsible Customer Data Management
- Elevating the Marketer’s Role as a Data Steward
- Queries and Data Distiller
- Overview
- Query Service UI
- Query Service API
- Explore Data
- Prepare Data
- Adobe Defined Functions
- Data usage patterns
- Run queries
- Generate datasets from query results
- Tableau
- Analyze and visualize data
- Build dashboards using BI tools
- Recharge your customer data
- Connect clients to Query Service
- Validate data in the datalake
- Schemas
- Overview
- Building blocks
- Plan your data model
- Convert your data model to XDM
- Create schemas
- Create schemas for B2B data
- Create classes
- Create field groups
- Create data types
- Configure relationships between schemas
- Use enumerated fields and suggested values
- Copy schemas between sandboxes
- Update schemas
- Create an ad hoc schema
- Sources
- Use Case Playbooks
- Experience Cloud Integrations
- Industry Trends