๐Ÿ“ฃ

Campaigns

8 articles Conversa Labs By Conversa Labs

Website campaigns, WhatsApp campaigns, HSM templates and variables.

Campaigns overview

Overview Conversa Labs Campaigns let you reach your contacts proactively โ€” instead of waiting for them to start the conversation. In one place you create, schedule and track outbound message sends to defined audiences, with delivery and outcome metrics. There are two main families of campaign: - Website campaigns: proactive messages shown in your site's chat widget, triggered by rules (for example, which page the visitor is on and for how long). Great for engaging people who are browsing right now. - WhatsApp campaigns: sends to contact lists (audience defined by labels), using approved HSM templates or messages with variants, with scheduling and send pacing. Each type has its own article in this category, with the full walkthrough. Depending on the channels enabled in your account, you may also find SMS campaigns, which follow the same logic as WhatsApp ones. Prerequisites - Access to the Campaigns module (may depend on your access role โ€” talk to an administrator). - For website campaigns: an active website/widget inbox. - For WhatsApp campaigns: a connected WhatsApp inbox and, for templates, approved templates. - Organized contacts (especially labels, used to define the audience). Step by step 1. Open Campaigns in the sidebar. 2. Choose the campaign type (website or WhatsApp). 3. Click Create campaign. 4. Give it a title and select the inbox (channel) that will send it. 5. Build the content (message, template or proactive message) and define the audience or the trigger. 6. Choose when to send (now, scheduled, or save as draft) and confirm. 7. Track the campaign status and metrics in the list. Settings & options - Campaign type: website (proactive in the widget) or WhatsApp (for lists). - Channel / inbox: defines where the message is sent from. - Audience or trigger: audience by labels (WhatsApp) or page/time rule (website). - Content: HSM template, message with variants, or proactive message. - Scheduling: send now, schedule for later, or keep as a draft. - Status and metrics: track sent, delivered, read and replied. Use cases - Greet visitors on a pricing page and offer help in real time (website campaign). - Announce a promotion to a list of labeled customers (WhatsApp campaign). - Re-engage old contacts with a segmented, scheduled message. - Communicate important notices (hours change, new feature) to the right audience. Tips, limits & best practices - Start with small, well-segmented audiences by labels โ€” quality beats volume. - On WhatsApp, respect Meta's rules and anti-ban best practices (send pacing, relevant content, opt-out option). - Keep messages clear and useful to reduce blocks and increase replies. - Test your content with a small audience before a large send. Troubleshooting - I don't see Campaigns: the module may not be enabled for your account or role โ€” talk to an administrator. - I can't pick an inbox: confirm the right channel is connected (website for website campaigns; WhatsApp for WhatsApp campaigns). - Empty audience: check whether there are contacts with the selected label. See also - Website campaigns - WhatsApp campaign for contact lists - HSM templates and variables

Website campaigns (proactive widget messages)

Overview Website campaigns (also called live campaigns) show a proactive message in your site's chat widget to a visitor who is browsing. Instead of waiting for the contact to open the chat, the platform starts the conversation when a rule is met โ€” for example, when the person spends some time on a specific page. It's the ideal way to offer help at the right moment: answer questions on a pricing page, recover a cart, or present a promotion to someone showing interest. Prerequisites - Access to the Campaigns module. - An active website/widget inbox, with the widget installed on your site. - A defined agent or bot to send the message. Step by step 1. Open Campaigns in the sidebar and select the website type (live campaigns). 2. Click Create campaign. 3. Fill in the title (an internal name so you can identify the campaign). 4. Write the message that will appear in the widget. 5. Select the inbox (the website widget where the message will be shown). 6. Choose the sender (the agent or bot that signs the message). 7. Define the trigger: the page URL where the campaign should fire and the time on page (in seconds) before showing the message. 8. Adjust the preferences (enable the campaign, trigger only during business hours) and save. Settings & options - Title: internal identifier for the campaign. - Message: the proactive text shown in the widget. - Inbox: the website widget that will display the message. - Sent by (sender): the agent or bot shown as the author. - URL: the page on which the campaign is eligible to fire. - Time on page (seconds): how long the visitor must stay before the trigger. - Enable campaign: turn the campaign on or off without deleting it. - Trigger only during business hours: avoids starting conversations off-hours. Use cases - Offer help on the pricing page after a few seconds of browsing. - Present a coupon to someone visiting a product page. - Invite a demo to people on the plans page. - Reduce abandonment on checkout pages with a supportive message. Tips, limits & best practices - Use short, specific messages tailored to the page where they appear. - Tune the time on page so you don't interrupt too early โ€” give the visitor time to read. - Enable business hours only if you don't have 24/7 coverage, to avoid unanswered conversations. - Create different campaigns for different pages instead of a single generic message. Troubleshooting - The message doesn't appear: confirm the campaign is enabled, the URL matches the visited page, and the time on page has been reached. - It shows off-hours: check the trigger only during business hours option and the hours configured on the inbox. - The widget doesn't load: verify the site widget is installed correctly. See also - Campaigns overview - WhatsApp campaign for contact lists - HSM templates and variables

