Dashboard manual · Intelligence

WhatsApp campaigns: send an approved template to an audience from your base, see the cost beforehand and track delivery

"Campanhas" (Campaigns) is the dashboard area that sends a message template approved by Meta to an audience from your base, shows how many contacts will receive it and the estimated cost before sending, and tracks deliveries, reads, replies and failures.

When it appears: Requires WhatsApp connected in "Conexões" (Connections) and at least one approved message template. The estimated cost only appears when the platform charges for sending; when the WhatsApp number belongs to your company, the screen warns that Meta charges your card directly.

Who can use it

RoleWhat you see and do
OwnerCreates, schedules, sends, cancels and resumes campaigns, removes numbers from future campaigns and returns contacts on the "Fora das campanhas" (Outside campaigns) screen.
AdminCreates, schedules, sends, cancels and resumes campaigns, removes numbers from future campaigns and returns contacts on the "Fora das campanhas" (Outside campaigns) screen.
AgentDoes not see the item in the menu or in the "Busca de comandos" (Command search) (Ctrl K): campaigns spend balance and reach the entire base, so they are for the Owner and Admin. Through the direct address the list does not load, and the screen shows a notice that the campaigns could not be loaded.

Screens

"Campanhas" (Campaigns)

The "Campanhas" (Campaigns) screen is for creating a WhatsApp campaign in three steps (audience, template and review), seeing the list of campaigns with the numbers for each one, and opening the report to track, cancel or resume the sending.

Address in the dashboard: /app/campanhas

The "Campanhas" (Campaigns) screen in the demo account, with sample data and blurred values.

"Cabeçalho" (Header)

A short explanation of the screen and the two shortcuts.

Buttons and actions

"Fora das campanhas" (Outside campaigns)
Opens the list of who does not receive campaigns, and why.
"Nova campanha" (New campaign)
Opens the "Nova campanha" (New campaign) wizard, at step 1 of 3.
  • Fixed sentence: the approved template goes to an audience from the base, replies land in the Inbox and the AI takes over the conversation.

Daily guard-rail notice

A banner that appears only when the daily cap of campaign messages has been reached and there is still a queue.

  • Shows the time the cap was reached and the time the queue resumes on its own. The cap protects the number from being blocked by Meta; nothing needs to be done.

Campaign list

One card per campaign; clicking opens the report.

Buttons and actions

"‹nome da campanha›" (‹campaign name›)
Clicking the card opens the campaign report.
  • Name and status badge: "Rascunho" (Draft), "Agendada" (Scheduled), "Enviando" (Sending), "Concluída" (Completed), "Falhou" (Failed) or "Cancelada" (Canceled).
  • A line with the template used, the number of recipients and the creation date; for a scheduled one, "agendada para ‹data e hora›" (scheduled for ‹date and time›); with more than one WhatsApp number, "enviada por ‹número›" (sent from ‹number›).
  • The audience described in Portuguese (for example, the band, channel or purchase group chosen).
  • On wide screens, the numbers "Enviadas" (Sent), "Entregues" (Delivered) and "Responderam" (Replied).

New campaign · step 1 of 3 — audience

Campaign name, where the contacts come from, campaign history, batch size and the summary of who is included.

Fields and filters

