> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tracklysms.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Audiences Overview

> Target the right contacts with condition-based segmentation

Audiences let you define segments of contacts based on their behavior, attributes, and history. Instead of sending to everyone, you can target specific groups for more relevant messaging.

## What is an Audience?

An **Audience** is a saved set of filter conditions that define which contacts should receive a message. When you schedule a campaign, you select one or more audiences to target.

## Why Use Audiences?

<CardGroup cols={2}>
  <Card title="Higher Engagement" icon="chart-line">
    Relevant messages get more clicks
  </Card>

  <Card title="Reduce Opt-Outs" icon="user-shield">
    Don't over-message uninterested contacts
  </Card>

  <Card title="Maximize Revenue" icon="dollar-sign">
    Target high-value segments
  </Card>

  <Card title="A/B Testing" icon="flask">
    Test messages on specific groups
  </Card>
</CardGroup>

## Audience Types

### Dynamic Audiences

Dynamic audiences are evaluated at send time. The contacts included can change based on recent activity.

**Example**: "Contacts who clicked in the last 7 days"

* On Monday: includes 5,000 contacts
* On Friday: includes 6,200 contacts (as more people click)

<Info>
  **Coming Soon** — Static audiences are planned but not yet available.

  ### Static Audiences

  Static audiences are fixed at creation time. Useful for one-time campaigns to a specific group.

  **Example**: "Contacts who signed up on Black Friday 2024"

  * Always includes exactly 3,500 contacts
</Info>

## Condition Types

Build audiences using these filter types:

| Category           | Conditions                                                                   | Example                         |
| ------------------ | ---------------------------------------------------------------------------- | ------------------------------- |
| **Time-Based**     | Last sent, last clicked, signup date                                         | "Last clicked within 7 days"    |
| **Count-Based**    | Send count, click count, conversion count                                    | "Clicked more than 3 times"     |
| **Custom Fields**  | Any field you define (queries `custom_fields.{key}` on ListContact)          | "State equals California"       |
| **Revenue**        | Has revenue, total revenue, avg revenue, conversion count, last revenue date | "Total revenue > \$50"          |
| **Signup History** | Signup method with optional time filtering on signup date                    | "Signed up via API"             |
| **DNC**            | Do Not Call status (boolean)                                                 | "Not on DNC list"               |
| **Timezone**       | Contact timezone (IANA format)                                               | "Timezone is America/New\_York" |
| **Carrier**        | Mobile carrier name                                                          | "Carrier is Verizon"            |

## AND/OR Logic

Combine conditions with flexible logic:

<Tabs>
  <Tab title="AND (All conditions)">
    Contact must match **all** conditions:

    ```
    Last clicked within 7 days
    AND Total revenue > $10
    AND State = California
    ```

    Matches contacts who clicked recently, have purchased, AND are in California.
  </Tab>

  <Tab title="OR (Any condition)">
    Contact must match **any** condition:

    ```
    State = California
    OR State = Texas
    OR State = Florida
    ```

    Matches contacts in any of those states.
  </Tab>

  <Tab title="Nested Groups">
    Combine AND and OR for complex logic:

    ```
    (State = California OR State = Texas)
    AND Last clicked within 7 days
    AND NOT opted out
    ```

    Matches contacts in CA or TX who clicked recently.
  </Tab>
</Tabs>

## Multi-List Targeting

Audiences can span multiple sending lists. If a contact matches the audience conditions on **any** of the selected lists, they're included.

This is useful when:

* You have contacts on multiple lists
* You want to target based on behavior across lists
* You're running a cross-brand campaign

## Audience Size

Each audience shows an estimated size:

* **Cached Size**: Updated periodically (fast but may be slightly stale)
* **Live Count**: Calculated on demand (accurate but slower)

The cached size is shown in the audience list. Click "Refresh" to get a live count.

## Best Practices

<AccordionGroup>
  <Accordion title="Start broad, then narrow">
    Begin with a simple audience and add conditions as needed. It's easier to refine than to debug a complex audience that's too narrow.
  </Accordion>

  <Accordion title="Test before sending">
    Use the audience preview to see which contacts match. Check that your conditions work as expected.
  </Accordion>

  <Accordion title="Name descriptively">
    Use names like "High-Value CA Clickers" instead of "Audience 1". You'll thank yourself later.
  </Accordion>

  <Accordion title="Combine for complex targeting">
    Select multiple audiences when scheduling a campaign. Contacts matching ANY audience are included.
  </Accordion>
</AccordionGroup>

## Next Steps

<CardGroup cols={2}>
  <Card title="Create an Audience" icon="plus" href="/guides/audiences/creating-audiences">
    Step-by-step guide
  </Card>

  <Card title="Segmentation Logic" icon="diagram-project" href="/guides/audiences/segmentation-logic">
    AND/OR deep dive
  </Card>

  <Card title="Dynamic vs Static" icon="rotate" href="/guides/audiences/dynamic-vs-static">
    Choose the right type
  </Card>

  <Card title="Quick Start" icon="rocket" href="/quickstarts/create-audience">
    Build your first audience
  </Card>
</CardGroup>
