Skip to content

Chapter 8: Your First Segment ​

The Problem ​

You know what audience you want: high-value customers who purchased recently. You've explored the data. Now you need to create an actual segment that can be activated to marketing channels.

The Key Idea ​

Core concept

A segment is a saved audience definition. Tell AI who you want to reach, and AI creates a YAML file that defines the targeting rules.

Once created, this segment can be synced to Salesforce, Google Ads, HubSpot—anywhere you need to reach these customers.

Creating Your First Segment ​

Start with a clear description of who you want:

> "Create a segment for high-value customers who purchased in the last 30 days"

AI generates a YAML file:

yaml
name: High-Value Recent Buyers
description: Customers with lifetime value over $1000 who purchased in the last 30 days

rule:
  type: And
  conditions:
    - type: Value
      attribute: lifetime_value
      operator:
        type: Greater
        value: 1000
    - type: Value
      attribute: last_purchase_date
      operator:
        type: TimeWithinPast
        value: 30
        unit: day

AI also tells you:

Created segment file: segments/high-value-recent-buyers.yaml

This segment targets customers where:
- lifetime_value > $1000 AND
- last_purchase_date within 30 days

Estimated audience size: 3,247 customers

Understanding the YAML ​

Let's break down what AI created:

yaml
name: High-Value Recent Buyers

The segment's display name—what you'll see in reports and the UI.

yaml
description: Customers with lifetime value over $1000...

Human-readable explanation for your team.

yaml
rule:
  type: And
  conditions:

The targeting criteria. type: And means all conditions must match.

yaml
    - type: Value
      attribute: lifetime_value
      operator:
        type: Greater
        value: 1000

First condition: lifetime_value > 1000.

yaml
    - type: Value
      attribute: last_purchase_date
      operator:
        type: TimeWithinPast
        value: 30
        unit: day

Second condition: last_purchase_date within past 30 days.

With type: And, this segment includes customers who match both conditions.

The Workflow ​

Creating a segment follows this pattern:

  1. Describe — Tell AI who you want to target
  2. AI Generates — Segment YAML file created
  3. Review — Check the rules make sense
  4. Validate — tdx checks for errors
  5. Push — Segment goes live

Let's complete steps 3-5.

Reviewing the Segment ​

Read through the YAML. Ask yourself:

  • Does the name clearly describe the audience?
  • Are the rules targeting who I actually want?
  • Are the values correct ($1000? 30 days?)

If something's off:

> "Change the lifetime value threshold to $500"

AI updates the file:

yaml
  - attribute: lifetime_value
    operator: Greater
    value: 500  # Changed from 1000

Validating the Segment ​

Before pushing to production, validate:

> "Validate the segment"

AI runs tdx sg validate:

✓ Segment syntax is valid
✓ All attributes exist in parent segment
✓ All behaviors exist in parent segment
✓ Operators are valid for field types

Segment is ready to push.

If there are errors:

✗ Attribute 'ltv' not found
  Did you mean 'lifetime_value'?

AI helps you fix issues before they reach production.

Previewing the Audience ​

See who will be included:

> "Preview the segment"
Segment: High-Value Recent Buyers
Estimated size: 3,247 customers

Sample members:
- sarah@example.com (LTV: $2,450, last purchase: 3 days ago)
- mike@example.com (LTV: $1,890, last purchase: 12 days ago)
- lisa@example.com (LTV: $1,234, last purchase: 28 days ago)

This confirms the segment is targeting the right people.

Pushing to Production ​

When you're satisfied:

> "Push the segment"

AI runs tdx sg push:

Pushing segment: High-Value Recent Buyers

Changes:
  + New segment: High-Value Recent Buyers
  + 2 rules configured
  + No activations configured yet

Proceed? [y/N]

Confirm, and the segment is live in Treasure AI.

Mental Model: Saved Searches ​

Think of a segment as a saved search that runs continuously:

  • Search criteria: lifetime_value > 1000 AND last_purchase_date within 30 days
  • Results: automatically updated as customers qualify or disqualify
  • Actions: can trigger activations to external systems

Unlike a static list, segments are dynamic. A customer who makes a purchase today will automatically enter the segment tomorrow.

Dry Run: See Before You Change ​

Not ready to commit? Use dry run:

> "Push the segment with dry run"
DRY RUN - No changes will be made

Would create segment: High-Value Recent Buyers
Would add 2 rules
Would affect approximately 3,247 customers

No changes were made. Remove --dry-run to apply.

This shows exactly what would happen without actually doing it.

Pitfalls ​

"The audience size is 0."

Your rules might be too restrictive. Try relaxing criteria:

> "What if we change to purchased in last 90 days instead?"

"The audience size is too large."

Add more rules to narrow down:

> "Add a rule: must have opened email in last 14 days"

"I'm not sure about the operator."

Ask AI to explain options:

> "What operators can I use for lifetime_value?"

What You've Learned ​

  • Segments are saved audience definitions in YAML
  • AI generates segments from plain English descriptions
  • Rules define who's included (attributes and behaviors)
  • Validate before pushing to catch errors
  • Preview to verify the audience looks right
  • Dry run shows changes without applying them

Next Step ​

You've built a segment with two rules. Chapter 9 explores more complex targeting—combining rules with AND/OR logic, excluding audiences, and referencing other segments.


You've built your first segment. Next, you'll learn to build complex ones.