Agências de marketing · WhatsApp

Funil de WhatsApp

Do anúncio à conversa, ao atendimento e à venda, com um custo por conversa que não se passa por custo de venda.

UsoComum
EsforçoMédio
Para quemAgências que geram conversas no WhatsApp para clientes que fecham a venda no atendimento.
Fonte

Conversas da mídia, atendimentos e CRM

Regra

Conversa ligada ao anúncio e ao atendimento

Resultado

Funil e custo por conversa, atendimento e venda

Ativação

Dashboard, alertas e agente de IA

O que resolve

  • O custo por conversa fica separado do custo por venda, e o cliente para de comparar os dois.
  • Cada atendimento tem data, linha e atendente, sem confundir contato com pessoa.
  • A venda que veio da conversa fica ligada à campanha que gerou a conversa.

Perguntas de negócio que responde

Faça estas perguntas ao seu agente quando o caso estiver pronto.

Quantas conversas cada campanha gerou e quanto custou cada uma?
Quantas dessas conversas foram atendidas e quantas viraram venda?
Por qual linha de WhatsApp os clientes mais chegam?
Qual o tempo de espera até o primeiro atendimento, por dia?
Quantas mensagens falharam, e por quê?

O que você precisa

  • Meta Ads e Google Ads do cliente conectados, com as campanhas de conversa identificadas pelo objetivo
  • A ferramenta de atendimento ou o CRM conectados, com a lista oficial de números do cliente
  • Um identificador que ligue a conversa ao anúncio: id do anúncio, ctwa_clid ou ferramenta de rastreio

O que você recebe

  • Uma tabela de atendimentos com data, linha, departamento, atendente e tabulação
  • O funil anúncio, conversa, atendimento e venda por campanha
  • Alerta de campanha apontando para número fora do rastreio
  • Um agente de IA que responde sobre WhatsApp sem chamar conversa de venda

Onde ativar

Dashboard do cliente

Conversas, atendimentos e vendas por campanha, com o custo de cada etapa.

Alerta de configuração

Campanha apontando para número fora do rastreio ou linha sem atendimento no dia.

Agente de IA via MCP

Responde quantas conversas viraram venda, por linha e por campanha.

Quer construir?

A parte de mídia é simples. O trabalho está na ferramenta de atendimento, que muda de cliente para cliente, e na chave que liga a conversa ao anúncio. O detalhado traz as regras de negócio, as armadilhas e o teste de aceitação. Ou mande tudo direto para o seu agente com o MCP da Nekt.

Ver detalhado
O problema

A plataforma conta conversa iniciada e chama de resultado. A ferramenta de atendimento conta ocorrências, contatos e mensagens, cada uma com várias datas, e campos como fechado querem dizer fechamento técnico, não venda. Sem uma chave entre conversa e anúncio, o funil quebra no meio e a agência não sabe qual campanha vende.

Como costuma ser feito, e a regra

Cada linha é um erro que já aconteceu na prática.

O jeito comumA regra
01
Reportar custo por conversa como custo por venda.
Conversa iniciada é topo de funil

Em campanhas com optimization_goal CONVERSATIONS, o resultado é onsite_conversion.messaging_conversation_started_7d, e o custo por conversa é o investimento dessas campanhas dividido pelas conversas iniciadas. No Google, a conversão é a ação de clique no WhatsApp, identificada pelo nome da ação de conversão. Nenhuma das duas é lead qualificado nem venda.

02
Contar linhas da tabela como clientes atendidos.
Atendimento, contato e pessoa são diferentes

Na ferramenta de atendimento, cada ocorrência (report.id no RD Station Conversas) é um atendimento, e o mesmo contato tem várias. Contatos únicos = contagem distinta do id do contato dentro da ferramenta, e isso não é pessoa única entre sistemas. Diga sempre qual dos três está sendo contado.

03
Usar opened_at como data da conversa.
Uma data para cada pergunta

O eixo temporal do atendimento é created_at, no fuso do cliente. opened_at é a última sessão de atendimento e, numa API real, só cobria o último mês, o que empilharia meses de histórico num só. started_at, finished_at e closed_at respondem perguntas próprias e não substituem a data de criação.

04
Contar atendimentos fechados como vendas.
Fechado não é venda

closed e closed_at registram o fechamento técnico da ocorrência. Não são conclusão de fluxo, sucesso, conversão nem venda. Venda vem do CRM ou de um campo de resultado preenchido pela operação. A tabulação de encerramento feita pelo atendente (sem resposta, lead inapto, venda) vale mais que qualquer inferência.

05
Filtrar a linha que tem o nome da empresa quando perguntam pela empresa.
A linha de WhatsApp é dimensão

Clientes com vários números (comercial, 0800, eventos, unidades) têm a linha identificada por uma chave técnica da integração. Mapeie a chave para o nome operacional numa tabela do cliente e filtre por linha só quando a pergunta for por linha: o nome do cliente sozinho significa a empresa inteira, mesmo que uma linha tenha o mesmo nome.

06
Aceitar campanha apontando para qualquer número.
Todo tráfego no número rastreado

Quando o cliente usa ferramenta de rastreio de WhatsApp, toda campanha paga aponta para o número conectado a ela. Campanha que leva para outro número é erro de configuração e vira alerta, porque as conversas dela não entram no funil.

07
Casar pelo nome da campanha.
A ponte é o id do anúncio

