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 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 Ad without the URL parameters Paste utm_content={{ad.name}}&utm_term={{adset.name}}&utm_id={{ad.id}} (§5.4)
3 🔴 Nothing tracked; everything “Orgânico” The ad’s destination is not the /r/ link Use the /r/ link as the destination (§5.2)
4 🔴 Creative blank even with the right landing page Your landing doesn’t pass the utm_* through to the /r/ button Make sure they’re passed through, or point the ad straight to /r/ (§5.4)
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 “this link expired or doesn’t exist” Link paused/deleted with the ad still pointing to it Pause the ad first; only then touch the link (§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 🔴 CTWA leads with no cost, no CPL/ROAS, no creative CTWA enters as Meta paid in the funnel, but with no cost/creative (it doesn’t go through /r/); active only on Cloud To get cost and creative, use the /r/ link as the destination instead of native CTWA (§5.4)
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 Cost only shows up the next day Expected: the cost sync runs overnight (~5–6am) Wait for the next cycle; if it persists >1 day, check the channel (§5.1) and the Meta banner (§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 the ad, use the /r/ link as the destination and paste the URL parameters — 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.