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

# Content

> Choose an approved WhatsApp template, map variables by component, test your message, and configure UTM tracking.

The Content step is where you pick your WhatsApp template and map its variables. WhatsApp is the one channel where the template itself must already be **approved by Meta** before it can be used in a campaign.

## 1. Select a template

Click **Choose template** to open the picker.

<Frame caption="WhatsApp campaign — approved template picker">
  <img src="https://mintcdn.com/co-d33c95f1/JDH1bOmW9sqfInn6/images/campaign-wa-content-picker.png?fit=max&auto=format&n=JDH1bOmW9sqfInn6&q=85&s=aebc2aac5b820a69b3c9e439ac9ab1e7" alt="WhatsApp campaign template picker" width="1556" height="784" data-path="images/campaign-wa-content-picker.png" />
</Frame>

<Warning>
  **Campaigns can only use approved templates** — Comify pulls the list directly from your connected **WABA** or **Karix** account. If a template you need isn't listed, check its approval status in [Create a WhatsApp Template](/platform/create_whatsapp_template). Click **Preview** on any card to see how it renders, or **Create template** to open the template builder in a new tab.
</Warning>

## 2. Variable mapping

WhatsApp variables are **grouped by the template component they belong to** — for example **Recipient** (the contact number), **Header** (e.g. an image URL), **Body**, and **Buttons** — each shown as a collapsible section with its variable count.

<Frame caption="WhatsApp campaign — variables grouped by component, with live preview">
  <img src="https://mintcdn.com/co-d33c95f1/JDH1bOmW9sqfInn6/images/campaign-wa-content-mapping.png?fit=max&auto=format&n=JDH1bOmW9sqfInn6&q=85&s=0adfbe644f4b2ccae0a021ee5100dd33" alt="WhatsApp campaign variable mapping" width="1556" height="784" data-path="images/campaign-wa-content-mapping.png" />
</Frame>

For each variable, choose a **Map to field** from your audience's available columns.

<Tip>
  A **fallback is optional**. When set, it's used for the test send, and on a real send whenever the mapped column is empty for a contact. A variable only needs its **Map to field** set to show as **Mapped** — a fallback isn't required to proceed.
</Tip>

## 3. Message preview & test

The **Message preview** on the right renders the actual WhatsApp bubble — header media, body text, and any buttons (e.g. a "Visit Website" link) — exactly as the recipient will see it. Click **Send test** to send a real test message using your mapped/fallback values.

<Tip>
  Test messages are sent immediately, regardless of your campaign's scheduled send time. Use them to confirm header media loads and buttons link correctly before sending to your full audience.
</Tip>

## 4. UTM tracking

UTM tracking is enabled by default, applied to any links in the template's buttons.

| Parameter                     | Description                             | Default            |
| ----------------------------- | --------------------------------------- | ------------------ |
| **Source** (`utm_source`)     | Identifies the traffic source           | `comify`           |
| **Medium** (`utm_medium`)     | The marketing medium                    | `whatsapp`         |
| **Campaign** (`utm_campaign`) | The specific campaign name              | Your campaign name |
| **Content** (`utm_content`)   | Differentiates links within the message | Template name      |
| **ID** (`utm_id`)             | Unique campaign identifier              | Auto-generated     |
| **Term** (`utm_term`)         | Keyword term (optional)                 | Off by default     |

Each parameter is individually toggleable, and an example tagged link is shown at the bottom so you can verify the full URL before sending.

## Next step

Once your template is selected, variables are mapped, and UTM tags look right, click **Continue** to move to [Scheduling](/campaigns/whatsapp/scheduling).
