> ## 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.

# Campaigns Overview

> Send messages to your audiences with scheduled campaigns

Campaigns (also called Schedules) are how you send messages to your contacts. Configure what to send, who to send to, and when to send—then let Trackly handle the rest.

## What is a Campaign?

A **Campaign** combines:

* **Creative(s)**: The message content
* **Audience(s)**: Who receives it
* **Schedule**: When it sends
* **Sending Lists**: Which phone numbers to send from

## Campaign Types

Trackly supports two send modes:

<CardGroup cols={2}>
  <Card title="Blast Mode" icon="bullhorn">
    You choose the message variants and their distribution. Full editorial control.
  </Card>

  <Card title="Automated Mode" icon="robot">
    AI selects the best creative for each contact based on predicted performance.
  </Card>
</CardGroup>

### Blast Mode

In blast mode, you create **variants**—different message versions with optional A/B splits:

| Variant | Message                    | Offer      | Percentage |
| ------- | -------------------------- | ---------- | ---------- |
| A       | "Flash sale! 50% off..."   | offer\_123 | 50%        |
| B       | "Last chance! Half off..." | offer\_123 | 50%        |

Each contact is randomly assigned to a variant. Track which performs better.

### Automated Mode

In automated mode, Trackly's ML models select the best creative for each contact:

1. Models analyze contact history (clicks, revenue, engagement)
2. For each contact, predict which creative will perform best
3. Send the predicted winner
4. Learn from results for future improvement

Configure what percentage uses automation vs. manual selection.

## Schedule Types

<Tabs>
  <Tab title="One-Time">
    Send once at a specific date/time:

    * "Send on Friday at 2 PM"
    * "Send now"
  </Tab>

  <Tab title="Recurring">
    Send on a repeating schedule:

    * "Every Tuesday and Thursday at 10 AM"
    * "Daily at 9 AM"
    * "Weekdays only"
  </Tab>
</Tabs>

## Campaign Workflow

<Steps>
  <Step title="Create Campaign">
    Set name, select sending lists, choose mode (blast/automated)
  </Step>

  <Step title="Configure Content">
    Add message variants with creatives and offers
  </Step>

  <Step title="Select Audience">
    Choose one or more audiences to target
  </Step>

  <Step title="Set Schedule">
    Pick send time (now, scheduled, or recurring)
  </Step>

  <Step title="Review & Launch">
    Preview, verify settings, and schedule
  </Step>
</Steps>

## Key Features

### Frequency Capping

Prevent over-messaging with "skip if sent within X hours":

```
Skip contacts who received a message within: 24 hours
```

Contacts who got a message yesterday won't receive today's send.

### Local Timezone Sending

Send at the optimal local time for each contact:

```
Send time: 10:00 AM (contact's timezone)
```

A contact in NYC gets it at 10 AM ET. One in LA gets it at 10 AM PT.

### A/B Testing

Split your audience across variants to test:

* Different message copy
* Different offers
* Different CTAs

Track clicks and revenue by variant to find winners.

### MMS Support

Blast mode supports MMS images:

* Upload an image per variant
* Image displays above the text
* Increases message cost (check your plan)

### CTO Mode

Enable **CTO** mode (`is_cto`) on a campaign to pass the contact's email address to the offer URL for attribution. This is used with cost-to-operator offers where the advertiser needs the contact's email for conversion matching.

### Bot Filtering

Enable **bot filtering** (`filter_bots`) to automatically detect and exclude bot clicks from your campaign metrics. This prevents inflated click counts from automated scanners and link checkers.

### IR Revenue

Set the **IR revenue** (`ir_revenue`) value on a campaign to record expected/target revenue for this send. This value is used for reporting purposes — it represents the projected revenue, not per-interaction attribution.

## Campaign Statuses

| Status       | Meaning                       |
| ------------ | ----------------------------- |
| **Draft**    | Not yet scheduled             |
| **on**       | Active and scheduled to send  |
| **complete** | All messages sent             |
| **off**      | Paused or stopped             |
| **archive**  | Archived and no longer active |

## Dashboard View

The Schedules page shows:

* Active and upcoming campaigns
* Recent send history
* Performance metrics (sent, delivered, clicked)
* Quick actions (turn off, edit, duplicate, archive)

## Best Practices

<AccordionGroup>
  <Accordion title="Test before scaling">
    Start with a small audience to verify content and tracking work correctly.
  </Accordion>

  <Accordion title="Use frequency capping">
    Contacts receiving too many messages will opt out. Set a reasonable cap.
  </Accordion>

  <Accordion title="Schedule at optimal times">
    10 AM - 2 PM local time typically performs best. Avoid early morning/late night.
  </Accordion>

  <Accordion title="Monitor delivery rates">
    Check the dashboard after sending. High failure rates indicate list quality issues.
  </Accordion>
</AccordionGroup>

## Next Steps

<CardGroup cols={2}>
  <Card title="Scheduling" icon="calendar" href="/guides/campaigns/scheduling">
    One-time and recurring sends
  </Card>

  <Card title="A/B Testing" icon="flask" href="/guides/campaigns/ab-testing">
    Test message variants
  </Card>

  <Card title="Execution" icon="paper-plane" href="/guides/campaigns/execution">
    How messages are sent
  </Card>

  <Card title="Quick Start" icon="rocket" href="/quickstarts/schedule-campaign">
    Create your first campaign
  </Card>
</CardGroup>