"Nome da campanha" (Campaign name)required
How the campaign appears in the list. Example from the screen: "Retomada de clientes inativos" (Win-back of inactive customers).
"Canal de entrada" (Entry channel)
Filters by the channel the contact came in through; each option shows its count.
"Banda BANT" (BANT band)
Filters by temperature: "Quente" (Hot), "Morno" (Warm), "Frio" (Cold) or "Sem score" (No score).
Status
Filters by lead status ("Novo" (New), "Em conversa" (In conversation), "Qualificado" (Qualified) and others).
"Etiqueta" (Tag)
Filters by the tags used in the base.
"Atividade da conversa" (Conversation activity)
"Esperando nossa resposta" (Awaiting our reply) or "Parados há ‹n›d ou mais" (Idle for ‹n›d or more), with the days from the account's re-engagement rule.
"nos últimos" (in the last)
Appears with "Não receberam" (Haven't received) or "Já receberam" (Already received): the window in days (from 1 to 365) in which to look at the campaign history.
"Quantos contatos nesta leva" (How many contacts in this batch)
With "Enviar só para os primeiros" (Send only to the first) checked, how many contacts go in this batch, from most recent to oldest.

Buttons and actions

"Filtrar contatos" (Filter contacts)
Builds the audience with the filters from "Base de contatos" (Contact base).
"Por histórico de compra" (By purchase history)
Builds the audience from one of the eight purchase groups (RFM), such as "Campeões" (Champions) and "Em risco" (At risk). A group with nobody in it is grayed out.
"Importar pedidos no Monitor de Sucesso" (Import orders in Success monitor)
Appears when the account has no orders yet: the purchase groups are at zero and the link leads to "Monitor de sucesso" (Success monitor).
"Tanto faz" (Doesn't matter)
Does not filter by campaign history.
"Não receberam" (Haven't received)
Keeps only those who did not receive a campaign in the last N days.
"Já receberam" (Already received)
Keeps only those who already received a campaign in the last N days.
"Enviar só para os primeiros" (Send only to the first)
Turns on the batch limit; when unchecked, it goes to the entire audience.
"Ver quem vai receber" (See who will receive it)
Opens the named list, with name and phone, in sending order (it becomes "Esconder a lista" (Hide the list)).
"Continuar" (Continue)
Goes to step 2. It stays locked without a name, without a chosen group or with nobody eligible to receive; the hint says which reason applies.
  • Hint "o que conta como recebida" (what counts as received): a delivered, read or replied send counts; a send that failed does not count, and the person goes back to the queue.
  • Audience summary: "‹n› contatos vão receber" (‹n› contacts will receive) and, when the platform charges, the estimated cost (or "o custo aparece quando você escolher o modelo" (the cost appears when you choose the template)).
  • When the account belongs to the customer themselves, the summary warns that Meta charges each delivered template directly to the company's card.
  • Balance warning when the balance does not cover all the contacts: how many fit, how much is missing and the link to "Carteira" (Wallet).
  • "Esta é uma leva de ‹n› dos ‹n› que podem receber" (This is a batch of ‹n› out of the ‹n› who can receive) when the limit leaves people for later.
  • Who was left out and why: asked not to receive, marked not to receive campaigns, no phone, no consent or legal basis, currently with a human agent, on a channel without a message template, or with a phone number that cannot be dialed.

New campaign · step 2 of 3 — template

The sending number, the approved template, the header file and the variables.

Fields and filters

"Por qual número enviar?" (Which number to send from?)
Appears with more than one WhatsApp number (or with a number also in use on the phone). Choose it before the template: approved templates belong to each number. "Conta padrão do canal" (Channel default account) uses the default number.
"Variáveis do modelo" (Template variables)
For each template variable ({{1}}, {{2}}…), choose what goes in: "Primeiro nome" (First name), "Nome completo" (Full name) or "Empresa" (Company).

Buttons and actions

"Modelo aprovado" (Approved template)
List of the number's approved templates; clicking chooses one. A template that requires a header file shows the badge "Imagem" (Image), "Vídeo" (Video) or "Documento" (Document); the "Localização" (Location) one appears as unavailable.
"Escolher ‹imagem/vídeo/documento›" (Choose ‹image/video/document›)
Opens the file picker for the template header. The screen shows the accepted types and maximum size before you choose.
"Trocar" (Change)
Opens the "Trocar o arquivo?" (Change the file?) confirmation and then the picker; the current file stays until the new one is read.
"Remover" (Remove)
Opens the "Remover o arquivo?" (Remove the file?) confirmation: without a file, a media template cannot be sent.
"Trocar arquivo" (Change file)
Confirms the file change.
"Crie um modelo" (Create a template)
Appears when the number has no approved template and leads to "Modelos de mensagem" (Message templates).
"Voltar" (Back)
Goes back to step 1 without losing what was chosen.
"Continuar" (Continue)
Goes to step 3. It stays locked with no template chosen, with a header template the campaign does not know how to build, or without the file the template requires.
  • Notice for a number also in use on the phone: you can continue the conversation on the device, and meanwhile the AI stays out; when measured, it says how long the batch should take.
  • With no WhatsApp connected: "Conecte o WhatsApp em Conexões para listar seus templates aprovados." (Connect WhatsApp in Connections to list your approved templates.)
  • If the template list does not load, "Não foi possível carregar os seus modelos" (We couldn't load your templates) appears with the "Tentar de novo" (Try again) button.

New campaign · step 3 of 3 — review and send

The final check before spending.

Fields and filters

"Agendar para (opcional)" (Schedule for (optional))
Date and time for the campaign to go out on its own. If left blank, it is sent immediately.

Buttons and actions

"Voltar" (Back)
Goes back to step 2.
"Agendar" (Schedule)
Appears when a date is filled in: creates the campaign as scheduled.
"Disparar para ‹n›" (Send to ‹n›)
Creates and sends the campaign now to the ‹n› eligible contacts. There is no undo.
  • Card with the name, the template, the audience in Portuguese, the preview of the header file and the text with the variables filled in.
  • The audience summary again, next to the button: how many receive it, the estimated cost and the balance warnings.
  • When the platform charges, the price per delivered message appears below the date.

Campaign report

Opens when you click a campaign in the list.

Fields and filters

"Enviadas" (Sent)
Messages sent.
"Entregues" (Delivered)
Messages that reached the device.
"Lidas" (Read)
Messages read.
"Responderam" (Replied)
Contacts who replied.
"Falhas" (Failed)
Sends that were rejected.

Buttons and actions

"Retomar envio" (Resume sending)
Appears on a campaign that failed: it continues from where it stopped, without resending to those who already received it.
"Cancelar campanha" (Cancel campaign)
Appears on a scheduled, sending or draft campaign and stops the sending.
"Não enviar mais para estes ‹n›" (Stop sending to these ‹n›)
Opens the confirmation to remove the numbers that failed from future campaigns. With a single number, the button says "Não enviar mais para este número" (Stop sending to this number).
"Tirar das campanhas" (Remove from campaigns)
Confirms: the contacts are left out of every campaign from now on, with the reason recorded. They remain in the base and in the Inbox.
"Ver a lista Fora das campanhas" (View the Outside campaigns list)
Appears when everyone who failed is already excluded and leads to the "Fora das campanhas" (Outside campaigns) screen.
  • Delivery rate, reply rate, the target and how many are "Ainda na fila" (Still in the queue).
  • Date and time of the schedule, the audience and the file that went in the header.
  • Named list of who failed, with phone and reason; those already excluded appear with "já está fora" (already excluded).
  • On a campaign that stopped, the sentence says why: the balance ran out (or did not even cover the first contact), WhatsApp is disconnected or the header file did not upload.

Screen states

Loading
A gray band in place of the list.
Nothing here yet
"Nenhuma campanha ainda" (No campaigns yet), with an invitation to create the first re-engagement or news campaign in 3 steps.
If something goes wrong
"Não foi possível carregar as suas campanhas" (Could not load your campaigns), with a request not to create another before you can see the list, and the "Tentar de novo" (Try again) button.
Balance does not cover the audience
A notice before sending with how many contacts fit in the balance and how much is missing, with the link to "Carteira" (Wallet).
Daily cap reached
A guard-rail banner with the time the queue resumes on its own.
Campaign failed
The "Falhou" (Failed) badge, the reason it stopped and the "Retomar envio" (Resume sending) button.

"Fora das campanhas" (Outside campaigns)

The "Fora das campanhas" (Outside campaigns) screen is for seeing who does not receive campaigns, re-engagement or cadence messages, with the reason for each one, and returning to campaigns the numbers you removed yourself.

Address in the dashboard: /app/campanhas/fora

The "Fora das campanhas" (Outside campaigns) screen in the demo account, with sample data and blurred values.

How to get there: Through the "Fora das campanhas" (Outside campaigns) button at the top of "Campanhas" (Campaigns), or through the "Ver a lista Fora das campanhas" (View the Outside campaigns list) link in a campaign report.

Top

Buttons and actions

"Voltar para as campanhas" (Back to campaigns)
Goes back to the campaign list.
  • Fixed explanation: being excluded does not silence the AI or the agent; the conversation in the Inbox continues as normal, and a campaign's audience already discounts these contacts.

Search

Fields and filters

"Buscar por nome ou telefone" (Search by name or phone)
Appears when the list has six contacts or more and filters by both fields.

"Entrega falhou" (Delivery failed)

Contacts you marked after a delivery failure; this can be undone.

Buttons and actions

"Voltar a receber" (Receive again)
Removes the mark and the contact goes back into future campaigns.
  • Each row has a name, phone and the reason, with the campaign and the date the mark was created.

"Pediram para sair" (Asked to opt out)

A refusal by the contact themselves (LGPD). Read-only: it cannot be undone from here.

  • Each row has a name, phone and the reason.

Screen states

Loading
A gray band while the list loads.
Nothing here yet
"Ninguém está fora das campanhas" (Nobody is outside campaigns), explaining that a campaign report offers the button to remove numbers that failed.
If something goes wrong
"Não foi possível carregar a lista" (Could not load the list), with a notice that the marks remain in effect when sending, and the "Tentar de novo" (Try again) button.
Search with no results
"Nenhum contato com ‹texto›." (No contact with ‹text›.)

Step by step

How to create and send a WhatsApp campaign

  1. Open "Campanhas" (Campaigns) and click "Nova campanha" (New campaign).
  2. Fill in "Nome da campanha" (Campaign name) and build the audience in "Filtrar contatos" (Filter contacts) or "Por histórico de compra" (By purchase history).
  3. Check the summary of how many contacts will receive it and click "Continuar" (Continue).
  4. Choose the "Modelo aprovado" (Approved template), the header file if the template asks for one, and what goes into each variable. Click "Continuar" (Continue).
  5. Review the preview and the estimated cost shown on screen, and click "Disparar para ‹n›" (Send to ‹n›).

How to schedule a campaign

  1. Build the campaign up to step 3 of 3.
  2. Fill in "Agendar para (opcional)" (Schedule for (optional)) with the date and time.
  3. Click "Agendar" (Schedule). The campaign appears in the list as "Agendada" (Scheduled), with the sending date and time.

How to send a campaign in smaller batches

  1. In step 1, check "Enviar só para os primeiros" (Send only to the first) and type how many contacts to include.
  2. Send the first batch.
  3. For the next one, create another campaign with the same audience and choose "Não receberam" (Haven't received) under Campaign history.

How to resume a campaign that stopped

  1. Fix the cause shown in the report (top up the balance, reconnect WhatsApp or replace the file).
  2. Open the campaign in the list.
  3. Click "Retomar envio" (Resume sending). Those who already received it do not receive it again.

How to remove failed numbers from future campaigns

  1. Open the campaign report.
  2. In the block of failed numbers, click "Não enviar mais para estes ‹n›" (Stop sending to these ‹n›).
  3. Confirm in "Tirar das campanhas" (Remove from campaigns).

How to return a contact to campaigns

  1. In "Campanhas" (Campaigns), click "Fora das campanhas" (Outside campaigns).
  2. In the "Entrega falhou" (Delivery failed) group, find the contact.
  3. Click "Voltar a receber" (Receive again).

Frequently asked questions

Where do I see how much the campaign will cost before sending?

In the audience summary, in steps 1 and 3: the screen shows how many contacts will receive it and the estimated cost, which depends on the category of the chosen template. When the WhatsApp number belongs to your company, the screen warns that Meta charges your card directly.

Why doesn't the "Por qual número enviar?" (Which number to send from?) field appear?

It only appears when the account has more than one active WhatsApp number or a number also in use on the phone. With a single number, the campaign goes out through the default account.

What data can I put in the template variables?

Each variable receives the contact's "Primeiro nome" (First name), "Nome completo" (Full name) or "Empresa" (Company).

Can I cancel a scheduled campaign?

Yes. Open the campaign in the list and click "Cancelar campanha" (Cancel campaign). The button appears while it is scheduled, sending or in draft.

Does being in "Fora das campanhas" (Outside campaigns) prevent service in the Inbox?

No. The mark only takes the contact out of campaigns, re-engagement and cadences; the conversation, the AI and the agent continue as normal.

Can I return to campaigns someone who asked to opt out?

Not from this screen. The "Pediram para sair" (Asked to opt out) group is a refusal by the contact themselves (LGPD) and appears as read-only.

Why can't the agent see campaigns?

Campaigns spend balance and reach the entire base, so they stay with the Owner and Admin. The item disappears from the agent's menu and search.

Help center guide

"Campanhas" (Campaigns)

Sending the same message to many people at once: who receives it, how much it costs, and how not to pay twice for the same person.

A campaign is talking to many people at the same time: announcing the promotion, reactivating those who went quiet, announcing the new service. All with an approved message, because almost nobody on that list has talked to you in the last 24 hours.

Who charges for the campaign

A campaign is always a marketing message, WhatsApp's most expensive category. The one who issues that charge is the owner of the account your number lives in:

You connected your own WhatsApp
Meta charges each message directly to your card, at its own price. The platform adds nothing on top — the audience summary says so instead of showing an estimated amount, because the amount is not ours to estimate. Check the spend in Meta Business Manager.
The number is hosted by us
The WhatsApp invoice comes to the platform and the amount comes out of your balance, at the price of the template's category — marketing, utility, authentication, and service have different prices, and the table for each is in Balance & top-ups. In that case the screen shows an "custo estimado" (estimated cost) before sending, and the button only sends after you confirm.

With more than one connected number, the answer depends on which number the batch goes out from — each number answers for the account it lives in. That is one more reason to check the "Por qual número enviar?" (Which number to send from?) field before sending.

In both cases the same WhatsApp rule applies: a campaign goes out as a template, and a template is priced per delivery. Since 10/01/2026, Meta also charges for replies inside the conversation (service). Each number has 1,000 at no cost per month; the Brazilian rate is still an estimate.

Building a campaign

There are three steps, in the order in which the decisions happen: who receives it, what they receive, and checking before spending.

  1. Give it a name and choose who receives it: The name is so you can recognize the send a month from now. The audience comes from the same filter vocabulary as the Contact base: channel, temperature, tag, status. No parallel list that means something else.
  2. Decide the batch size: You do not have to send to everyone at once. Check "Enviar só para os primeiros" (Send only to the first) and test with 20, see the response, then release the rest.
  3. Choose the number, if you have more than one: "Por qual número enviar?" (Which number to send from?) opens in step 2, before the template list. Leaving it on "Conta padrão do canal" (Channel default account), the batch goes out through the default account in Connections. With only one number, the field does not even appear.
  4. Choose the template and fill in the variables: Only those already approved for that number appear — which is why the choice of number comes first. If what you want to say does not exist yet, create it in Message templates and come back once it is approved.
  5. Review and send: The last step shows the final message, how many will receive it, and how much it costs. The button states the number: "Disparar para 50" (Send to 50) leaves no doubt about what will happen.

Choosing the audience

On screen: Audience selection step of a campaign, with filters and the count of eligible contacts. The count changes as you adjust the filters, before anything is sent.

  1. Where the contacts come from: Either you filter the base — channel, temperature, status, tag, the same filters as the Contact base — or you start from purchase history. If you already know how to build the list there, you already know how to build the audience here.
  2. Who has already received a campaign: "Não receberam" (Haven't received) is the filter that saves the most money: it stops you from paying twice to talk to the same person in the same week.
  3. Batch size: The cap on how many receive it now. It is the handbrake: test the text on 20 before spending on 800.
  4. The math before the spend: How many will receive it, how much it will cost, and who was left out, with the reason in Portuguese. "Ver quem vai receber" (See who will receive it) opens the named list before you confirm.

There is one filter that saves more money than all the others combined: who has not yet received a campaign in the last 30 days. It is what stops you from paying twice to talk to the same person in the same week.

Numbers that always fail: "Fora das campanhas" (Outside campaigns)

Each campaign's report lists who failed, with name and reason — a number without WhatsApp, a phone that cannot be dialed, a send that did not go out. The "Não enviar mais para estes" (Stop sending to these) button removes those contacts from every future campaign and send, with the reason recorded. It matters for your wallet: a delivery that WhatsApp refuses has already been charged, and a dead number coming back in every batch is money repeated in the same place.

  • The contact is not deleted. They stay in your base, the conversation stays in the Inbox, and the AI replies normally if they write — only campaigns, sends, re-engagement, and cadences stop.
  • You can undo it one by one. The "Fora das campanhas" (Outside campaigns) screen (button at the top of Campaigns) lists them all, with the reason and the date — someone who changed numbers comes back with one click on "Voltar a receber" (Receive again), and the contact's record has the same undo.
  • Those who asked to opt out appear there too, in a separate group and without undo: a contact's refusal (LGPD) is not undone from a campaigns screen.
  • When you build the next campaign, the audience already discounts these contacts and states the reason: "marcados para não receber campanha" (flagged to not receive campaigns).

Sending an image, video, or file

You can, and it is what makes the difference in a promotion. But it is not an attachment you put on just any message: the template decides. Every approved template has a header type — text, image, video, or document — chosen when it was created, and WhatsApp does not allow changing that at send time.

  • Text-header template: the screen does not even ask for a file, because there is nowhere to fit it.
  • Media-header template: the tag "Imagem" (Image), "Vídeo" (Video), or "Documento" (Document) appears next to the name, and the campaign only goes out after you choose the file.

On screen: Template selection step, with one template marked as Image and the field for choosing the header file. Step 2, from top to bottom: which number it goes out from, which template, and the file the template asks for.

  1. Which number to send from: It appears when you have more than one WhatsApp number connected. Approved templates belong to each number, so changing it here clears the template already chosen — on purpose, so the campaign does not go out with a text that number does not have.
  2. The tag that says what the template asks for: "Imagem" (Image), "Vídeo" (Video), or "Documento" (Document) next to the name. A template without a tag is text only — and accepts no file at all.
  3. Choosing the file: One file for the whole campaign: the same image goes to everyone in the batch. After choosing, you can "trocar" (change) or "remover" (remove) it — both ask for confirmation, nothing disappears on a wrong click.
  4. What fits, before the error: Image: JPG or PNG up to 5 MB. Video: MP4 or 3GP up to 16 MB. Document: PDF up to 16 MB. If the file does not qualify, the message states the reason and what to do.

In step 3 you see the assembled message: your image on top, the text below with the variables in place. It is exactly what will arrive on the contact's phone — check it there before sending, because afterward there is no undo.

If the template you want to use is still text only, you cannot "add" an image to it. Create a new template with an image header in Message templates and wait for Meta's approval — it appears here afterward, already with the tag.

Balance: the warning before and the stop in the middle

This applies only to those whose number is hosted by us — it is the only case in which the campaign spends the balance here. Those who connected their own WhatsApp never see any of this: Meta charges their card, and this account's balance does not pay for the batch.

Before sending, the audience summary compares the estimated cost with what you have. If it does not cover it, it says so with numbers: how much you have, how many contacts fit, and how much is missing. The button stays available — the decision is yours, and sending what fits is a legitimate choice. If the balance does not pay for even the first contact, the warning says so plainly: nothing goes out, and the batch stops right at the start.

In the first step, when the template has not yet been chosen, the screen shows only how many contacts are included — the cost appears later. This is not an omission: the price comes from the template's category, and a marketing batch costs several times a utility one. A number before the choice would be the wrong number precisely on the screen where you decide the batch size.

If the balance runs out midway, the batch stops. It does not keep delivering without charging and does not close as completed: it is marked as interrupted, with the reason written in the report. Those who already received it, received it; the others stay in the queue, intact.

Working in batches

A list of 300 contacts does not have to become one send of 300. Send 50, read the replies, adjust the text, send the next 50. With each new campaign, the "não receberam" (haven't received) filter already excludes on its own those who were in the previous batch.

The batch order is the same as in the Contact base, from newest to oldest. And before confirming, you see the list with the first and last names of those who will receive it.

The daily cap: why the queue sometimes waits

There is a guard-rail of 250 campaign messages per day on the account — and a refused attempt counts too, because for your number's reputation with Meta the attempt counts. When the cap is hit, the screen warns you ("Guard-rail acionado" (Guardrail triggered)) with the time it was reached, and the queue resumes on its own at 21h (midnight on the universal clock, which is WhatsApp's ruler). Nothing needs to be done, and nobody is left out: whoever did not go out today goes out tomorrow, in order.

After the send

  • The campaign shows how many were delivered, how many were read, and how many generated a reply. The last one is the only one that matters.
  • Whoever replies goes back to being a normal conversation in the Inbox, with the AI handling it and the 24-hour window open again.
  • Whoever asks to opt out is unsubscribed immediately and does not enter any campaign from then on.
  • In the campaign list, those with more than one connected number also see "enviada por" (sent by) and the account nickname — you can tell which number each batch went out from months later.

When the send does not go out as planned

The audience came out much smaller than the base
It is consent, almost always. The screen states plainly how many asked not to receive and were left out. The "Sem consentimento" (No consent) list, in Contact base, shows who they are.
Someone did not receive it, and it was not an error
Look for the reason "em atendimento humano agora" (currently with a human agent): that conversation had a person in it at the time of sending. The campaign closes normally, that contact is not charged, and the record stays in their journey as "Campanha não enviada" (Campaign not sent). Contact them again in the next batch, once the conversation has ended.
The continue button is not enabled
A name is missing, an approved template is missing, the file of a template that asks for media is missing, or the audience came out at zero. Hover over the locked button: it tells you which case is yours. A template that lost its approval disappears from the list — check Message templates.
The file was refused
Either the type does not fit that header (image accepts JPG and PNG; video, MP4 and 3GP; document, PDF), or it exceeded the size. The message says which of the two it is, and what to do: convert or compress.
Some of the messages failed
An invalid number or a device that does not receive. Those who failed still count as not having received, so they naturally enter the next batch — there is no need to build a retry list by hand.
The estimated cost was alarming
That is why it appears beforehand. Reduce the batch size, tighten the filter, or use "Não receberam" (Haven't received) so you do not pay again for someone already contacted this week.
The campaign stopped midway
Open its report: the reason is written there. If it is balance, top up in Balance & top-ups and click "Retomar envio" (Resume sending) — those who already received it do not receive it again. If it is a disconnected WhatsApp or a file that did not upload, the text says which of the two.
No estimated cost appears at all
Then your number is on your own WhatsApp account: Meta charges you directly and the platform has no amount to estimate. The batch still costs — just on the WhatsApp invoice, not on the balance here. See Balance & top-ups.

In the dashboard: "Abrir Campanhas" (Open Campaigns)