CDP offers multiple entities to support loading marketing campaign information, as well as broader inbound and outbound events that happen between a customer and the brand. This is very useful to both track a customer’s activity with the brand, but also to do follow-up campaigns, and to report on campaign performances. Those entities are actually the ones CDP itself uses for all standard tracking/reporting/segmentation in Metrics, Actions, 360 Profiles, etc… This article gives you an overview of what those entities are, when and how to use them, and where those manifest in CDP applications.
CDP supports this type of data by using 4 main entities : campaign, dispatch, message, event. Those have a hierarchical relationship between them : a campaign can contain multiple dispatches (ie. campaign has a 1:n relationship with dispatch), a dispatch can contain multiple messages (ie. dispatch has a 1:n relationship with message), and messages can have multiple events tied to them or none, and events can be tied to no messages as well (ie. message has a 0:n relationship with event).
The concepts behind each of those entities are inspired by the structure of Email marketing campaigns, but are quite elastic and can be used for a lot more types of campaigns/events. More details :
As is usually the case for all CDP entities, each level of the hierarchy also supports custom attributes. However, you need to be careful and think about how each attribute ties to each level : does it provide details about the overall campaign (and it should be added to the Campaign entity then), or does it provide information for one specific execution of that campaign and a specific group of recipients of the campaign (then it should be added to the Message entity instead) ? For any ingestion of marketing campaign and/or custom event data, it is imperative that you review your proposal with an CDP Product Manager, in order to make sure that your use cases are properly implemented and you get the value you were looking for.
There are typically 2 types of use cases for such data :
Each use case above requires a different set of data :