Build Pinpoint audience segment configurations with demographic, behavioral, location, and user attribute filters.
Build Pinpoint audience segment configurations with demographic, behavioral, location, and user attribute filters.
Required Fields
ApplicationIdNameSegmentGroups.GroupsOutput will appear here...Build a Pinpoint dynamic audience segment combining demographic, user-attribute, behavioral (Recency), and location dimensions with DimensionType INCLUSIVE/EXCLUSIVE logic, optionally layered on top of a SourceSegments base segment to refine an existing segment further rather than building criteria from scratch every time. Behavior.Recency with a Duration like DAY_14 and RecencyType ACTIVE evaluates against Pinpoint's own tracked engagement events, meaning this dimension is only meaningful if your app is actually sending engagement/session events to Pinpoint, a segment built around Recency for an app that isn't instrumented for Pinpoint analytics events silently matches nothing useful.
It needs app instrumentation, Recency evaluates against session/engagement events your app actually reports to Pinpoint (via the Pinpoint SDK or a custom event integration), it's not derived from some passive, automatic tracking. An app that isn't sending session events to Pinpoint will have no meaningful data for this dimension, and a segment relying on it will effectively match based on absent or stale data, not real recent activity.
The resulting segment matches users who are in the source segment AND match the new dimension criteria (an implicit AND between the source segment membership and the new filters), it's a refinement, not a union. This is useful for building a hierarchy of increasingly specific segments (all-users -> engaged-users -> engaged-premium-users) without duplicating the full criteria at each level.
It applies within a single dimension's value list, INCLUSIVE means the segment includes users whose attribute value is IN the listed values (like Platform in [iOS, Android]), while EXCLUSIVE would mean users whose value is NOT in the list. Multiple different dimensions in the same Dimensions block are combined with an implicit AND, similar to Security Hub insight filters, this is a different axis than INCLUSIVE/EXCLUSIVE, which governs the individual dimension's own list matching.
The builder validates that ApplicationId, Name, and SegmentGroups.Groups all resolve before accepting the JSON as a valid CreateSegment request, the fields Pinpoint needs to identify the target application and the segment's matching criteria; it can't verify the referenced SourceSegments ID actually exists in your Pinpoint application or that your app is genuinely reporting the attributes/events the dimensions filter on.
Verify actual event/attribute data is flowing into Pinpoint for whatever dimension you're filtering on before trusting a segment's size, a segment based on Recency or a custom UserAttribute that isn't actually being reported by the app will silently return an unexpectedly small (or empty) segment with no error.
Building segments as layered refinements of a SourceSegments base, rather than flat, fully-independent criteria each time, keeps campaign targeting logic maintainable, a change to the base segment's definition then propagates to every downstream refined segment automatically.
A segment combining many dimensions with implicit AND logic can end up matching far fewer users than expected, if a campaign's segment size looks surprisingly small, check whether one specific dimension (often a Recency or engagement-based one) is the unexpected bottleneck.
Was this tool helpful?
Disclaimer: This tool runs entirely in your browser. No data is sent to our servers. Always verify outputs before using them in production. AWS, Azure, and GCP are trademarks of their respective owners.