Skip to main content

Create Segments & Lists

Learn how to build a dynamic audience segment or list.

A segment is a dynamic list of contacts that updates when a new contact meets the conditions. A list is static and won’t update.

Build a dynamic segment

1. Go to Contacts > Segments & lists & click Create a new segment or list

2. Select Create a segment:

3. Give the segment a name

4. Now build your segment using the Audience Builder:

Segment conditions:

Condition groups: Using All / Any logic

When building a segment, you can create multiple condition groups. Each group can have its own logic settings, allowing you to create simple or advanced targeting rules.

There are two levels where you can control logic:


1. Segment-level logic (top level)

At the top of your segment, you can choose whether:

  • All of the condition groups must be true

  • Any of the condition groups must be true

This determines how the groups relate to each other.

Example:
If you set the top selector to All, then every condition group in the segment must be true for a contact to qualify.


2. Condition group logic

Inside each condition group, you can also choose between:

  • All of the following conditions are true

  • Any of the following conditions are true

This gives you even more control over how conditions combine.

Example:
If you set the condition group to Any, the contact only needs to match one of the conditions inside that group.


How it works together

  • Top-level All + group-level All
    → Contacts must meet every group and every condition inside each one.

  • Top-level All + group-level Any
    → Contacts must meet every group, but only one condition inside each group.

  • Top-level Any + group-level All
    → Contacts must fully match at least one entire group.

  • Top-level Any + group-level Any
    → Contacts can match any condition in any group.

Rules for Building Segments:

There are several filters you can use to fine‑tune your conditions. Go ahead and explore them to see what fits your needs.​🤗

Events:

Event type

What it means

Common use cases in segmentation

Example rule patterns

clicked message

The contact clicked a link in a message.

• Highly engaged audiences
• Last‑chance reminders
• Identify intent

• Contact has → clicked message → at least oncein the last X days
• Where campaign name is any of …
• Where flow name is any of …

received message

The contact who received a message.

• General sends
• Warm-up audiences
• “Received but not clicked” reminders

• Contact has → received message → at least oncein the last X days
• Where campaign name is any of …
• Where flow name is any of …

read message

The contact opened/read a message.

• Mid-funnel audiences
• Identify active but non-clicking contacts

• Contact has → read message → at least oncein the last X days
• Where campaign name is any of …
• Where flow name is any of …

received last message

The most recent message sent by the business was delivered to the contact.

• Reachability checks
• Ensuring message deliverability before important sends

• Contact has → received last message in the last X days

sent last message

The most recent message in the conversation was sent by the contact.

• Detecting active inbound conversations
• Identifying customers waiting for a reply
• Excluding contacts who recently interacted with support/sales

• Contact has → sent last message in the last X days

bought product

The contact purchased a product in the Shopify store.

• Cross-sell/upsell
• High-value segmentation
• Seasonal shopper targeting

• Contact has → bought product → at least once → over all time
• Where: product name/category is any of …

placed order

The contact placed an order in the Shopify store.

• Cross-sell/upsell
• High-value segmentation
• Seasonal shopper targeting

• Contact has → placed order → at least once → in the last X days
• Where: order value/ coupon code is ... of …

Properties:

Property

What it means

Common use cases in segmentation

Example rule patterns

tag

A tag assigned to the contact.

• VIP labeling
• Excluding internal testers
• Tag-based journeys

• Contact has tag → is any of …
• Contact does not have tag → is any of …

total order

The total number of orders the contact has placed in the Shopify store.

• High‑value customers
• Loyal customer segments
• Cross‑sell / upsell qualification

• Contact total order → is greater than or equal to → X

created date

The date when the contact was added to charles.

• New customer onboarding
• Excluding very new customers
• Early lifecycle flows

• Contact created date → in the last → X days
• Contact created date → between dates → DATE → DATE

last order date

The date of the contact’s last order.

• Win‑back campaigns (“has not ordered since…”)
• Seasonal follow-ups
• Post‑purchase funnels

• Contact last order date → before → DATE
• Contact last order date → in the last → X days

email

The contact’s email address.

• Identify missing emails
• Build email-only segments
• Complement WhatsApp profiles

• Contact email → is not empty
• Contact email → contains → “@gmail.com”

birthday

The contact’s birthday.

• Birthday automation
• Monthly/weekly birthday flows
• Special VIP perks

• Contact birthday → is today
• Contact birthday → is in → next/last X days

custom property

Additional or custom information collected and saved in the contact profile.

• Industry-specific use cases
• Loyalty tier segmentation
• Preferences (size, style, region)

• Contact custom property → is any of …

Opt‑in:

Opt‑in rule

What it means

Common use cases

Example rule pattern

Opt-in as last activity

The contact’s most recent consent action is an opt‑in.

• Sending campaigns only to currently subscribed contacts
• Ensuring compliance

• Contact has → Opt-in as last activity

Opt-out as last activity

The contact’s most recent consent action is an opt‑out.

• Excluding unsubscribed contacts
• Compliance filtering

• Contact has → Opt-out as last activity

Opt-in and no Opt-out

The contact opted in at least once and has no opt-out.

• Retargeting previously subscribed customers
• Broad “safe to message” audiences

• Contact has → Opt-in and no Opt-out

Multiple Opt-ins

The contact has more than one Opt-in.

• Strong engagement indicators
• Prioritizing contacts who re-confirm interest

• Contact has → Multiple Opt-ins -> select opt-in

Single Opt-in

The contact has a single opt-in.

• Identifying new subscribers
• Building early lifecycle segments

• Contact has → Single Opt-in

Double Opt-in

The contact has a double opt-in.

• High-trust audiences
• Strict compliance workflows
• High-intent targeting

• Contact has → Double Opt-in

List:

Condition

What it means

Common use cases

Example rule pattern

Contact is in list

The contact is included in a specific list you previously created.

• Targeting contacts imported via CSV
• Running campaigns for pre‑defined segments
• Keeping lists from other tools

• Contact is → in → selected list

Contact is not in list

The contact is not included in a specific list.

• Excluding audiences
• Removing test or internal contacts
• Filtering out previously targeted groups

• Contact is not → in → selected list


Build a static list

To start building your List:

1.Go to Contacts > Segments & lists & click Create a new segment or list

2.Select Create a list:

3. Give the List a name

4. Select Add a contact

To add contacts from existing contacts;

5. Select From Existing Contacts. A modal will open.

6. Single-select or select all contacts:

OR

To add from phone number;

  1. Select Enter Phone Number

  2. Enter the phone number into the dropdown

  3. Once you’ve added your contacts, click Next

  4. Review your List and select Save


You may also import your contact list and assign it to a list you've created in charles.


Best Practices:

Did this answer your question?