WhatsApp campaign for contact lists

Overview A WhatsApp campaign sends a message to a contact list at once. You define the audience (by labels), choose the content (an approved HSM template or a message with variants), and decide when to send. The platform sends at a controlled pace and shows progress (sent, delivered, read and replied). It's the right tool for announcements, promotions, notices and contact re-engagement โ€” always respecting WhatsApp's rules for bulk messaging. Prerequisites - Access to the Campaigns module. - A connected WhatsApp inbox. - Contacts with labels that define the audience. - For template-based campaigns: approved HSM templates on the inbox (see the templates and variables article). Step by step 1. Open Campaigns in the sidebar and select the WhatsApp type. 2. Click Create campaign and give it a title. 3. Select the WhatsApp inbox that will send it. 4. Define the audience by selecting the labels of the contacts who should receive it. 5. Build the content: - HSM template: pick the template and language, then fill in the variable values; or - Message with variants: write the message (using the variable picker) and, if you want, add variants so each contact receives slightly different wording. 6. Adjust the send settings (min/max delay between messages, batch size and randomization) for a more natural send. 7. Choose when to send: send now, schedule for a date/time, or save as draft. 8. Confirm and track the status and progress in the campaign list. Settings & options - Title: internal identifier for the campaign. - Inbox: the WhatsApp number that will send the messages. - Audience: contacts selected by labels. - Content: HSM template (with variables) or a message with variants. - Send settings: min and max delay (seconds), batch size and variant randomization โ€” these help reduce the risk of blocking. - Scheduling: send now, schedule, or draft. - Status: draft, scheduled, sending, paused, completed or failed. - Actions: pause, resume or cancel a running campaign. - Progress: sent, delivered, read, replied and failed. Use cases - Announce a promotion to customers in a specific label. - Send an important notice (hours change, new product) to the right audience. - Re-engage inactive contacts with a segmented offer. - Confirm attendance at an event or remind people of a date. Tips, limits & best practices - To start conversations with people outside the 24-hour window, WhatsApp requires an approved HSM template โ€” free-text messages only work inside the service window. - Use the send settings with delays between messages and smaller batches: very fast sends increase the risk of blocking (anti-ban). - Segment well by labels and send only relevant content to reduce opt-outs and reports. - Test with a small audience before a large send. - Track the progress and pause the campaign if you notice many failures. Troubleshooting - I can't select the inbox: confirm there is a connected WhatsApp inbox. - Empty audience: check whether contacts exist with the chosen label. - Template doesn't appear: verify there are approved templates on the selected inbox. - Many send failures: lower the pace (increase the delays and reduce the batch size) and check the health of the WhatsApp number. See also - HSM templates and variables - Campaigns overview - Website campaigns

HSM templates and variables (the {{var}} picker)

