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

# Run marketing campaigns via WhatsApp

Introduce products, share offers, or follow up on interest with customers who agreed to marketing. Customers can open a button or reply directly for your team to handle.

Use Campaign for a one-time or scheduled audience send. Use Journey for conditional entry, waiting, and subsequent actions. Connect content, audience selection, and reply handling so you can measure the outcome beyond send volume.

## 1. Define the outcome and audience

Choose an outcome such as inquiries, appointments, or orders. [Connect a number](/en/documentation/quick-start/connect-whatsapp-to-ycloud), build an audience using language, interests, or known attributes, and retain evidence of [permission for that marketing](/en/documentation/whatsapp-business-platform/consent-policies-and-account-health/customer-opt-in). A contact record, purchase, or support conversation alone does not establish a promotional subscription.

Set up [opt-out handling](/en/documentation/whatsapp-business-platform/consent-policies-and-account-health/customer-opt-out) and check charges, balance, and [messaging limits](/en/documentation/whatsapp-business-platform/pricing-limits-and-quality/messaging-limits-and-throughput).

## 2. Create the template and test the action

1. Open **Templates → Add Template** for the WABA. Choose **Marketing**, a name, and language.
2. State the relevant offer or information and one clear primary action, such as viewing a product or replying.
3. Configure variables, media, buttons, and required samples. Review the complete content rather than hiding promotions inside utility variables.
4. Provide an opt-out method and connect button responses or stop requests to the actual suppression process. A label alone does not block every send.
5. Confirm approval and availability, then [send a test](/en/documentation/channels/whatsapp-accounts-management/template-management/test-a-message). Check language, personalization, media, destination pages, replies, and opt-outs.

For recipient-level URL-button data, enable **YCloud click tracking** where the account and template support it. This tracking method does not support template variables in its destination URL and differs from Meta's template-level click reporting. See [Track button clicks](/en/documentation/campaign/track-button-clicks).

## 3. Send a Campaign

1. Open **Campaign → Add Campaign → WhatsApp**. Enter the name, sender, template, language, and immediate or scheduled send time.
2. Select recipients:
   * Manual entry: one international-format number per line, for shared variable values.
   * `.xlsx`: use `phone` as the first column and supply recipient-specific values in later columns.
   * **Contact filter**: select **Contact segment** or **Contact attributes**.
3. Map variables to file columns, contact attributes, or fixed values. Check media-header files are still usable.
4. Preview and review the final audience, current opt-outs, variables, media, and schedule, then **Submit**.

See [Create a Campaign](/en/documentation/campaign/create-a-whatsapp-marketing-campaign). Validate the configuration with a small audience before increasing scale. Template approval does not guarantee delivery to every customer.

<Frame caption="Configure the Campaign details before choosing recipients. No template or audience has been submitted in this example.">
  <img src="https://mintcdn.com/lchnan/gXEJIQXV2JH2VUQJ/product-assets/english-help-2026-09-22/campaign-details-annotated.svg?fit=max&auto=format&n=gXEJIQXV2JH2VUQJ&q=85&s=a5302cd2470296c742b8bea2641bb25e" alt="Campaign setup with sender, template, language, and scheduling fields." width="3024" height="1656" data-path="product-assets/english-help-2026-09-22/campaign-details-annotated.svg" />
</Frame>

## 4. Add Journey follow-up when needed

1. Open **Journey → Create Journey** and choose a template or **Build from scratch**.
2. Configure **Trigger**, **Sender**, and whether contacts enter the first time or each time they qualify.
3. Add and connect template messages, waits, message-status checks, or tags.
4. Use **Goal** to measure completion and a separate **Exit rule** to stop unnecessary follow-up. Reaching a Goal alone does not remove the contact.
5. Save unfinished work as **Inactive**. Test triggers, branches, variables, and exits before saving as **Active**.

For example, an opted-in contact can receive a product introduction and follow a supported message-status branch after a wait. Exit and suppression logic should stop relevant follow-up after the business outcome or withdrawal of permission. Use actual data and available components; do not assume arbitrary external actions are detected automatically. See [Create a Journey](/en/documentation/journey/create-a-journey) and [Goal and Exit Rule](/en/documentation/journey/components-and-features-introduction/goal-and-exit-rule).

## 5. Handle replies and review results

Route replies to a responsible team or Agent and record intent and next steps. Once the Campaign completes, open **Campaign → Action → Analytics** and select a status or tracked button to inspect **Logs**. With export permission, follow the verification prompts and choose a timestamp time zone for export.

**Read** is included in **Delivered**; do not add these metrics together. Read receipts depend on customer settings, and replies or clicks are not orders. Evaluate Campaign data alongside actual business outcomes. See [Analyze Campaign data](/en/documentation/campaign/analyze-campaign-data).

To use Meta's marketing-delivery optimization, check access and authorize the WABA using the [MM Lite API guide](/en/documentation/integrations/mm-lite-api). This is optional and does not guarantee improved delivery or revenue for every campaign.

## Before launch

Confirm permission, suppression, working templates and links, reply ownership, and functioning Journey exits. Inspect [Quality and delivery controls](/en/documentation/whatsapp-business-platform/pricing-limits-and-quality/quality-and-delivery-controls) before retrying failures.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.