Custom personalization connection

Last update: 2024-08-28
  • Created for:
  • Admin
    User

Destination 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

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

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

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

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

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

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

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

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

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

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.

On this page