Overview HSM templates (Highly Structured Messages) are WhatsApp message models approved by Meta. They are required to start a conversation outside the 24-hour window โ€” for example, in a campaign to a contact list. Many templates have variables (placeholders like {{1}}, {{2}} or named ones like {{name}}) that are filled with each contact's data. In Conversa Labs, you fill these variables with the variable picker ({{var}}), and the value is resolved for each recipient at send time. Prerequisites - A connected WhatsApp inbox. - Approved HSM templates on the inbox (approval is handled with Meta). - Contacts with the data you intend to use in the variables (for example, the name). Step by step 1. In a WhatsApp campaign (or when sending a message that requires a template), select the inbox and choose the template. 2. Select the template language (and check the category, set during approval). 3. For each template variable, provide the value: - type fixed text; or - use the variable picker ({{var}}) to insert a dynamic field (such as the contact's name), which will be substituted per recipient. 4. Review the template preview with the filled values. 5. Complete the send (or schedule the campaign). The platform resolves the variables per contact at send time. Settings & options - Template: the approved model that will be sent. - Language: the language version of the template. - Category: the template's purpose, set at approval (for example, marketing or utility). - Variables: the {{...}} placeholders in the template, filled with fixed text or the variable picker. - Variable picker ({{var}}): inserts dynamic fields (contact, account, etc.) that are resolved individually for each recipient. - Preview: shows how the message will look with the values applied. Use cases - Personalize the greeting with the contact's name in a bulk send. - Send a specific code or link per contact inside a template. - Reuse the same template across several campaigns, changing only the variable values. Tips, limits & best practices - Fill all the template variables โ€” empty fields can block the send to that contact. - Use dynamic variables with reliable data; if a contact lacks the data, prefer a fixed fallback value so the message isn't left incomplete. - Remember the template content is fixed (approved by Meta) โ€” you only change the variable values, not the model's text. - Variables are resolved on the server, per recipient โ€” you don't need to build a different message for each contact. Troubleshooting - The template doesn't appear: confirm it is approved and on the correct inbox. - The send fails for some contacts: check whether any variable was left without a value for those contacts. - The name (or other data) doesn't show: confirm the field exists on the contact and that the right variable was selected in the picker. See also - WhatsApp campaign for contact lists - Campaigns overview - Website campaigns

WhatsApp campaign results and analytics

Overview After a WhatsApp campaign is dispatched, open the campaign detail page to see its full performance: a delivery funnel (sent, delivered, read and replied), the rates for each stage, the average delivery and read times, the cost (when applicable), trend charts over time and the recipients table, where you can retry the ones that failed. It is the right screen to measure a send, reprocess failures and decide whether to pause, resume or cancel a running campaign. Prerequisites - Access to the Campaigns module. - A WhatsApp campaign already sent or sending (per-recipient metrics only exist for WhatsApp campaigns). - To see cost: the campaign must use a WhatsApp Cloud number (WhatsApp Web is not billed by Meta, so no cost is shown). Step by step 1. Open Campaigns in the sidebar and select the WhatsApp type. 2. In the list, click the campaign you want to analyze. 3. Read the header: title, status (draft, scheduled, sending, paused, completed or failed), the inbox used and the send/schedule date. 4. In the Analytics section, read the delivery funnel and the rates. 5. Check the average delivery time and average read time cards and, for Cloud campaigns, the estimated cost and actual cost cards. 6. If there is enough data, follow the trend charts (delivery, read and reply). 7. Scroll to the recipients table to see each contact's status and retry the failed ones. Settings & options Delivery funnel and rates The funnel shows, cumulatively, how many contacts advanced through each stage (a contact who read the message also counts as delivered and sent). Rates are calculated over the total sent. | Stage | What it means | | --- | --- | | Sent | Messages dispatched to WhatsApp | | Delivered | Reached the contact's device (rate = delivered รท sent) | | Read | Opened by the contact (rate = read รท sent) | | Replied | The contact answered (rate = replied รท sent) | States that sit off the funnel appear only when they occur: - Failed: could not be delivered. - Skipped: the contact was skipped (for example, no valid number). - Queued: still pending/processing, i.e. waiting to be dispatched during an active send. Average times - Average delivery time: the mean between the send and the delivery confirmation. - Average read time: the mean between the send and the read confirmation. Cost (WhatsApp Cloud only) - Estimated cost: calculated at creation time, over the audience. - Actual cost: measured over the billed recipients (delivered, read and replied), updated as the campaign progresses. Shown in currency (default BRL). Trend charts They show how the delivery, read and reply rates evolve over time, based on periodic captures (snapshots) of the campaign's performance. They appear once there are at least two capture points. Recipients table - Paginated list with contact, status, sent and delivered times and, on error, the failure message. - Status filter (all, pending, processing, sent, delivered, read, replied, failed, skipped). - Retry: a per-row button on failed messages and a Retry failed button to reprocess all failures at once. Campaign lifecycle - Pause: stop a send in progress. - Resume: continue a paused send. - Cancel: end the campaign. Use cases - Measure the read rate and reply rate of a send to assess engagement. - Reprocess the ones that failed without recreating the campaign, using Retry failed. - Pause the send when you notice many failures and check the number's health before resuming. - Track the actual cost versus the estimated cost on Cloud campaigns. - Compare how the rates evolve through the trend charts. Tips, limits & best practices - Retry affects only recipients with the failed status โ€” those already delivered, read or replied are not resent, and a retry never duplicates a contact. - Trend charts and snapshots exist only on WhatsApp campaigns and need at least two captures to appear. - Cost is shown only on WhatsApp Cloud campaigns (WhatsApp Web is not billed by Meta). - Many failures usually mean an aggressive sending pace or a number with poor health โ€” slow the pace down (larger delays and smaller batches) on the next campaign. - Rates are always over the total sent, not over the initial audience. Troubleshooting - No trend charts appear: there are not enough snapshots yet (at least two points are needed). Wait for the next captures and refresh the page. - No cost cards: the campaign is not WhatsApp Cloud, or there is no billable cost yet. - Many failures: check the number's health and the sending pace; use Retry failed after fixing the cause. - Empty table: confirm the campaign has already been dispatched (draft or scheduled campaigns have no processed recipients yet). See also - WhatsApp campaign for contact lists - HSM templates and variables - Campaigns overview

