The sequence: create a campaign → generate a trackable link → use the link as the ad’s destination (and tag the creative) → read the scoreboard.

5.1 Create a campaign

🖥️ Screen — Campaigns + “Nova campanha” modal

Campanhas                                        [ + Nova campanha ]
✓ Meta Business conectado · 2 contas · expira em 47 dias
┌──────────────────────────────────────────────────────────────────┐
│ Nome             │ Canal     │ Status   │ Tracking links │ Criada  │
│ Coleção inverno… │ Meta ads  │ ●Ativa   │            3   │ há 2 d  │
│ Promo frete      │ Google ads│ ⏸Pausada │            1   │ há 5 d  │
└──────────────────────────────────────────────────────────────────┘

  ┌ Nova campanha ─────────────────┐
  │ Nome    [ .................. ] │
  │ Canal   ( Meta ▾ )             │   ← Meta / Google / Orgânico / Manual
  │ Status  ( ● Ativa )            │
  │            [ Cancelar ][ Criar ]│
  └─────────────────────────────────┘

Campanhas → + Nova campanha: name, channel, status. The campaign is the umbrella for the trackable links.

⚠️ Tagging the channel as “Meta” is not enough for cost to come in. The creation modal does not have the ID field — after creating, open Editar campanha and paste the Meta campaign ID (from Ads Manager) into the “ID da campanha no canal” field. Without it, cost never syncs (CPL/ROAS stay “—”) and there is no automatic match by name. See §11 item 1.

🖥️ Screen — Campaign detail

← Campanhas
Coleção inverno 2026                                       [ Editar ]
Meta ads · ●Ativa · Criada há 2 dias
Tracking links (3)                                       [ + Novo link ]
┌──────────────────────────────────────────────────────────────┐
│ Slug                       │ Operador │ Cliques │ Criado │ ⋯  │
│ martec.app/r/acme/inverno  │ João S.  │   42    │ há 2d  │[⋯] │
│ martec.app/r/acme/inv-az   │ sem oper.│    0    │ há 1d  │[⋯] │
└──────────────────────────────────────────────────────────────┘
  [⋯]: Copiar pro anúncio · Validar oferta · Editar mensagem · Desativar

+ Novo link generates martec.app/r/<empresa>/<slug>. Each link points to one operator (it’s their WhatsApp that receives) and can have a pre-written message. Use Copiar pro anúncio (copy to the ad) — this link is the destination (URL) of your ad.

Three rules that save you headaches:

  1. Without an operator, the click lands on “indisponível” (unavailable) — always assign one (§11 item 7).
  2. Don’t pause or delete a link with a live ad — pause the ad first (§11 item 6).
  3. In the pre-written message, only 6 variables work: {utm_source} {utm_campaign} {utm_content} {utm_term} {campaign_name} {tracking_link_slug}. Any other (e.g., {nome}) goes through literally to the customer (§11 item 8).

5.3 Validate the offer (without firing a real lead)

🖥️ Screen — Offer validation (guide, read-only)

← Voltar pra campanha
Validação de oferta
Destino do anúncio: [ Direto pro WhatsApp ] [ Landing page ]
3 passos pra medir:
 ① Use o link como destino   [ martec.app/r/acme/inverno-vd ] [Copiar]
 ② Marque o criativo  ▸ utm_content={{ad.name}}&utm_term=…
 ③ Confira antes de publicar
Prévia da mensagem (montada de verdade, sem registrar nada)

💡 Use it before publishing — it builds the real message preview without recording a test lead.

5.4 Tag the creative (Meta URL parameters)

✅ In the ad’s “Parâmetros de URL” (URL parameters) field, paste exactly:

utm_content={{ad.name}}&utm_term={{adset.name}}&utm_id={{ad.id}}

Meta swaps the macros on its own: {{ad.name}}Criativo (creative) column, {{adset.name}}Público/ICP (audience), {{ad.id}} → links the click to cost. 💡 Name creatives and audiences in a readable way — those names show up raw on the scoreboard.

⚠️ If you use a landing page in between, it needs to pass the utm_* parameters through to the /r/ button. If it doesn’t, the creative arrives blank (“Sem atribuição”). See §11 item 4.

5.5 Read the scoreboard

Already shown in §1.3. Reinforcing the formulas: CPL = cost ÷ leads, ROAS = revenue ÷ cost. A small sample gets a badge and sinks in the sort order; a win without a value counts as a win but adds no revenue.

5.6 ⚠️ “Landed in Orgânico” × “Sem atribuição”

  • Orgânico (organic) = a lead with no tracked click (came in without going through a /r/ link).
  • Sem atribuição (no attribution) = came through a trackable link but the ad had no URL parameters (§5.4).

Avoid both: /r/ link as the destination and URL parameters pasted, always.