Adobe Experience Platform

Send Adobe Experience Platform audiences and user groups to Kevel for segment targeting and incrementality testing

If you use Adobe Experience Platform (AEP) as your customer data platform, the Kevel destination in AEP sends your audiences to Kevel in real time. Each audience you activate becomes a segment, and Kevel keeps each user's membership in UserDB up to date, so you can target it on Flights and Ads like any other segment. The destination can also send each user's incrementality group.

Adobe documents the setup inside AEP: prerequisites, supported identities, activating and deactivating audiences, and a sample export. See Kevel destination in Adobe's documentation. This page covers what happens on the Kevel side.

Segments in Kevel

Activating an audience creates a segment with the audience's name, using the Management API. A network can have up to 1,000 segments, and every audience you activate counts toward that limit.

One record per mapped identity. Kevel writes a UserDB record for each identity you map to a Kevel identity slot, up to three. Each record gets the same segments and group. Identities you don't map are not written.

Segments are replaced, not added to

Every update replaces the user's whole segment list, using Replace segments for a user. Two setups to plan around:

  • Another system writes segments for the same users. Kevel Audience, a CDP, or your own code that replaces segments overwrites what AEP sent, and AEP overwrites theirs. Let one system own the segment list for each user key.
  • The Kevel destination is set up more than once for a network. Each one sends only the audiences activated in it, so two that export the same identity to the same network clear each other's segments. Activate all of your Kevel audiences in a single destination for each identity.

Request volume. Every update the destination sends counts as a UserDB write, even when the user's segments and group are unchanged. If Kevel returns HTTP 429, reduce the request rate before you retry.

Incrementality group

If you map the optional Kevel Group attribute (kevelGroup) in AEP, Kevel stores its value as the user's group. This is the same value you can set with Set user group, and it drives incrementality testing.

  • Group not sent. If an update leaves out Kevel Group, the stored group stays unchanged. If it sends Kevel Group with an empty value, Kevel clears the stored group. If some of your profiles have no value for the attribute you map, such as devices that have never signed in, each export for those profiles clears their group.
  • Clearing a group. Send 0 to clear the user's group.
  • Which group applies. A user.group on an ad decision request takes priority over the stored group and is saved as the new stored group. When a request has no group, Kevel uses the stored one. A Campaign with incrementality enabled doesn't serve to a user who has no group from either source.
  • Another system sets groups. If you set groups on ad decision requests or through the UserDB group endpoints, leave Kevel Group unmapped. The destination then never sends a group. If both set one, the most recent write is the stored group.

Check what Kevel received

To see what is stored for a user, call Get segments for a user and Read user group with the identity value you mapped as the user key. Segments come back as IDs. Match them to names with List segments.