WhatsApp dispatch cost calculator and campaign estimate

Overview The dispatch cost calculator shows how much a WhatsApp campaign will cost before you send it and how much it cost afterward. The math is based on the per-message tariff Meta charges per template category (marketing, utility and authentication) and the recipient's country, converted from USD to BRL at the current exchange rate. Only WhatsApp Cloud is billed by Meta. WhatsApp Web inboxes have no per-message Meta cost, so they show up as free (billable: false). The platform uses this same number in two places: the calculator (a what-if simulation) and the audience cost estimate shown in the campaign composer. Prerequisites - Access to the Campaigns module. - For a billed cost: a connected WhatsApp Cloud inbox (Web generates no Meta cost). - The campaign's template category โ€” marketing, utility or authentication. The category is what sets the per-message tariff. Step by step 1. Open Campaigns in the sidebar. 2. Open the Dispatch calculator (the calculator button on the campaigns screen). 3. Choose the recipients' country from the selector (e.g., BR, US, MX...). 4. For each category (marketing, utility, authentication), enter the quantity of messages. 5. Per row, review the per-message tariff (in USD) and the total in BRL. 6. Check the highlighted estimated total cost (USD and BRL) and the number of billable messages. In the campaign composer, when you set the audience and the category, the platform also shows the estimated cost of the resolved audience (labels, specific contacts, saved segments or all), already in BRL. Settings & options - Per-category tariffs (USD): each category has a per-message tariff per country, following Meta's 2026 official rate card. - USD โ†’ BRL conversion: uses the live exchange rate of the day (cached ~1h). Use Refresh to fetch a fresh quote bypassing the cache, or Adjust to enter a manual what-if rate. - Rate source: the badge shows whether the rate is live, estimated (a fallback used when the quote is unavailable) or manual. - Admin-editable tariff (override): Meta has no pricing API, so an administrator can edit the tariff per category/country with the real negotiated price. The row gets a custom badge. Leaving the tariff field blank and saving restores the official/synced rate. - Sync (official): reads Meta's own published rate table (the "Rates in USD" CSV linked from the developer pricing page) and refreshes the per-country, per-category tariffs. Updated rows then show the synced source. An admin override still wins over a synced rate โ€” syncing never erases the price you negotiated. If the read fails, nothing changes: the editable/base table stays in force. - Alternative rate source: to feed the tariffs yourself, point the WHATSAPP_PRICING_SOURCE_URL environment variable at a JSON or CSV endpoint carrying the rate per country and category. The platform uses that source instead of the official page. - Audience cost estimate (in the composer): when you pick audience + category, the platform resolves the phone-bearing contacts and returns the estimated cost in BRL and whether it is billable. - Estimated vs. actual cost on the campaign: the campaign stores the estimated cost (estimated_cost), the actual cost (actual_cost) and the currency (currency, default BRL). The estimate is written at creation (Cloud only); the actual cost accrues as billable messages (delivered/read/replied) are counted. Use cases - Budget a promotion: simulate 10,000 marketing messages to Brazil and see the BRL total before approving. - Compare categories: see the price difference between marketing, utility and authentication to pick the best format. - Validate billing: record the real price negotiated with Meta in the editable tariff and compare the estimated cost with the actual cost at the end of the campaign. Tips, limits & best practices - WhatsApp Web has no Meta cost: Web rows and campaigns show up as free (billable: false) and don't add to the budget. - Restore the official tariff: to undo an override, leave the tariff field blank and save โ€” this reverts to the official/synced rate. - Tariff = real price: since Meta exposes no pricing via API, keep the editable tariff aligned with your contract so the estimate matches the invoice. - Exchange rate: if the rate is marked estimated, it's a fallback โ€” refresh to get the live quote before closing a budget. Troubleshooting - Cost shows R$ 0 or is missing: the campaign is on WhatsApp Web (no Meta billing) or the audience is very large and exceeded the estimate limit (above ~5,000 contacts), in which case the estimate is skipped so creation never hangs โ€” the actual cost is still counted during sending. - Synced but the tariff didn't change: there is an admin override for that country and category โ€” the override wins over the synced rate. Clear the field and save to restore it. - The table won't sync: the message says why โ€” the source returned an error, could not be reached, or answered without readable rates. In every case the platform keeps the editable/base table as the source of truth. If it persists, point WHATSAPP_PRICING_SOURCE_URL at your own JSON/CSV endpoint or set the tariff manually. - Rate marked "estimated": the live quote wasn't available; use Refresh or enter a manual rate. See also - WhatsApp campaign for contact lists - HSM templates and variables - Campaigns overview

