Adobe Experience Platform Segmentation Service provides a user interface and RESTful API that allows you to build segments and generate audiences from your Real-time Customer Profile data. These segments are centrally configured and maintained on Platform, and are readily accessible by any Adobe solution.
This document provides an overview of Segmentation Service and the role it plays in Adobe Experience Platform.
It is important to understand the following key terms used throughout this document:
Segmentation is the process of defining specific attributes or behaviors shared by a subset of profiles from your profile store to distinguish a marketable group of people from your customer base. For example, in an email campaign called “Did you forget to buy your sneakers?”, you may want an audience of all users who searched for running shoes within the last 30 days, but who did not complete a purchase.
Once a segment has been conceptually defined, it is built in Experience Platform. Typically, segments are built by the marketer or audience specialist although some organizations prefer they be created by their marketing department, in collaboration with their data analysts. Upon reviewing the data being sent to Platform, the data analyst composes the segment definition by selecting which fields and values will be used to build the rules or conditions of the segment. This is done using either the UI or API.
Whether created using the API or using the Segment Builder, segments are ultimately defined using Profile Query Language (PQL). This is where the conceptual segment definition gets described in the language built to retrieve profiles meeting the criteria. For more information, see the PQL overview.
To learn how to create and use segments in the Segment Builder (the UI implementation of Segmentation Service), see the Segment Builder guide.
For information on building segment definitions using the API, see the tutorial on creating audience segments using the API.
In the event a schema is extended, all future uploads must update newly added fields accordingly. For more information on customizing Experience Data Model (XDM), visit the Schema Editor tutorial.
Additionally, if time-to-live (TTL) is enabled on the dataset, this could affect the membership of the created segment. For more information about TTL and how it can affect segmentation, please read the Profile Service TTL guide.
Platform currently supports three methods of evaluating segments: streaming segmentation, batch segmentation, and edge segmentation.
Streaming segmentation is an ongoing data selection process that updates your segments in response to user activity. Once a segment has been built and saved, the segment definition is applied against incoming data to Real-time Customer Profile. Segment additions and removals are processed regularly, ensuring your target audience remains relevant.
To learn more about streaming segmentation, please read the streaming segmentation documentation.
As an alternative to an ongoing data selection process, batch segmentation moves all profile data at once through segment definitions to produce corresponding audiences. Once created, this segment is saved and stored so that you can export it for use.
Incremental segmentation (beta)
Batch segments are evaluated every 24 hours. However, for existing segments, incremental segmentation keeps segments fresh for up to an hour.
Incremental segmentation runs on new data coming into the profile store. However, the following caveats applies for incremental segmentation:
To learn how to evaluate segments see the segment evaluation tutorial.
Edge segmentation is the ability to evaluate segments in Platform instantaneously on the edge, enabling same page and next page personalization use cases.
To learn how to access an exported segment, see the segment evaluation tutorial.
Segment metadata facilitates indexing in the event any of your segments are to be reused and/or combined.
Composing your segments (through either the API or Segment Builder) requires that you to define a segment name and merge policy.
When creating a new segment, you are required to provide a segment name. The segment name is used to identify a particular segment among the collection built by Segmentation Service. Segment names should therefore be descriptive, concise, and unique.
When planning a segment, remember that segments can be referenced from, and combined with, any other segment. When selecting a name, consider the possibility that your segment may contain reusable portions.
Merge policies are rules used by Profile to determine how data will be prioritized and combined into a unified view under certain conditions.
If a merge policy is not defined, the default Platform merge policy is used. If you would rather use a merge policy specific to your organization, you can create your own and mark it as your organization’s default.
More information about merge policies can be found in the merge policies guide.
Estimation of audience sizes is based on the organization’s default profile merge policy.
In addition to segment name and merge policy, Segment Builder offers you an additional “segment description” metadata field where you can summarize your segment definition’s purpose.
Segments can be configured to continually generate an audience on an ongoing basis by combining streaming data ingestion with any of the following advanced segmentation features:
These advanced features are discussed in more detail in the following sections.
A standard user journey is sequential in nature. Adobe Experience Platform allows you to define an ordered series of segments to reflect this journey therefore capturing sequences of events as they occur. You can arrange events into their desired order by using the visual event timeline in the Segment Builder.
An example of a customer journey that would require sequential segmentation would be product view > product add > checkout > No purchase.
Dynamic segmentation solves the scalability problems marketers traditionally face when building segments for marketing campaigns.
Unlike static segmentation which requires you to explicitly and repeatedly capture every possible use case, dynamic segmentation uses variables to build the rule logic and dynamically express relationships.
To illustrate the value of this advanced segmentation feature, consider a data architect collaborating with a marketer to identify customers who made purchases outside their home state.
Static segmentation requires you to define individual segments with a unique home state attribute, before filtering for purchase events that do not equal the home state. An explicit segment of this type would read “I’m looking for people from Utah where the state of their purchase is not Utah”. Creating an audience using this method requires you to define one segment for every US state, for a total of 50 segments.
As a result of the different segment combinations that inevitably arise as you scale, the manual process required for static segmentation becomes more time consuming, reducing your overall efficiency.
By assigning a variable to the purchase state attribute, your dynamic segment simplifies to “find me a purchase where the state of that purchase is not equal to the customer’s home state”. Doing so allows you to then consolidate 50 static segments into a single dynamic segment.
With the advanced multi-entity segmentation feature, you can extend Real-time Customer Profile data with additional data based on products, stores, or other non-person, also known as “dimension” entities. As a result, Segmentation Service can access additional fields during segment definition as if they were native to the Profile data store. Multi-entity segmentation provides flexibility when identifying audiences based on data relevant to your unique business needs. For more information, including use cases and workflows, refer to the multi-entity segmentation guide.
Segmentation Service supports a variety of primitive and complex data types. Detailed information, including a list of supported data types can be found in the supported data types guide.
Segmentation Service provides a consolidated workflow to build segments from Real-time Customer Profile data. In summary: