Skip to main content
Audiences enable you to segment users and deliver tailored AI experiences based on user attributes, conversation context, and channel properties. By creating targeted audience segments, you can provide personalized guidance, knowledge sources, and actions to different user groups.

Why Use Audiences?

Audience segmentation allows you to create personalized customer experiences that adapt to different user needs:
  • Personalized guidance - Show different instructions and behaviors to VIP customers vs. trial users
  • Targeted knowledge - Surface relevant documentation based on user role or department
  • Channel-specific behavior - Adapt responses for Zendesk vs. WhatsApp vs. website chat
  • Time-based customization - Provide after-hours messaging or timezone-aware responses
  • Data provider scoping - Assign knowledge sources to specific user segments

How Audiences Work

Creating Audiences

Audiences are defined using a visual query builder that lets you combine multiple conditions with AND/OR logic:
  1. Navigate to Settings > Audiences
  2. Click Create audience
  3. Name your audience (e.g., “Enterprise Customers”)
  4. Build your segmentation rules using available fields
  5. Save the audience
The root-level audience group always uses AND logic with not: false. You can nest additional groups within rules to create complex logic.

Available Segmentation Fields

Audiences can be built using attributes from four main categories:

User Attributes

Segment based on user identity and properties:
  • Identity: User ID, email, phone, external ID, name
  • Platform IDs: Zendesk ID, Slack ID, WhatsApp ID
  • Metadata: Timezone, locales, external attributes (JSON)
  • Labels: User-assigned labels for categorization
  • Activity: Last seen date, account creation date
  • Verification: Email signed, phone signed, external ID signed status

Channel Properties

Target users based on their communication channel:
  • Channel type: Browser, WhatsApp, Zendesk, Slack, API, Salesforce
  • Zendesk: Subdomain, group ID, brand ID, private mode status
  • Slack: Team ID, team name
  • WhatsApp: Phone number
  • Browser: URL, user agent

Conversation Context

Segment based on conversation characteristics:
  • Identifiers: Conversation ID, external ID
  • Metrics: Message count, conversation length
  • Timestamps: Created date, updated date, first/last message time
  • Metadata: Integration type, tags, labels

Time Conditions

Create time-aware audience rules:
  • Date/Time: Current date, current datetime
  • Components: Hour, day of week, day of month, month, year
  • Timezone: Timezone string

Operator Types

Different field types support different operators: Text operators: is, is not, contains, starts with, ends with, is empty, is not empty Number operators: is, is not, less than, greater than, less than or equal, greater than or equal, between, is not empty Boolean operators: is true, is false Date operators: is, is not, before, after, on or before, on or after, between dates, not between dates, in the last, in the next, is empty, is not empty DateTime operators: before, after, on or before, on or after, in the last, in the next, is empty, is not empty Select operators: is one of, is not one of MultiSelect operators: contains, does not contain, contains any of, contains none of, is empty, is not empty JSON operators: JSON text is, JSON number is, JSON boolean is, JSON contains, JSON path exists

Practical Examples

Example 1: VIP Customer Segment

Target high-value customers for premium support:
User External Attributes -> JSON text is -> "tier" = "enterprise"
AND User Labels -> contains any of -> ["vip", "premium"]

Example 2: After-Hours Support

Provide specific messaging outside business hours:
Current Hour -> less than -> 9
OR Current Hour -> greater than -> 17
AND User Timezone -> contains -> "America"

Example 3: New Zendesk Users

Welcome and guide recent Zendesk integration users:
Channel Type -> is one of -> ["zendesk"]
AND User Created At -> in the last -> 7 days

Example 4: Multi-Language European Users

Target European users who speak specific languages:
User Timezone -> starts with -> "Europe"
AND User Locales -> contains any of -> ["de", "fr", "it"]

Example 5: Active Browser Users

Segment engaged web chat users:
Channel Type -> is one of -> ["browser"]
AND Conversation Message Count -> greater than -> 5
AND Last Message Time -> in the last -> 1 hour

Using Audiences

Once created, audiences can be applied to multiple features:

Guidance Profiles

Attach audiences to guidance profiles to show different instructions to different user segments. Each guidance profile can have an optional audience that determines when it applies.
Guidance profiles without an audience (set to “Everyone”) will apply to all conversations by default.

Data Providers

Assign default audiences to data providers (web crawlers, file uploads, tables). When new sources are ingested, they automatically inherit the audience assignment, making them available only to matching users.

Knowledge Sources

Individual knowledge sources can be scoped to specific audiences, ensuring users only see relevant documentation and information for their segment.

Best Practices

Start Simple

Begin with broad audience segments and refine based on actual usage patterns. You can always add more specific rules later.

Test Thoroughly

Use the query builder preview to verify your audience rules match the expected users before applying them to production guidance or knowledge.

Use Descriptive Names

Name audiences clearly to indicate their purpose (e.g., “Enterprise EU Customers” vs. “Audience 1”).

Leverage Labels

User and conversation labels provide flexible categorization that’s easier to update than external attributes.

Monitor Rule Count

Keep audience definitions manageable. If you have many rules, consider whether they could be simplified or split into multiple audiences.

Advanced Patterns

Nested Logic Groups

Combine AND/OR logic for sophisticated segmentation:
(User Labels contains "vip" OR User External Attributes -> tier = "enterprise")
AND
(Channel Type is "zendesk" OR Channel Type is "slack")

JSON Path Queries

Extract and filter by nested JSON attributes:
User External Attributes -> JSON text is -> "company.department" = "engineering"
AND User External Attributes -> JSON number is -> "company.employee_count" > 100

Relative Time Windows

Create dynamic time-based segments:
User Created At -> in the last -> 30 days
AND Last Message Time -> in the last -> 7 days

Limitations

  • The root audience group always has not: false (you cannot negate the entire audience)
  • Audience evaluation happens at conversation start and when context changes
  • Changes to audience definitions do not retroactively affect existing conversations
  • Very complex audiences with many nested groups may impact query performance