SMS campaign for contact lists

Overview An SMS campaign sends a text message to a contact list at once, following the same logic as WhatsApp campaigns. You define the audience (by labels), write the message, and decide when to send. The platform iterates over the audience and sends the SMS to every contact that has a phone number. It's the right tool for short notices, confirmations and reminders โ€” especially to reach people who don't use WhatsApp, using your account's SMS number. Prerequisites - Access to the Campaigns module. - A connected SMS inbox (of type Twilio SMS or SMS). - Contacts with a phone number filled in โ€” contacts without a phone number are skipped on send. - Labels applied to contacts to define the audience. Step by step 1. Open Campaigns in the sidebar and select the SMS type. 2. Click Create campaign and give it a title. 3. Select the SMS inbox that will send it. 4. Define the audience by selecting the labels of the contacts who should receive it. 5. Write the text message. You can insert variables (for example, the contact's name) to personalize each send. 6. Choose when to send: send now, schedule for a date/time, or save as draft. 7. Confirm and track the campaign status in the list. Settings & options - Title: internal identifier for the campaign. - Inbox: the SMS number (Twilio SMS or SMS) that will send the messages. - Audience: contacts selected by labels; only contacts with a phone number are reached. The composer shows a preview of how many contacts will be reached. - Message: free text, with support for variables for personalization. SMS is text only โ€” it does not send images or attachments. - Scheduling: send now or schedule for a future date/time. - Status: draft, scheduled, sending and completed โ€” track progress from the campaign list. Use cases - Send a short notice (hours change, maintenance, reminder) to the right audience. - Confirm an appointment, order or attendance. - Remind people about a date, due date or commitment. - Reach people who don't use WhatsApp, ensuring delivery over SMS. Tips, limits & best practices - SMS has a character limit per message and a per-message cost charged by the provider (for example, Twilio). Long messages may be split into more than one SMS and billed accordingly โ€” keep it concise. - Segment well by labels and send only relevant content to reduce opt-outs and complaints. - Include an opt-out option (for example, instructions to stop receiving messages), in line with best practices and local regulations. - Test with a small audience before a large send. Troubleshooting - I can't select the inbox: confirm there is an SMS inbox (Twilio SMS or SMS) connected to the account. - Empty audience: check whether contacts exist with the chosen label and with a phone number โ€” contacts without a phone number are skipped. - Send failures: check the SMS provider configuration (Twilio credentials and balance, for example) and that the origin number is active. Each failed send is logged and the next contact continues normally. See also - WhatsApp campaign for contact lists - Campaigns overview

Defining the campaign audience (labels, contacts, segments, CRM and companies)

