---
title: "How audiences match"
description: "How Pyn combines an audience's lifecycle stages, included groups and excluded groups: groups with the same parent match any one of them, groups with different parents must all match, and an exclusion always wins."
sidebar:
  order: 3
area: directory
feature: employee-groups
appPath: /directory/home
lastVerified: 2026-10-23
version: "2026-10-16"
audience: admin
related:
  - flows/automations/set-the-audience
  - directory/employee-groups/create-a-filter-group
  - directory/employee-groups/reference-group-types
---

An employee matches an audience when they are in one of its lifecycle stages, in at least one included group under each parent, and in none of its excluded groups. Every audience in Pyn follows this rule: an automation's trigger, a step's **Audience** tab, a conditional sender's rules and a filter group.

## Included groups: OR within a parent, AND across parents

Every demographic group has a parent, the demographic it comes from. The pickers show it in front of the group's name: **Department: Engineering**, **Country: Australia**. Pyn sorts the included groups by parent, then:

- Groups with the same parent combine with OR. An employee has one value for each property, so nobody is in both Australia and USA.
- Each parent is a separate condition, and the conditions combine with AND.

Including **Department: Engineering**, **Country: Australia** and **Country: USA** means:

`Engineering AND (Australia OR USA)`

| Employee | Department | Country | Matches |
| --- | --- | --- | --- |
| Priya | Engineering | Australia | Yes |
| Sam | Engineering | USA | Yes |
| Alex | Engineering | United Kingdom | No: not in Australia or USA |
| Jordan | Marketing | Australia | No: not in Engineering |

Adding **Department: Product** widens the department condition rather than adding a new one: `(Engineering OR Product) AND (Australia OR USA)`. Leaving **Included** empty skips the group condition, so everyone in the chosen lifecycle stages matches.

## Groups without a parent

Lifecycle groups (**Birthday**, **Onboarding**), relationship groups, static groups and filter groups have no parent demographic. Each one is its own condition, so including two of them means "in both". Including **Onboarding** and **Department: Engineering** matches engineers in their first 90 days; including two static groups matches only the people on both lists.

A filter group's own audience takes demographic groups only, so this applies to the audiences of automations, steps and conditional senders.

## Excluded groups and lifecycle stages

- **Excluded**: being in any one excluded group removes the employee, whatever they match under **Included**. An exclusion always wins.
- **Lifecycle**: a separate condition on top of the groups. The employee's stage must be one of those chosen. With no stage chosen, the audience matches nobody.

The full example with **Current** under **Lifecycle** and **Leadership Team** under **Excluded** reads: current, and in Engineering, and in Australia or USA, and not in Leadership Team.

The **Audience Preview** under the fields lists who matches today, so you can check the result before you publish or confirm.

## Related

- [Set the audience for an automation](https://support.pynhq.com/flows/automations/set-the-audience/) to apply the rule to a trigger.
- [Create a filter group](https://support.pynhq.com/directory/employee-groups/create-a-filter-group/) to save a demographic audience as a group.
- [Group types](https://support.pynhq.com/directory/employee-groups/reference-group-types/) for how each kind of group decides its members.
