Adobe Experience Platform uses the Real-Time Customer Profile as the single source of truth for all profile data. For quick, real-time data retrieval, it uses edge profiles, which are lightweight profiles distributed throughout the Edge Network. This allows for fast, real-time personalization use cases.
Below are two use cases where edge profile lookup can help.
This page describes the steps that you must follow to look up edge profile data in real-time, to deliver personalization experiences or inform decisioning rules through downstream applications.
When configuring the use case described in this page, you will use the following Platform components:
Edge profile lookup use cases are subject to the specific performance guardrails described in the table below. For more details regarding the Edge Network API guardrails, see the guardrails documentation page.
Edge Network Service | Edge Segmentation | Requests per second |
---|---|---|
Custom personalization destination via Edge Network API | Yes | 1500 |
Custom personalization destination via Edge Network API | No | 1500 |
Follow the steps in the datastream configuration documentation to create a new datastream with the following Service settings:
Service: Adobe Experience Platform
Personalization Destinations: Enabled
Edge Segmentation: If you require edge segmentation, enable this option. If you are only interested in looking up profile attributes on the edge, but do not want to perform any segmentation based on the edge profiles, then leave this option disabled.
Looking up profile attributes on the edge requires your audiences to be configured for edge evaluation.
Make sure the audiences that you plan to activate have the Active-on-Edge Merge Policy set as default. The Active-On-Edge merge policy ensures that audiences are constantly evaluated on the edge and are available for real-time personalization use cases.
Follow the instructions on creating a merge policy, and make sure to enable the Active-On-Edge Merge Policy toggle.
If your audiences use a different merge policy, you will not be able to retrieve profile attributes from the edge and you will be unable to perform edge profile lookup.
In order to look up edge profiles, including attributes and audience membership data, in real-time, the data needs to be made available on the Edge Network. For this purpose, you must create a connection to a Custom Personalization With Attributes destination and activate the audiences, including the attributes that you would like to look up on the edge profiles.
Follow the destination connection creation tutorial for detailed instructions on how to create a new destination connection.
When configuring the new destination, select the datastream which you created in step 1 in the Datastream ID field. For Integration alias you can use any value that helps you identify this destination connection in the future, like the destination name.
After you have created a Custom Personalization With Attributes connection, you are now ready to send profile data to the Edge Network.
Read the access control overview or contact your product administrator to obtain the required permissions.
Go to Connections > Destinations, and select the Catalog tab.
Find the Custom Personalization With Attributes destination card, then select Activate audiences, as shown in the image below.
Select the destination connection that you previously configured, then select Next.
Select your audiences. Use the check boxes to the left of the audience names to select the audiences that you want to activate to the destination, then select Next.
You can select from multiple types of audiences, depending on their origin:
Segmentation Service: Audiences generated within Experience Platform by the Segmentation Service. See the segmentation documentation for more details.
Custom upload: Audiences generated outside of Experience Platform, and uploaded into Platform as CSV files. To learn more about external audiences, see the documentation on importing an audience.
Other types of audiences, originating from other Adobe solutions, such as Audience Manager.
Select the profile attributes that you want to be made available for the edge profiles.
Select source attributes. To add source attributes, select the Add new field control on the Source field column and search or navigate to your desired XDM attribute field, as shown below.
Select target attributes. To add target attributes, select the Add new field control on the Target field column and type in the custom attribute name that you want to map the source attribute to.
When you are finished mapping profile attributes, select Next.
On the Review page, you can see a summary of your selection. Select Cancel to break up the flow, Back to modify your settings, or Finish to confirm your selection and start sending profile data to the Edge Network.
If your organization purchased Adobe Healthcare Shield or Adobe Privacy & Security Shield, select View applicable consent policies to see which consent policies are applied and how many profiles are included in the activation as a result of them. Read about consent policy evaluation for more information.
Data usage policy checks
In the Review step, Experience Platform also checks for any data usage policy violations. Shown below is an example where a policy is violated. You cannot complete the audience activation workflow until you have resolved the violation. For information on how to resolve policy violations, read about data usage policy violations in the data governance documentation section.
In the Review step you can use the available filters on the page to display only the audiences whose schedule or mapping has been updated as part of this workflow. You can also toggle which table columns you want to see.
If you are satisfied with your selection and no policy violations have been detected, select Finish to confirm your selection.
By now you should have finished configuring your datastream, you have created a new Custom Personalization With Attributes destination connection, and you have used this connection to send the profile attributes that you will be able to look up to the Edge Network.
The next step is to configure your personalization solution to retrieve profile attributes from the edge profiles.
Profile attributes may contain sensitive data. To protect this data, you must retrieve the profile attributes through the Edge Network API. Furthermore, you must retrieve the profile attributes via the Edge Network API interactive data collection endpoint, in order for the API calls to be authenticated.
If you do not follow the requirements above, personalization will be based on audience membership only, and profile attributes will not be available to you.
The datastream which you configured in step 1 is now ready to accept incoming event data and respond with edge profile information.
Configure your integration to retrieve edge profile information as shown in the examples below.
To retrieve edge profile data, send an empty POST
call to the /interact
endpoint, with the primary identity for which you are looking up profile attributes included in the event, as shown below.
curl -X POST "https://server.adobedc.net/ee/v2/interact?dataStreamId={DATASTREAM_ID}"
-H "Authorization: Bearer {TOKEN}"
-H "x-gw-ims-org-id: {ORG_ID}"
-H "x-api-key: {API_KEY}"
-H "Content-Type: application/json"
-d '{
"event":
{
"xdm": {
"identityMap": {
"Email": [
{
"id":"test123@adobetest.com",
"primary":true
}
]
}
}
}
}'
Parameter | Type | Required | Description |
---|---|---|---|
dataStreamId |
String |
Yes. | The datastream ID of the datastream that you created in step 1. |
A successful response returns HTTP status 200 OK
, with a Handle
object that includes information similar to the examples in the tabs below, depending on whether the profile is found on the edge or not.
The API responses are modular and the handle
object can include multiple payload
objects of various types. The information related to edge profile lookup is grouped under the payload
object with "type": "activation:pull"
,
If the profile exists on the edge, depending on the profile attributes and audiences activated to the edge, you can expect a response with attributes and audience memberships similar to the one below.
{
"requestId": "3c600138-d785-42ca-a025-bb725f4b5da9",
"handle": [
{
"payload": [
{
"type": "profileLookup",
"destinationId": "9218b727-ec59-4a46-b8b9-05503f138c5d",
"alias": "rk-demo-custom-personalization-XXXX",
"attributes": {
"zip": {
"value": "19000"
},
"firstName": {
"value": "Test"
},
"lastName": {
"value": "User123"
},
"gender": {
"value": "male"
},
"city": {
"value": "Philadelphia"
},
"state": {
"value": "PA"
},
"email": {
"value": "test123@adobetest.com"
}
},
"segments": [
{
"id": "85018bd8-7ad1-4e17-ae30-8389c04bd3c0",
"namespace": "ups"
},
{
"id": "d09a8159-8b30-4178-b2f2-7a8c5e3168d9",
"namespace": "ups"
}
]
}
],
"type": "activation:pull",
"eventIndex": 0
}
]
}
The handle
object provides the information described in the table below.
Parameter | Description |
---|---|
payload |
The payload object which includes the edge lookup information. The response may contain multiple additional payload objects, unrelated to edge lookup. |
type |
Payloads are grouped in the response by their type. The payload type for the edge profile lookup is always set to profileLookup . |
destinationId |
The ID of the Custom Personalization connection instance that you created in step 3. |
alias |
The alias of the destination connection, configured by the user when they create the Custom Personalization destination connection. |
attributes |
This array includes the edge profile attributes of the audiences that you activated in step 3. |
segments |
This array includes the audiences that you activated in step 3. |
type |
handle objects are grouped by type. For edge profile lookup use cases, the type of the handle object is always activation:pull . |
eventIndex |
The Edge Network receives events frßom the client in the form of arrays. The order of the events in the array is preserved during their processing and reflected by this index. Event indexing starts with 0 . |
If the profile does not exist on the edge, you can expect a response similar to the one below.
{
"requestId": "531b541a-4541-419e-ac99-fd7e452f0c0f",
"handle": [
{
"payload": [],
"type": "activation:pull",
"eventIndex": 0
}
]
}
The handle
object provides the information described in the table below.
Parameter | Description |
---|---|
payload |
When the profile is not present on the edge, the payload object is empty. |
type |
payload objects are grouped by type. For edge profile lookup use cases, the type of the payload object is always activation:pull . |
eventIndex |
The Edge Network receives events from the client in the form of arrays. The order of the events in the array is preserved during their processing and reflected by this index. Event indexing starts with 0 . |
If you have configured the integration correctly, you now have access to the edge profile data and you can use the attributes and audience membership of your edge profiles to trigger real-time personalization in your downstream personalization engine.
By following the steps above, you can efficiently look up edge profile attributes in real-time, enabling personalized experiences and informed decision-making through downstream applications.