Build and publish a reusable audience segment
Author a segment definition combining profile attributes and behavioral event criteria, preview the estimated audience size, save the definition for reuse, and optionally export segment membership to a dataset or downstream activation destination.
This task produces a named, saved audience definition that can be reused across campaigns, activation destinations, and reporting queries without being rebuilt from scratch each time. The output is a segment record with a unique ID, a PQL or equivalent query definition, an estimated size, and (once evaluated) a population of profile IDs that can be activated or inspected. Segment definitions are the primary abstraction that separates data modeling from campaign execution: a marketer references a segment by name without needing to know the underlying data structure.
Combining attribute and event criteria. Segment definitions that combine profile attributes (demographic, preference) with behavioral events (product viewed, page visited, purchase made) produce more precise audiences than attribute-only or event-only definitions. The key design decision is the time window on event criteria: "viewed product X in the last 7 days" is a very different audience from "has ever viewed product X." Most platforms express event-time windows in relative terms (last N days) rather than absolute dates, making segment definitions portable across calendar periods.
PQL and equivalent query languages. AEP's Segment Builder generates Profile Query Language (PQL) under the hood. PQL is a declarative query language that operates on the unified profile store, supports chaining of event conditions (CHAIN(xEvent, timestamp, [C0: WHAT(...)])), and produces a boolean membership result for each profile. Equivalent languages exist in other platforms: Segment's Trait Builder uses a subset of SQL-like predicates; Hightouch uses a visual audience builder that compiles to SQL against the CDW.
Streaming vs. batch evaluation. Edge Segmentation evaluates segment membership in milliseconds at the edge network as events arrive, enabling personalization at the moment of interaction. Batch segmentation evaluates segment membership on a schedule (typically daily), producing a snapshot suitable for email campaigns or offline reporting. The segment definition syntax is the same in both modes; evaluation mode is configured at the datastream level and per-segment.
Parallel viability (high). Audience building exists in every CDP and data activation platform. The craft skill — choosing the right attribute/event combination, setting appropriate time windows, estimating and validating audience size — is vendor-neutral. Phase 3 will document Segment Audience definitions and Hightouch audience builder configuration as parallel implementations.
Side-by-side implementations
In AEP Segments → Create Segment, the Segment Builder presents a drag-and-drop canvas backed by Profile Query Language (PQL). Drag XDM Individual Profile attributes (e.g., person.gender = "male") from the Attributes panel to the canvas; drag XDM ExperienceEvent fields (e.g., productListItems.name = "MONTANA WIND JACKET") from the Events panel to add behavioral criteria. Use the Refresh Estimate button to see a live audience size estimate. Switch to Code View to inspect or hand-edit the PQL query. Name the segment and click Save and Close to persist the definition. The saved segment is eligible for activation to any connected destination (Adobe Target, Adobe Campaign, RTCDP activation) and can be evaluated in streaming (edge segmentation) or batch mode. Segment membership appears on individual profile records under the Segment Membership tab.
Capability: Audience Segmentation
Parallel implementation not yet available.
Hightouch Audience Hub provides a no-code visual audience builder that compiles SQL queries against Snowflake. Audience conditions combine attribute filters (profile column equals a value, trait contains a string) with behavioral event conditions (performed an event N times in the last X days) using AND/OR logic with AND NOT exclusion support. The Audience Builder compiles conditions to a SQL WHERE clause executed against the warehouse on a configurable sync cadence. A Preview feature runs a COUNT(*) query to estimate audience size before publishing. Published audiences can be activated to any Hightouch destination (ad platforms, email ESPs, CRMs, cloud storage) with incremental syncs — only profile additions and removals since the last run are sent to the destination. The Hightouch API supports programmatic audience creation (POST /v3/audiences) for CI/CD-managed audience libraries.
Capability: Audience Segmentation
Task-level sources
- technical-training/module3/index.md
- technical-training/module3/ex4.md
- technical-training/module3/ex5.md
How is this implementation?
Sign-in-gated. Tomorrow morning's curriculum-ingestor consumes your feedback: "Inaccurate" queues the task for re-review, "needs update" queues it for a refresh, and "one vendor panel is wrong" re-drafts just that panel.