Do you have an Audiences API?
You can add, remove, and modify audiences only by using the Engage in-app audience builder.
However, you can programmatically query the Profile API to determine if a user belongs to a particular audience because Engage creates a trait with the same name as your audience. For example, to determine if the user with an email address of
email@example.com is a member of your
high_value_users audience, you could query the following profile API URL:
The following response indicates that Bob is indeed a high-value user:
For more information on profile queries, visit the Profile API documentation.
Can I modify audience keys?
You can’t change the audience key after it’s created. To change the key, you need to re-create the audience.
Can I reuse audience keys?
Avoid using the same audience key twice, even if you’ve deleted the key’s original audience. Downstream tools and destinations might have trouble distinguishing between different audiences that once shared the same key. This may create mismatch in audience size between Segment and the destination because the destination may count users of the old audience, resulting in a larger audience size.
How do historical lookback windows work?
Engage allows you to compute new traits and audiences of your users based on their entire customer journey, and all historical data you’ve tracked with Segment.
When you create a new computed trait or audience, you include a lookback window that determines how far back into the past the trait or audiences will be computed.
Some important things to keep in mind when setting a lookback window:
Historical lookback windows are based on the event
Lookback windows are precise down to the hour, so a 90-day lookback window will include any events with a
timestamp timestamp within the last 2,160 hours (24 hr/day * 90 days).
The trait and audience will automatically update going forward as historical events exceed the lookback window.
What are Funnel Audiences?
Funnel Audiences allow you to use strict, relative ordering for your audience conditions. Common use cases for these audiences are Cart Abandonment (users that triggered the Product Added event but did not trigger the Order Completed event after the Product Added event occurred) and onboarding steps (users that Added Credit Card but did not Subscribe afterward).
To get started with Funnel Audiences, go to:
Audiences > New > Select Funnel Condition (“and then did not”/”and then did”)
The funnel condition will now be relative to the parent condition.
The audience in the image below includes all users that have Product Added in the last week, but not Order Completed within a day of doing so.
Funnel Audiences compute based on all instances of the parent event within the lookback period. This means that if you have a user that Product Added ⟶ Order Completed ⟶ Product Added, this user would be entered into the Abandoned Cart state despite having previously completed an order.
What is Engage Merge Protection?
Engage’s merge protection algorithm protects your identity graph from unnecessary merges by finding and removing untrusted external IDs. Here’s an example:
In this example,
anonymous_id: a1 is not reset during a
User Logout. Without merge protection rules, Segment would merge
user_id u1 and
user_id u2. Instead, the identity resolution algorithm detects that such a merge would break
user_id uniqueness and prevents the merge.
This is especially helpful for preventing “blob users” that are merged together by non-unique anonymous IDs or by common group emails like
Which destinations support syncing the identity graph?
Most destinations on the Segment Platform are built up around a user model. They assume that a user will have a single userId. Further, most Destinations are not built to handle anonymous traffic.
By default, Segment doesn’t sync the output of the Identity Graph to Destinations. However, Segment computed traits and audiences are based on the entire user profile, including anonymous and merged data. Segment syncs the value of these computations (for example,
blog_posts_ready_30_days: 10) using all
userIds on the profile.
For Destinations that support an
alias call (for example, Mixpanel), you can emit an
alias call on merge.
What Sources can I sync to Engage?
The following list shows just some data sources you can sync to Engage:
- Website (Analytics.js)
- Mobile SDKs (iOS, Android, AMP)
- Server-side libraries (Go, Node, Java, PHP, Python, Ruby, .NET)
- Facebook Lead Ads
Can I send audiences to multiple destination accounts?
Yes, Engage supports the ability to send an audience or computed trait to two or more accounts of the same partner. The most common use case is multiple Facebook, or Adwords ad accounts.
Why am I getting alerts about an audience/computed trait sync failure, but when I look at the specific audience/computed trait it shows a successful sync?
An audience/computed trait run or sync may fail on its first attempt, but Engage will retry up to five times before considering it a hard failure that displays on the audience/compute trait’s overview page. As long as the runs/syncs within the specific audience’s overview page indicate success, you can ignore any failure alerts.
How things work internally:
Segment’s Engage scheduler fetches audiences/traits from the compute service and then handles the logic of generating tasks. These compute/sync tasks get scheduled and executed by another worker. These tasks are a list of steps to be executed. Each task has a series of steps that Segment marks as complete by saving a timestamp for the completion. If something disrupts the worker, it picks up at the latest step without a
completed_at timestamp. In some cases, the step or entire task might fail due to timeout or worker disruption. No matter the cause, Segment will retry any failures.
The audit trail’s configuration notifies about every task failure, even if the failure later succeeds. In most cases, you won’t need to track these failures, unless you notice actual computation or sync failures.
If you don’t want to receive notifications for temporary failures, reach out to support. Upon request, Segment can disable temporary failure notifications, which will reduce the number of notifications your workspace receives.
Why is the user count in a journey step greater than the entry/previous step of the journey?
Each step of a Journey is an Engage audience under the hood. The conditions stack, so a user must be a member of the previous step (audience) and meet all conditions to be added to subsequent steps. However, if the user no longer meets entry conditions for a particular step, they’ll exit and you’ll see the user count reduced. For any subsequent steps a user is still a part of, they’ll remain until they no longer meet entry conditions.
Why were multiple audience-entered events triggered for the same user?
Multiple audience events can trigger for a user if any of the following conditions occur:
1) There is a merge on the user.
external_id was added to the profile.
3) The user has multiple identifiers of the same type. Segment sends one event per identifier for each audience or computed trait event.
include anonymous users option is selected for an audience. Segment sends an event for every
anonymousId on the user profile.
This page was last modified: 06 Feb 2024
Questions? Problems? Need more info? Contact Segment Support for assistance!