Canonical index. Measurement almost never breaks from a bug — it breaks from a wrong setting that gives no warning. Each row: symptom → cause → what to do. Items marked 🔴 fail silently (no on-screen error; the number just doesn’t add up).

11.1 Acquisition & ad

# Symptom Cause What to do
1 🔴 CPL/ROAS stay “—” on a campaign running on Meta Channel ≠ Meta, OR Meta channel without the campaign ID filled in. Cost only syncs with the Meta channel and the Ads Manager ID. On a conversation ad, CPL and ROAS stay “—” even with the ID (item 13) Make sure the channel is Meta and open Editar campanha → paste the Meta campaign ID. There’s no automatic match by name (§5.1)
2 🔴 Everything lands in “Sem atribuição” on the scoreboard The click came from the ad, but its tagging did not arrive: the Meta website ad has no URL parameters Paste the §5.4 block into the ad’s “URL parameters” field, whole and unchanged. Check it in Validar oferta (§5.4)
3 🔴 Nothing tracked; everything “Orgânico” Conversations arrive with no ad signal. On a website ad, the landing page’s WhatsApp button does not use the trackable link, or the link has no pre-filled message. On a conversation ad, the number is not connected through the Oficial Meta connection On a website ad, put the Link do botão da sua página on the landing page’s WhatsApp button and keep the pre-filled message (§5.2 and §5.3). On a conversation ad, connect the number through the Oficial Meta connection, in Canais (§5.3)
4 🔴 The creative falls into “Sem atribuição” even with the parameters pasted into the ad The landing page does not pass the ad’s tagging on to the button link Make the page pass the tagging on to the button link (§5.4). Do not point the ad at the trackable link: martec does not guide you to do that (§5.3)
5 🔴 Leads arriving at the WhatsApp of someone you turned off Blocked the operator, but their links keep routing Reassign/disable their links before blocking (§4.6)
6 Visitor sees “Este link expirou ou não existe” (This link expired or doesn’t exist) The link was deactivated but is still out there: on the button of a landing page for a live ad, in the bio, on a printed QR code, or in another channel To make the link work again, use Ativar (Activate) in the link’s ⋯ menu. Before deactivating a link, take it out of every place where it was published; if it is on the button of a landing page for a live ad, pause the ad first (§5.2)
7 Click lands on “indisponível” Tracking link without an operator Assign an operator to the link (§5.2)
8 🔴 Customer gets a raw “Olá {nome}” Invalid placeholder (only 6 work) Use only the 6: {utm_source} {utm_campaign} {utm_content} {utm_term} {campaign_name} {tracking_link_slug} (§5.2)
9 I can’t save the operator’s WhatsApp (or a legacy number would route wrong) Registration requires a valid BR mobile (area code + 9 — +55 DD 9XXXX-XXXX); a non-BR/malformed one is rejected on creation/edit with an error. Only legacy data would slip through and route wrong Enter a valid BR number; non-BR isn’t supported today. Suspect legacy data? Edit the operator and re-save

11.2 Integrations

# Symptom Cause What to do
10 🔴 CAPI stopped sending conversions Credential disabled/unverified/revoked, OR Meta disconnected Check “Envio CAPI: Ativo”; reconnect Meta if needed (§7.2)
11 🔴 Cost frozen / ROAS out of date Meta token expired and nobody reconnected (banner state D) Reconnect before the token expires (<7 days warns you) (§7.1)
12 🔴 Connected Meta but no ad account came in Facebook user without access to the account (banner state C) Reconnect with the user who can see the account in Ads Manager (§7.1)
13 🔴 Conversation ad (WhatsApp) leads with no cost, CPL, ROAS, or creative Expected: a conversation ad lead arrives with the source Meta Ads, but it does not go through the trackable link. So martec does not tie that lead to a campaign or a creative, and does not work out cost, CPL, or ROAS for it. The Meta Ads source only shows up when the number is connected through the Oficial Meta connection (item 3) There is nothing to set up besides the Oficial Meta connection (§5.3). If you need creative, cost, CPL, and ROAS per ad in martec, the path is the website ad (§5.3 and §5.4). Do not use the trackable link as the destination of a conversation ad (§5.3)
14 🔴 An operator’s conversations don’t correlate Operator registered with a WhatsApp different from the connected number — the match is by number Register the operator with the same number connected in WhatsApp connect (§7.4)
15 Two WhatsApp connections on the same number Migrated Evolution→Official; Evolution doesn’t turn itself off Disconnect Evolution manually after confirming the Official one (§7.4)
16 Google campaign cost doesn’t show up Expected: Google still has no cost import Treat Google CPL/ROAS as partial (§7.6)

11.3 Public & operation

# Symptom Cause What to do
17 Published bio looks abandoned Published without buttons Add at least one button before publishing (§6.1)
18 My click test doesn’t count Bot/preview or the click limit (10/60s from the same IP) Test from your phone, without reloading several times; the real click counts (§6.3)
19 “Today/Yesterday” look off Wrong company timezone Adjust the company timezone
20 The cost per ad only shows up the next day Expected: the campaign cost (Custo Meta (lifetime)) is fetched right away, when you save the ID externo and with the Sincronizar agora (Sync now) button, and it is updated again every night. The cost of each ad, shown on the scoreboard, is only fetched once a day, overnight, around 6am (Brasília time). Until then, the scoreboard shows “—” with “Custo ainda não sincronizado para este anúncio” For the campaign cost, save the ID externo or use Sincronizar agora, once a minute (§5.1). For the cost per ad, wait for the next night; if it does not come after a day, check the channel and the ID externo (§5.1) and the Meta connection (§7.1)

11.4 “No-gaps activation” script (do it in this order)

  1. Create the campaign on the right channel (Meta, if it runs on Meta) — item 1.
  2. Create the tracking link with an operator and a message using only the 6 placeholders — items 7, 8.
  3. Check the operator’s WhatsApp in BR format and matching the connected number — items 9, 14.
  4. On a website ad, put the trackable link on the landing page’s WhatsApp button and paste the URL parameters into the ad; on a conversation ad, connect the number through the Oficial Meta connection — items 2, 3, 4.
  5. Use Validar oferta to check destination + message + tagging before publishing (§5.3).
  6. Connect Meta with the right user, confirm the green banner, and paste the Meta campaign ID into each campaign (Editar campanha) — otherwise cost won’t add up — items 11, 12, 1.
  7. If you use CAPI, confirm “Envio CAPI: Ativo” — item 10.
  8. Publish. Do not pause/delete the link or block the operator without first handling the live ads — items 5, 6.