Delete profiles
Last update: February 14, 2025
- Topics:
- Profiles
- Data Hygiene
CREATED FOR:
- Intermediate
- Developer
Learn how to delete data from the Profile Store using the Real-Time Customer Profile API. By using the Profile API, you can remove data from the profile store without affecting the data lake or identity graph. This can be helpful when troubleshooting identity graph issues and correcting occasional errors in data ingestion that only affect a few profiles.
Transcript
In this video, we’ll show you how to delete data from the profile store using the Realtime Customer Profile API. As a data engineer, sometimes you may need to remove data related to individual customer profiles. This can be helpful when troubleshooting identity graph issues and correcting occasional errors in data ingestion that only affect a few profiles. All data ingested into Platform is stored in the data lake as datasets, and these datasets can be enabled for use in the Identity Graph and Customer Profile construction. Customer profiles themselves are contained in the profile store, and it’s this latter store that we’re interested in today. By using the Profile API, you can remove data from the profile store without affecting the data lake or identity graph. If you need to remove data from Experience Platform completely, you need to delete the entire dataset. Watch our video guide on deleting datasets for more details. If you’re just looking to update or correct existing profile data rather than delete it, check out our guide on using the Upsert method for profiles. Before we start, let’s take a quick look at an example profile that we want to remove data from. From the dashboard, we can see it has some basic attributes, and clicking into the identity graph, it has a number of connected nodes like their email address, loyalty ID, and so on. Now, let’s see how we can use the API to delete data from this profile. Here, I’m in Postman, and I’m using a collection for the Realtime Customer Profile API. You can find and download this yourself from our developer documentation, but it’s not required if you prefer to set up your call manually. You can see here I’ve already added my authentication credentials for the request headers that are required for all platform APIs, like my access token, API key, and so on. If you’re unfamiliar with these headers or how to obtain your own credentials, check out our authentication tutorial for platform APIs. Under the Profile API collection, I’ll navigate to the Entities folder and find the Delete method. Here in the path, you can see we’re using the entities endpoint under UPS slash access. While entities aren’t strictly profiles themselves, you can think of them as the collections of data that populate those profiles based on their identity values. So in this context, the Delete method will look up a specific profile based on an identity value that we provide, and then delete its associated data from the profile store. So to use this method, we need to add some query parameters to the request. First, we’ll need to enter the schema name parameter. In most, if not all cases, you’ll want to set this to underscore XDM dot context dot profile. This is the name of the experience data model or XDM individual profile class that forms the basis of individual people based profiles in platform. If we’re dealing with B2B entities like accounts, however, we would put a different class name here. Next, we need to provide some info that will tell the system what profile or entity we want to delete. There are a couple ways of doing this, but the simplest approach is to provide one of the identities found in the customer’s identity graph, specifically in the form of a namespace and a value. In our case, we know our profiles use customer email addresses as a primary identity, and we know the email of the profile we want to delete. So for the namespace, I’ll put an email, and for the value, I’ll enter the customer’s corresponding address. Finally, we can add an optional parameter that lets us specify a merge policy, assuming we don’t want to use our default merge policy that it will otherwise fall back on. If we provide a merge policy that does not use identity stitching, then the delete operation will only remove data directly tied to the specific identity value we provided, in our case, the specific email ID. However, if we provide a merge policy that does use identity stitching, then in addition to the identity we provide, the delete operation will also remove data tied to all other identities contained in the profile’s identity graph as it appears under that merge policy. Once we’re sure that we have all the required parameters, let’s make the call. And it looks like we’ve gotten a 200 response, so we know our call was successful. Keep in mind, though, that it may take up to 24 hours for the changes to reflect in platform, and that we’ve only deleted data from the profile store. When we try looking up our profile later, we can see that it’s no longer available since we’ve effectively deleted all attributes and events that were tied to it. But if we go to identities in the left nav, and look up the same email ID from there, we can see that the profile’s identity graph is preserved. This means that any net new data we ingest that contains these identities will be mapped and linked to this profile just like before, without needing to re-establish how these identities are linked to each other. So that was a quick rundown of how to delete data from the profile store using API calls. You should now know what’s required to make these calls, and how they affect your profile data in isolation from the data lake and identity graph. Thanks for watching.
Previous pageCreate a computed attribute
Next pageUpdate a specific attribute using upsert
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
- Authenticate to Experience Platform APIs
- Import sample data to Experience Platform
- Administration
- AI Assistant
- 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
- 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