> ## Documentation Index
> Fetch the complete documentation index at: https://www.gliiv.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Create a Campaign

> A comprehensive guide to configuring your bulk SMS campaigns.

The campaign creation process allows for both immediate dispatch and precise future planning. Once submitted, the Gliiv engine handles all background processing and carrier routing.

## 1. Sender Selection

Select an identity from the **Sender** dropdown. This list contains the Senders that have been authorized for your account by the Gliiv team.

***

## 2. Message Composition

The **Message** field is where you define your SMS content.

<Tip>
  Below are examples of how you might format your message based on your chosen input method:

  <CodeGroup>
    ```text Standard (Plain Text) theme={null}
    Hello! Our annual clearance sale starts tomorrow at 8:00 AM. 
    Visit our store for up to 50% off on all items.
    ```

    ```text Personalized (File Upload Only) theme={null}
    Dear {{name}}, your balance for account {{account_no}} is {{balance}} RWF. 
    Please settle by {{due_date}} to avoid service interruption.
    ```
  </CodeGroup>
</Tip>

<Card title="How Credits are Charged" icon="calculator">
  Credits are consumed based on the total character count of your message. The system uses a strict **160-character increment** to determine the cost per recipient:

  * **1 to 160 characters** = 1 Credit
  * **161 to 320 characters** = 2 Credits
  * **321 to 480 characters** = 3 Credits
  * **481 to 640 characters** = 4 Credits
  * **641 to 800 characters** = 5 Credits

  **Note:** Every additional character that pushes your message beyond a 160-limit threshold will immediately trigger an additional credit charge. The maximum allowed length for a single message is **800 characters**.
</Card>

***

## 3. Recipient Input Method

Choose the method that best fits your workflow. Both methods support high-volume distribution.

<Tabs>
  <Tab title="Manual Input">
    ### Direct Entry

    Paste or type numbers directly into the text area for immediate processing.

    * **Formatting:** Enter phone numbers one per line.
    * **Input Limit:** This field supports a maximum of **1,000 characters** of raw number data.
    * **Note:** Personalization placeholders are **not supported** in Manual Input; they will be sent as plain text.
  </Tab>

  <Tab title="File Upload">
    ### Spreadsheet Processing

    Upload a CSV or Excel file (maximum **20MB**) for large-scale outreach and personalization.

    * **Primary Column:** The first column must be named `phone` (case-sensitive).
    * **Placeholder Mapping:** Use `{{brackets}}` that match your column headers (e.g., `{{name}}`).
    * **Validation:** Headers are case-sensitive. `{{Amount}}` will not work if your column is named `amount`.
    * **Number Formatting:** Supported formats: `+250...`, `250...`, `07...`, or `7...`.
  </Tab>
</Tabs>

***

## 4. Scheduling

The **Schedule Message?** toggle allows you to set a future dispatch time.

<Warning>
  For accurate scheduling, you must first match your **browser's timezone** with the one configured in your [User Preferences](https://www.gliiv.com/app/settings/preferences). If these do not match, a warning will appear to prevent scheduling errors.
</Warning>

* **Lead Time:** Scheduled campaigns must be set at least **3 hours** in advance to allow for system staging.
* **Intervals:** The time selector uses **5-minute intervals** for synchronization.

***

## 5. Tracking & Statuses

Monitor your campaign's lifecycle in the **Campaigns** tab.

### Lifecycle Status

| Status | Description                                                             |
| :----- | :---------------------------------------------------------------------- |
|        | The system is validating recipients and computing segments.             |
|        | Messages are generated and mapped to placeholders.                      |
|        | The campaign has been handed over to carriers for delivery.             |
|        | The campaign is queued for its designated future time.                  |
|        | The campaign was manually stopped before it reached the dispatch phase. |
|        | An error occurred during processing or dispatch.                        |

### Failure Diagnostics

If a campaign shows a **FAILED** status, check the detail view for these specific system codes:

| Error Code       | Meaning                                                                         |
| :--------------- | :------------------------------------------------------------------------------ |
| `USER_CANCELLED` | The campaign was manually stopped by a user.                                    |
| `BAD_FILE_DATA`  | Structural issues, incorrect encoding, or missing `phone` header in the upload. |
| `LOW_BALANCE`    | Insufficient account credits to cover the total recipient count.                |
| `SYSTEM_ERROR`   | An internal system interruption occurred during processing.                     |