Ligue a conversa ao anúncio pelo id do anúncio que a ferramenta ou o CRM gravam (ou pelo ctwa_clid), cruzando com a versão mais recente de cada anúncio. Sem id, use o telefone normalizado (55, DDD e número) e a primeira conversa do telefone no período. Nome de campanha digitado não é chave.

08
Média do tempo de espera.
Tempo de atendimento pela mediana

A ferramenta entrega tempos como texto (18h 10m 00s): converta para segundos. Use mediana, nunca média, porque uma conversa respondida de madrugada destrói a média. Separe o horário comercial (valid_business_period) do resto.

09
Somar todos os erros num número só.
Mensagem com erro tem causa

Mensagem enviada com status sent, delivered ou read é sucesso; failed é erro. Separe erro da própria operação, erro de janela de 24 horas fechada e erro da conta do cliente. Custo de template = mensagens enviadas x valor unitário da categoria do template; categoria sem preço fica nula, não zero.

10
Enviar o telefone completo para o dashboard.
Telefone não sai da Nekt

Para dashboard ou aplicativo externo, pseudonimize o telefone (hash mais os últimos 4 dígitos) antes da saída. O número completo fica só na camada interna, usado como chave.

Etapas do funil de WhatsApp

De onde vem cada etapa e o campo que a conta.

Meta · objetivo CONVERSATIONSConversa iniciadaonsite_conversion.messaging_conversation_started_7d
Meta · resposta do anunciantePrimeira respostaonsite_conversion.messaging_first_reply
Google · ação de conversãoClique no WhatsAppconversion_action_name
Ferramenta de atendimentoAtendimentoreport.id
Ferramenta de atendimentoContatocustomer.id distinto
Tabulação de venda ou CRMVendanegócio ganho
closed = trueFechamento técnico, não é vendaclosed_at

Definições

Conversas iniciadas
soma de messaging_conversation_started_7d nas campanhas de objetivo conversa, no período
Custo por conversa
investimento das campanhas de conversa / conversas iniciadas, no mesmo período
Atendimentos
contagem distinta de ids de ocorrência criados no período (created_at no fuso do cliente)
Contatos únicos
contagem distinta do id do contato na ferramenta de atendimento, no período
Cobertura de atendimento
contatos que receberam resposta da operação / contatos que escreveram, no período
Conversão de conversa em venda
vendas ligadas a conversas do período / conversas do período ligadas a anúncio
Tempo de espera
mediana, em segundos, do tempo até o primeiro atendimento, separada por horário comercial
Custo por venda
investimento das campanhas de conversa / vendas ligadas a essas campanhas no período

Armadilhas que já aconteceram

Conversa barata, venda cara

O custo por conversa estava abaixo da referência da agência, e o cliente perdia dinheiro: muita gente abria conversa e não comprava.

Mostre custo por conversa e custo por venda lado a lado.

Meses empilhados num só

opened_at trazia a última sessão de cada conversa e jogava todo o histórico no mês corrente, sem nenhum gráfico acusar erro.

Eixo temporal em created_at.

Fechado contado como venda

O painel somava atendimentos com closed verdadeiro como conversões, e o funil mostrava quase 100% de fechamento.

Venda só por CRM ou tabulação.

Número fora do rastreio

Uma campanha apontava para o WhatsApp de outra unidade, e as conversas dela sumiram do funil.

Alerta de campanha com número fora da lista do cliente.

Atendimento sem dono

A tabela de atendentes da API vinha vazia, e o painel mostrava atendimentos sem responsável.

Tire o atendente do próprio atendimento (campo employee).

A empresa virou uma linha

Perguntas sobre a empresa filtravam só a linha que tinha o mesmo nome e mostravam uma fração dos contatos.

Mapa de linhas aplicado só em pergunta por linha.

Teste de aceitação

O caso está pronto quando todos os itens passam.

Pacote para o agente

Cole no Claude, ChatGPT ou outro cliente com o MCP da Nekt conectado.

Markdown completo
Funil de WhatsApp
- Conversa iniciada (onsite_conversion.messaging_conversation_started_7d) é topo de funil. Não é lead qualificado nem venda.
- Custo por conversa = investimento das campanhas de objetivo conversa / conversas iniciadas.
- Atendimento = uma ocorrência na ferramenta (report.id). Contato = id do contato na ferramenta. Nenhum dos dois é pessoa única entre sistemas.
- Data do atendimento = created_at no fuso do cliente. opened_at é a última sessão; closed_at é fechamento técnico.
- Venda vem do CRM ou da tabulação de venda preenchida pela operação. closed = true não é venda.
- Linha de WhatsApp só filtra quando a pergunta é por linha. O nome do cliente sozinho é a empresa inteira.
- Tempo de espera e de atendimento: mediana em segundos, separando horário comercial.
- Telefone sai da Nekt só pseudonimizado.
Exceções por cliente:
- <cliente>: número rastreado <número>; campanha apontando para outro número é erro de configuração.
- <cliente>: linhas <integration-1> = <comercial>, <integration-2> = <0800>.
- <cliente>: venda = tabulação <venda> no encerramento do atendimento; fuso <fuso>.

Variações

Pedidos pelo chat

Para delivery e varejo: contatos, pedidos criados e pedidos entregues por dia e por veículo.

Custo de template

Mensagens enviadas por categoria de template vezes o preço da categoria, por campanha de disparo.

Assistente de IA no atendimento

Transbordo e resolução sem humano medidos a partir das tabulações.