Overview The audience defines who receives a campaign. In Conversa Labs you can target by labels (applied to contacts or to conversations), specific contacts, a saved segment (of contacts, conversations or companies), a CRM pipeline, companies, or everyone. In the campaign composer the audience picker shows, in real time, how many contacts with a phone number would be reached โ€” before you save โ€” and, when a template and category are set, the cost estimate. The distinction that trips people up: a label applied to a conversation does not land on the contact. They are two different places. That is why the Labels mode asks where the label was applied โ€” picking the wrong source is the most common cause of an audience that comes back zero. Prerequisites - Access to Campaigns and a connected inbox (WhatsApp, SMS or API). - Contacts with a phone number โ€” on phone-dispatch channels only those enter the count and the send. - Depending on the audience type: - Labels: labels applied to contacts and/or to conversations. - Saved segment: a segment/folder already saved (see Where segments are created, below). - CRM pipeline: a pipeline with open deals. - Companies: companies registered under Companies. Step by step 1. Open Campaigns, create or edit a campaign and go to the Audience field. 2. Pick the audience type: Labels, Specific contacts, Saved segment, CRM pipeline, Companies or All contacts. 3. Fill it in according to the type: - Labels: choose where the label was applied (On contacts ยท On conversations ยท On both). When conversations are included, a conversation status picker appears (All ยท Open ยท Pending ยท Snoozed ยท Resolved). Then select one or more labels. - Specific contacts: type at least 2 characters to search and click to add; the chosen ones become removable chips. - Saved segment: choose the source (Contact segments ยท Conversation folders ยท Company segments) and tick one or more. - CRM pipeline: choose the pipeline and, optionally, a stage. - Companies: choose between a company saved segment or specific companies (search by name, 2 characters minimum). - All contacts: no further selection. 4. Check the live count (and the cost estimate, where applicable). 5. Finish the campaign and save. Settings & options The audience types: | Type | Who is included | |---|---| | Labels | Contacts carrying any of the labels, read on contacts, on conversations, or both | | Specific contacts | The contacts hand-picked in the search | | Saved segment | Whoever satisfies a contact segment, a conversation folder or a company segment | | CRM pipeline | Contacts of the pipeline's open deals (optionally a single stage) | | Companies | Everyone linked to the chosen companies | | All contacts | The whole account | - Label source: On contacts is the historical behaviour (older campaigns keep resolving exactly as before). On conversations reaches the contacts behind the labeled conversations. On both unions the two readings. - Conversation status: only shown when the source includes conversations. All is the default. - CRM โ€” open deals only: a pipeline targets the deals still in play. Won, lost and archived deals do not enter. - Companies โ€” everyone, not just the primary: includes the contact marked as primary as well as everyone else linked through a company membership. - Union of criteria: a contact matching more than one criterion is included once. Picking several labels widens the reach (any of them), it does not narrow it. - Live count: green when at least 1 contact is reachable, amber when it is 0. On phone-dispatch channels it only counts contacts with a phone number. - Cost estimate: with the template category and provider set, the preview also shows the estimated cost in BRL. It applies to WhatsApp Cloud only (billed by Meta); WhatsApp Web is not billed. Above 5,000 contacts on Cloud the estimate is skipped so the screen never stalls. - Consent (LGPD): when the account requires consent, anyone who refused data processing is removed from the audience โ€” and the preview says how many were excluded. Where segments are created Each kind of segment is born on a different screen, and each has its own name in the interface. That is why a segment created under Conversations does not show up in the Contacts list: | Audience | Where to create it | What it is called | |---|---|---| | Contacts | Contacts โ†’ Filter โ†’ apply โ†’ Save segment | Segments | | Conversations | Conversations โ†’ Filter โ†’ apply โ†’ save | Folders | | Companies | Companies โ†’ filter โ†’ save | Segments | Once saved, it shows up under the matching source in the audience picker. Use cases - Reach whoever was helped and labeled during the conversation (e.g. quote-sent), without labeling contact by contact. - Re-engage only the resolved conversations of a label, to ask for a review. - Send to a saved segment of active customers. - Notify every open deal in a specific stage of the pipeline. - Communicate a contract change to everyone at a group of companies. - Send to a one-off list of hand-picked contacts. Tips, limits & best practices - Check the live count before saving โ€” it prevents empty sends. - Got zero with a label? Switch the source to On conversations and watch the number change. - For precise filters (combined conditions), create a segment and use the Saved segment type. Several labels add up (any of them), they never intersect. - Keep contact phone numbers filled in and valid. - Use All contacts carefully on large bases, and pair it with the campaign's anti-ban send rate. - The cost estimate is a reference (Cloud); the real cost is measured over the recipients actually billed. Troubleshooting - Count is 0 with a label: almost always the wrong source. If you label conversations, pick On conversations (or On both). - Count is 0 with a conversation status: the chosen status may hold no labeled conversation. Go back to All and check. - Segment missing from the list: check the selected source โ€” conversation folders never appear among contact segments, and vice versa. If it does not exist yet, create it on the screen listed in Where segments are created. - Segment resolves to nothing: check the saved filter's conditions. A broken filter never blocks the campaign, it simply contributes zero contacts. - Empty pipeline: the pipeline may hold no open deals โ€” won and lost ones do not count. - Empty company: check whether any contact is linked to that company. - No cost shown: the estimate only appears with a category and provider set; WhatsApp Web is not billed. See also - WhatsApp campaign for contact lists - Campaigns overview - Flow Builder mass runs