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

# Schedule a Campaign

> Send your first scheduled campaign in under 5 minutes

This quickstart walks you through creating and scheduling a campaign to your audience.

## What You'll Build

A scheduled campaign that sends a promotional message to an audience at a specific time.

## Prerequisites

<Check>A sending list with an active phone number</Check>
<Check>At least one audience created</Check>
<Check>A creative (message template) or you'll create one</Check>

## Step 1: Start a New Campaign

1. Navigate to **Schedules** in the sidebar
2. Click **New Schedule**

## Step 2: Basic Configuration

Fill in the basics:

| Field        | Value                      |
| ------------ | -------------------------- |
| Name         | "Weekend Promo - Jan 2024" |
| Sending List | Select your list           |
| Send Mode    | Blast                      |

## Step 3: Add a Message Variant

1. Click **Add Variant**
2. Select or create a creative:
   ```
   "🔥 Flash sale! 30% off everything this weekend.

   Shop now: {{link1}}

   Reply STOP to opt out."
   ```
3. Select an offer for `{{link1}}`
4. Set audience percentage: 100%

## Step 4: Select Your Audience

1. In the Audience section, select your target audience
2. You can select multiple audiences (union)
3. Review estimated send size

## Step 5: Configure Schedule

Choose when to send:

<Tabs>
  <Tab title="Send Now">
    Select **Send Now** to queue immediately
  </Tab>

  <Tab title="Scheduled">
    1. Select **Scheduled**
    2. Pick date and time
    3. Choose timezone
  </Tab>

  <Tab title="Recurring">
    1. Select **Recurring**
    2. Set time
    3. Select days of week
  </Tab>
</Tabs>

## Step 6: Set Frequency Cap (Optional)

Prevent over-messaging:

```
Skip contacts sent within: 24 hours
```

## Step 7: Review and Schedule

1. Click **Review**
2. Verify:
   * Sending list is correct
   * Audience size looks right
   * Message content is correct
   * Schedule is set properly
3. Click **Schedule**

## What Happens Next

1. At the scheduled time, the schedule execution system queues contacts matching your audience
2. Messages are built from your variants with link tracking
3. The message execution workers deliver in parallel (up to 30 threads per VM)
4. Delivery status updates arrive via provider webhooks

Monitor progress in the Schedules view.

<Note>
  TCPA quiet hours (8 AM - 9 PM local time) are enforced for US numbers. If you enable **local timezone** sending, messages are delivered in rolling waves across timezones. Use **spread duration** (0-120 minutes) to stagger delivery for better throughput.
</Note>

## Viewing Results

After sending:

1. Click on your campaign in Schedules
2. View metrics:
   * Sent
   * Delivered
   * Clicked
   * Revenue (if tracked)

## Quick Tips

<AccordionGroup>
  <Accordion title="Test before full send">
    Create a test audience containing only your number. Send there first to verify.
  </Accordion>

  <Accordion title="Optimal timing">
    10 AM - 2 PM local time typically performs best for promotional messages.
  </Accordion>

  <Accordion title="Use frequency capping">
    Always set a frequency cap to prevent contacting the same person too often.
  </Accordion>
</AccordionGroup>

## Troubleshooting

<AccordionGroup>
  <Accordion title="Campaign not sending">
    Check:

    * Is the schedule time in the past or future?
    * Is the sending list active?
    * Is the campaign paused?
  </Accordion>

  <Accordion title="No contacts matching">
    Verify:

    * Audience conditions are correct
    * Contacts exist in the selected lists
    * Frequency cap isn't filtering everyone
  </Accordion>
</AccordionGroup>

## Next Steps

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

  <Card title="Build a Journey" icon="route" href="/quickstarts/build-journey">
    Automate welcome messages
  </Card>
</CardGroup>
