Expand my Community achievements bar.

Adobe Experience Platform Community Lens 5th edition is out!

De-mystifying Destinations in Real-time Customer Data Platform (RT-CDP)


Employee Advisor


Authors: @Aimee-Gregg, @Danny-Miller 

In our last blog post, we talked about segmentation and have covered a few of the segmentation nuances in AEP (Adobe Experience Platform). Let’s take it one step further and take a deeper look into how you can activate these profile segments or events through destinations. 

Destinations might be a concept that is familiar to you from Adobe Audience Manager, but there are a lot of new destination types and categories to understand with Destination Service in RT-CDP. 

All these new destination concepts applied in RT-CDP provide more flexibility when sending data outbound, but with flexibility also comes a lot of choices. Let’s go into some of the things to think about that can help you pick the right destination for your use-case. 

Event-based vs Profile/Segment-Based 

Do you want to share segments/profiles outbound or forward events? 


Extensions: If you simply want to forward raw events from your web or mobile properties outbound, an Extension is what you are looking for. These are often used when an event doesn’t need to be joined with another dataset and the event can be shared in its raw form to trigger an action in the external environment instead of needing to send a profile based on segment qualification. The Facebook Pixel and Google Analytics Tag Extensions are examples of commonly used extensions. Use-cases for this can range from forwarding unauthenticated site visitors to Facebook for ad targeting or raw conversions for analytics in external tools. 

Tip: You can simply forward events in AEP to send collected event data to a destination for server-side processing. Implemented in a similar manner to tags, event forwarding rules can transform and send data to new destinations from Adobe’s servers. This isn’t quite a destination, so we won’t cover this in depth in this post, but check out the Experience League page to learn more. 

Connections: On the other hand, if you want to share profiles that qualify for segments with a destination, you should choose from the list of Connections. Connections like Google Customer Match, Salesforce Marketing Cloud, Amazon S3, and others fall into this category. These are usually used when you want to market to a specific segment or share profile data externally. We see connections used more than extensions because they do utilize that profile data set and power traditional use-cases like email or paid media segment activations. 

If you find yourself in the Connections category, there are a few more things to consider: 

Profile Export vs Segment Export 

Do you want to share specific attributes of profiles which have qualified for your segment, or do you just need to share a segment with a partner by matching an identity? 

Segment Export Destinations: If you are coming from the Adobe Audience Manager world, you are used to the idea of Segment Export destinations. However, having the ability to choose the identity you are sharing with your partners of choice might be new to you. For example, Google Customer Match is a Segment Export destination where you can choose to send one or more of the following identities: GAID (Google Ad ID), IDFA (ID for Advertisers), Hashed Phone, Hashed Email, or a custom user ID. Of course, you must make sure that these identities are being captured and are part of the profile in order to use them.  

Real World Example: For hashed identities however, RT-CDP can transform raw identities like email addresses into SHA256 format (required by partners like Facebook/Google) before sharing them. We have run into match rate issues a few times with customers who have ingested hashed IDs into AEP for export because the original raw IDs had spaces or capitalized letters in them.  

Tip: If you send more than one identity, you might see an increase in your match rates vs only sharing one identity. 

Profile Export Destinations: For other destinations such as email service providers (ESPs) like Salesforce Marketing Cloud, you would want to share specific attributes of profiles which are qualified for a segment and profile exports enable this. For example, you may want your ESP to have the first and last name of the customer along with their raw email address to make sure the emails you share are personalized. With these types of destinations, you can pick attributes on the profile and export them out along with any identifiers you also want to share. 

Batch vs Streaming 

What is the speed at which you can share your updated segments/profiles/events?  

Batch (file-based) Profile Exports: Some destinations (such as Salesforce Marketing Cloud) support batch profile exports—these can be full or incremental files scheduled for sharing daily or even hourly. Note, if you select “incremental file” scheduling, the full file will be shared on the very first export. Many of our customers use S3 and SFTP destinations to export data to different martech applications. 

Tip: If you want to know what type of export your destination supports, you can view the documentation by clicking “view documentation” next to the “Set up” button in the UI. 


Streaming Profile Exports: There are also streaming profile exports which deliver near real-time profile updates to enterprise destinations such as Amazon Kinesis and Azure Event Hubs. 

Streaming Segment Exports: Other destinations (such as Facebook and Google Customer Match) support streaming segment exports. These work similarly to an incremental file export where the very first time you share a segment with a destination, the full audience is shared. From then on, only incremental changes are exported. The exciting part is that these incremental changes are shared in near real-time.  

Real World Example: When we were sending segments out to Facebook for a retail customer, we noticed that there were more profiles being shared than we expected based on profiles entering or exiting our segments. We learned that is because there are actually three distinct types of incremental changes that will trigger a streaming export: 

  • Segment Membership Updates (i.e., Someone enters or exits a segment) 
  • Identity Relationship Added (e.g. someone authenticates onsite which adds a new identity to the ID Graph) 
  • Profile Attribute Updates (e.g., Someone in your segment changes their email address) 

In our case, the reason why we saw so many incremental exports going to Facebook for our segments was because there was a large update to a dataset which in turn updated profile attributes. All profile attribute updates will trigger a streaming destination API, not only updates to the fields being sent to the destination.  

Dataflow Monitoring 

Once you have decided which destination fits your use-case and you have shared a segment to a destination, you can monitor the dataflows to see exactly how many profiles were received, how many identities were sent, and if there were excluded identities as well.  


These dataflow runs are meant to help a data engineer know how the data load is going. The hourly data flow runs report how many profiles were processed in that hour. Remember that, while RT-CDP can share updates in near real-time with partners, those partners may have API limits on their side which can delay the processing of especially large or a high number of segments. If you send a particularly large segment which does meet those API limits, any profiles which didn’t go through will be sent in a subsequent dataflow.  

Real World Example: We have run into this a few times with retailers who share a high number of large segments with destination partners like Facebook and Pinterest. In these cases, we plan for longer lead times between sending a segment and a campaign needing to go live with that segment in the downstream platform. 

Tip: Seeing a lot of identities excluded in your data flow run? Click on it, and there might be an error message that can help you troubleshoot further. A common error we see is “records didn’t match attribute filter”. If you receive this error, some of the profiles who qualified for your segment didn’t have the attribute you selected to share through the activation platform. To avoid this, consider adding the attribute you want to share with the destination with an “existing” status as an inclusion into your segment logic. This way, any profile in your segment will need to have that attribute to qualify. 

To find all the destinations that are available in RT-CDP, check out Experience League’s Destinations Catalog. Hope you learned something new and understand destinations a bit better. Keep checking back for more content on Adobe Experience Platform and Real-time CDP. 


Related Links: 

1 Comment