Experience Platform Destination SDK uses Pebble templates, allowing you to transform the data exported from Experience Platform into the format required by your destination.
The Experience Platform Pebble implementation has some changes, compared to the out-of-the box version provided by Pebble. Also, in addition to the out-of-the-box functions provided by Pebble, Adobe has created some additional functions that you can use with Destination SDK.
All parameter names and values supported by Destination SDK are case sensitive. To avoid case sensitivity errors, please use the parameters names and values exactly as shown in the documentation.
Use the supported functions listed further below on this page when creating a message transformation template for the data exported out of Experience Platform to your destination.
The message transformation template is used in the destination server configuration for streaming destinations.
To understand the concepts and functions in this reference page, read the message format document first. You need to understand the structure of a profile in Experience Platform before you can use Pebble templates to transform and the exported data.
Before you advance to the functions documented below, review the templating examples in the section Using a templating language for the identity, attributes, and audience membership transformations. The examples in there start off very simple and increase in complexity.
From the Pebble tags section, Destination SDK only supports:
Using for
is different when iterating through array or map elements in a template. When you iterate through an array, you can obtain the element directly. When you iterate through a map, you obtain each map entry, which has a key-value pair.
identityMap.gaid
, identityMap.email
, or similar.From the Pebble filter section, Destination SDK supports all functions. An example further below shows how the date
function can be used within Destination SDK.
From the Pebble functions section, Adobe does not support the range function.
date
function is usedTo exemplify how Pebble functions are used in Destination SDK, see below how the date function (link in Pebble documentation) is used to transform the format of a timestamp.
You want to change the lastQualificationTime
timestamp from the default ISO 8601 value that Experience Platform exports to another value preferred by your destination.
{
"lastQualificationTime": "2022-02-08T18:34:24.000+0000"
}
{{ lastQualificationTime | date(existingFormat="yyyy-MM-dd'T'HH:mm:sss.SSSX", format="yyyy-MM-dd'T'HH:mm:ssX") }}
{
"lastQualificationTime": "2022-02-21T18:34:24Z"
}
In addition to the out-of-the-box functions provided by Pebble, see below the additional functions created by Adobe that you can use for your data exports.
addedSegments
and removedSegments
functionsThese functions can be used on order to obtain a list of audiences that were added to or removed from a profile.
{
"identityMap": {
"myIdNamespace": [
{
"id": "external_id1"
},
{
"id": "external_id2"
}
]
},
"segmentMembership": {
"ups": {
"111111": {
"lastQualificationTime": "2019-11-20T13:15:49Z",
"status": "realized"
},
"222222": {
"lastQualificationTime": "2019-11-20T13:15:49Z",
"status": "exited"
},
"333333": {
"lastQualificationTime": "2019-11-20T13:15:49Z",
"status": "realized"
}
}
}
}
added: {% for s in addedSegments(segmentMembership.ups) %}<{{s.key}}>{% endfor %}; removed: {% for s in removedSegments(segmentMembership.ups) %}<{{s.key}}>{% endfor %}
added: <111111><333333>; removed: <222222>
You now know which Pebble functions are supported in Destination SDK, as well as how to use them to adjust the format of the exported data to fit your needs. Next, you should review the following pages: