Custom personalization connection custom-personalization-connection

Destination changelog changelog

Release month
Update type
Description
May 2023
Functionality and documentation update
As of May 2023, the Custom personalization connection supports attribute-based personalization and is generally available to all customers.
IMPORTANT
Profile attributes may contain sensitive data. To protect this data, you must use the Edge Network Server API when configuring the Custom Personalization destination for attribute-based personalization. All the Server API calls must be made in an authenticated context.
You can retrieve profile attributes via the Edge Network Server API by adding a server-side integration that utilizes the same datastream that you are already using for your Web or Mobile SDK implementation.
If you do not follow the requirements above, personalization will be based on audience membership only.

Overview overview

Set up this destination to allow external personalization platforms, content management systems, ad servers, and other applications that are running on customer websites to retrieve audience information from Adobe Experience Platform.

Prerequisites prerequisites

This destination requires the use of one of the following data collection methods, depending on your implementation:

IMPORTANT
Before creating a custom personalization connection, read the guide on how to activate audience data to edge personalization destinations. This guide takes you through the required configuration steps for same-page and next-page personalization use cases, across multiple Experience Platform components.

Supported audiences supported-audiences

This section describes which types of audiences you can export to this destination.

Audience origin
Supported
Description
Segmentation Service
Audiences generated through the Experience Platform Segmentation Service.
Custom uploads
Audiences imported into Experience Platform from CSV files.

Export type and frequency export-type-frequency

Item
Type
Notes
Export type
Profile request
You are requesting all the audiences that are mapped in the custom personalization destination for a single profile. Different custom personalization destinations can be set up for different Adobe Data Collection datastreams.
Export frequency
Streaming
Streaming destinations are “always on” API-based connections. As soon as a profile is updated in Experience Platform based on audience evaluation, the connector sends the update downstream to the destination platform. Read more about streaming destinations.

Connect to the destination connect

IMPORTANT
To connect to the destination, you need the View Destinations and Manage Destinations access control permissions. Read the access control overview or contact your product administrator to obtain the required permissions.

To connect to this destination, follow the steps described in the destination configuration tutorial.

Connection parameters parameters

While setting up this destination, you must provide the following information:

  • Name: Fill in the preferred name for this destination.
  • Description: Enter a description for your destination. For example, you can mention which campaign you are using this destination for. This field is optional.
  • Integration alias: This value is sent to the Experience Platform Web SDK as a JSON object name.
  • Datastream ID: This determines in which Data Collection datastream the audiences will be included in the response to the page. The drop-down menu shows only datastreams that have the destination configuration enabled. See Configuring a datastream for more details.

Enable alerts enable-alerts

You can enable alerts to receive notifications on the status of the dataflow to your destination. Select an alert from the list to subscribe to receive notifications on the status of your dataflow. For more information on alerts, see the guide on subscribing to destinations alerts using the UI.

When you are finished providing details for your destination connection, select Next.

Activate audiences to this destination activate

IMPORTANT
To activate data, you need the View Destinations, Activate Destinations, View Profiles, and View Segments access control permissions. Read the access control overview or contact your product administrator to obtain the required permissions.

Read Activate profiles and audiences edge personalization destinations for instructions on activating audiences to this destination.

Exported data exported-data

If you are using Tags in Adobe Experience Platform to deploy the Experience Platform Web SDK, use the send event complete functionality and your custom code action will have an event.destinations variable that you can use to see the exported data.

Here is a sample value for the event.destinations variable:

[
   {
      "type":"profileLookup",
      "destinationId":"7bb4cb8d-8c2e-4450-871d-b7824f547111",
      "alias":"personalizationAlias",
      "segments":[
         {
            "id":"399eb3e7-3d50-47d3-ad30-a5ad99e8ab77"
         },
         {
            "id":"499eb3e7-3d50-47d3-ad30-a5ad99e8ab77"
         }
      ]
   }
]

If you are not using Tags to deploy the Experience Platform Web SDK, use command responses to see the exported data.

The JSON response from Adobe Experience Platform can be parsed to find the corresponding integration alias of the application you are integrating with Adobe Experience Platform. The audience IDs can be passed into the application’s code as targeting parameters. Below is a sample of what this would look like specific to the destination response.

alloy("sendEvent", {
  "renderDecisions": true,
  "xdm": {
    "commerce": {
      "order": {
        "purchaseID": "a8g784hjq1mnp3",
        "purchaseOrderNumber": "VAU3123",
        "currencyCode": "USD",
        "priceTotal": 999.98
      }
    }
  }
}).then(function(result) {
    if(result.destinations) { // Looking to see if the destination results are there

        // Get the destination with a particular alias
        var personalizationDestinations = result.destinations.filter(x => x.alias == "personalizationAlias")
        if(personalizationDestinations.length > 0) {
             // Code to pass the audience IDs into the system that corresponds to personalizationAlias
        }
        var adServerDestinations = result.destinations.filter(x => x.alias == "adServerAlias")
        if(adServerDestinations.length > 0) {
            // Code to pass the audience IDs into the system that corresponds to adServerAlias
        }
     }
   })
  .catch(function(error) {
    // Tracking the event failed.
  });

Example response for Custom Personalization With Attributes

When using Custom Personalization With Attributes, the API response will look similar to the example below.

The difference between Custom Personalization With Attributes and Custom Personalization is the inclusion of the attributes section in the API response.

[
    {
        "type": "profileLookup",
        "destinationId": "7bb4cb8d-8c2e-4450-871d-b7824f547130",
        "alias": "personalizationAlias",
        "attributes": {
             "countryCode": {
                   "value" : "DE"
              },
             "membershipStatus": {
                   "value" : "PREMIUM"
              }
         },
        "segments": [
            {
                "id": "399eb3e7-3d50-47d3-ad30-a5ad99e8ab77"
            },
            {
                "id": "499eb3e7-3d50-47d3-ad30-a5ad99e8ab77"
            }
        ]
    }
]

Data usage and governance data-usage-governance

All Adobe Experience Platform destinations are compliant with data usage policies when handling your data. For detailed information on how Adobe Experience Platform enforces data governance, read the Data Governance overview.

recommendation-more-help
7f4d1967-bf93-4dba-9789-bb6b505339d6