# Análise Funil Real — Quiz Feng Shui Borrello (08-14/set/2026)

**Data da análise:** 15/set/2026
**Executor:** Paulo (dev)
**Solicitante:** Renato (via Mia)
**Escopo:** cruzar Meta Ads × Backend Quiz × Linkia GHL nos 7 dias corridos da campanha

---

## TL;DR — a verdade em 1 tela

| Fonte | Nº leads 7 dias | Notas |
|---|---|---|
| **Meta Ads reportou** | **63** | evento `lead` do pixel 464623303880507 (Purchase = fbq('Lead') no client, disparado só APÓS resposta OK da API) |
| **Backend quiz — form preenchido (SQLite)** | **73** | fonte de verdade — só grava quando POST /quiz/submit retorna 200 |
| **Linkia — contatos novos com origem quiz** | **0** | **ZERO. Todos os 73 leads sumiram no caminho pro CRM.** |

**Gap crítico:** 73 leads reais → 0 no Linkia. A campanha está pagando ~R$2/lead mas **nenhum contato está entrando no CRM do Borrello**.

**Causa raiz:** o backend do quiz só integra com **RDStation** (não com Linkia direto). O token RDStation está **retornando 401 UNAUTHORIZED em 100% dos envios** desde o início da campanha. Ou seja, os leads também não estão indo pro RD.

---

## 1) Meta Ads (fonte reportada) — período 08-14/09

**Campanha:** `[BORRELLO] LEAD | QUIZ FENG SHUI | 09.2026`
**ID:** 120250699832880103
**Conta:** act_517468148842987 (Campanhas Real - Francisco Borrello)
**Status:** ACTIVE

### Totais campanha

| Métrica | Valor |
|---|---|
| Spend | R$ 138,76 |
| Impressões | 9.809 |
| Alcance | 6.418 |
| Cliques (all) | 1.316 |
| Cliques link | 375 |
| CTR | 13,42% |
| CPC | R$ 0,105 |
| Landing Page Views | 327 |
| **Leads (pixel)** | **63** |
| **CPL Meta** | **R$ 2,20** |

### Por adset

| Adset | Spend | Impr | Clicks | LPV | Leads | CPL |
|---|---|---|---|---|---|---|
| A - INTERESSES FENG SHUI/ESPIRIT | R$ 48,11 | 2.620 | 296 | 96 | **26** | R$ 1,85 |
| B - LAL ALUNOS + ENGAJADORES | R$ 41,09 | 2.779 | 423 | 92 | **14** | R$ 2,94 |
| C - RETARGETING ENGAJADORES+SITE | R$ 49,56 | 4.410 | 597 | 139 | **23** | R$ 2,15 |

### Por ad (destaque de performance)

| Ad | Spend | Impr | LPV | Leads | CPL |
|---|---|---|---|---|---|
| A - TAMPA_V4 | R$ 44,54 | 2.456 | 84 | **22** | R$ 2,02 |
| A - VIDEO_QUIZ | R$ 3,57 | 164 | 12 | 4 | R$ 0,89 |
| B - OBJETOS_DINHEIRO | R$ 36,81 | 2.504 | 80 | **13** | R$ 2,83 |
| B - EDITORIAL_AVATAR | R$ 4,28 | 275 | 12 | 1 | R$ 4,28 |
| C - RACHADURAS_PAZ | R$ 45,40 | 4.206 | 135 | **23** | R$ 1,97 |
| C - ESPELHO_SONO | R$ 4,16 | 205 | 4 | 0 | — |

**Insight:** os 3 ads que puxam o resultado são TAMPA_V4, OBJETOS_DINHEIRO e RACHADURAS_PAZ — juntos representam ~92% do budget e ~92% dos leads. VIDEO_QUIZ tem melhor CPL isolado (R$ 0,89) mas volume irrisório — vale escalar.

---

## 2) Backend do Quiz (fonte de verdade)

**Serviço:** `quiz-fengshui.service` (porta 5060, Flask + SQLite)
**Path:** `/opt/mia/workspace/clientes/borrello/quiz_feng_shui/api.py`
**DB:** `quiz_leads.db`
**Endpoint único de captura:** `POST /quiz/submit` — grava lead APÓS validação de email

### Limitação técnica encontrada

O backend **NÃO tem tracking de etapas intermediárias**. Só grava o lead quando o form é submetido com sucesso. Ou seja, não há como medir server-side:
- Quantos VISITARAM o quiz (só via LPV do Meta)
- Quantos INICIARAM (só via pixel client-side `fbq('trackCustom','QuizIniciado')`)
- Quantos completaram Etapa 1 (só via `fbq('trackCustom','QuizEtapa1Completa')`)

**Todos os customs pixel estão no client-side, mas o Meta não expõe custom events na Insights API sem breakdown específico.** Se quisermos essas métricas server-side, tem que instrumentar o api.py com endpoints de tracking (`POST /track/start`, `POST /track/midway`) — recomendação abaixo.

### Leads gravados por dia

| Data | Leads backend |
|---|---|
| 09/09 | 1 |
| 10/09 | 3 |
| 11/09 | 7 |
| 12/09 | 21 |
| 13/09 | 21 |
| 14/09 | 20 |
| **TOTAL** | **73** |

### Distribuição por objetivo (7 dias)

| Objetivo | Leads |
|---|---|
| prosperidade | 49 |
| saude | 11 |
| familia | 7 |
| carreira | 4 |
| relacionamento | 2 |

### WhatsApp preenchido

- Com número: 66/73 (90%)
- Sem número: 7/73 (10%) — form permite envio só com email

---

## 3) Linkia GHL (destino final que NÃO recebeu)

**Location:** T6q6QPvoALVifF21G0Lu
**Total geral no CRM:** 24.591 contatos (histórico completo)

**Contatos criados 08-14/09:** **1 único** — `remoraes09@gmail.com` (o próprio Renato, criado 10/09 em teste manual).

**Verificação amostral:** peguei 5 emails aleatórios dos 73 leads do backend (jhmleite7, lucianebacanelo7, trombelavania, marinasokai, oliveiramacedo0510) e busquei um por um no Linkia via `/contacts/?query=`. Resultado: **0 matches em todos**.

**Conclusão:** Zero integração backend quiz → Linkia. Os leads NUNCA saíram do SQLite.

---

## 4) Cruzamento dia-a-dia

| Data | Backend | Meta | Delta |
|---|---|---|---|
| 09/09 | 1 | 0 | +1 |
| 10/09 | 3 | 3 | 0 |
| 11/09 | 7 | 7 | 0 |
| 12/09 | 21 | 15 | +6 |
| 13/09 | 21 | 25 | -4 |
| 14/09 | 20 | 13 | +7 |
| **TOTAL** | **73** | **63** | **+10** |

**Análise dos deltas:**
- Deltas positivos (backend > Meta): leads orgânicos, leads de email marketing, leads de link direto compartilhado — não passaram por anúncio Meta
- Delta negativo em 13/09: janela de atribuição do Meta (algum lead do dia 12 provavelmente atribuído no dia 13, ou timezone drift do fuso)
- Ratio geral: **~86% dos leads do backend vieram de tráfego pago Meta**. Batimento saudável na fonte, catastrófico no destino.

---

## 5) Funil real — o que dá pra medir

```
9.809 impressões  (100%)
    ↓ CTR 13,4%
1.316 cliques (link + all)
    ↓
  375 cliques em link           (28% dos clicks)
    ↓ ~87%
  327 landing page views        (85% de recuperação link→LPV)
    ↓ ~22%
   73 formulários submetidos    (22% de LPV→lead — TAXA MUITO BOA)
    ↓ ??? (Etapas Iniciou/Meio: não medidas backend)
    ↓
    0 no CRM Linkia             (0% — TODO O FUNIL VAZA AQUI)
```

**Taxa LPV→Lead de 22% é EXCELENTE** para funil de quiz — normal é 8-15%. O quiz está convertendo bem.

**O problema não é criativo, público ou landing. O problema é PLUMBING.** Toda gota que entra no funil evapora antes de chegar no CRM.

---

## 6) Diagnóstico das rotas quebradas

### 6.1) Rota RDStation — QUEBRADA (401 Unauthorized)

Todo POST `/quiz/submit` chama `enviar_rdstation()` em seguida. O token hardcoded no api.py (`e65d2c41fed25b757422ce7cf2d32bb5`) está retornando 401 em 100% dos envios. Exemplo dos logs:

```
2026-09-15 11:55:45,812 [INFO] RDStation status=401 email=jhmleite7@gmail.com
body={"errors":[{"error_message":"Unauthorized api_key provided.","error_type":"UNAUTHORIZED"}]}
```

Todos os 73 leads dos 7 dias tomaram 401. Token invalidado, revogado ou expirado.

### 6.2) Rota Linkia — INEXISTENTE

O `api.py` **nunca chama a API do Linkia**. Não há endpoint, não há função. A arquitetura pressupunha que RDStation → Linkia via workflow interno do RD, mas:
1. RD está 401
2. Não há evidência de que esse bridge RD→Linkia sequer exista configurado

**Nenhum lead do quiz nunca entrou no Linkia Borrello.**

### 6.3) Pixel Meta — OK

O pixel dispara `fbq('track','Lead')` no client-side APÓS a API retornar 200. Comportamento correto: 63 leads Meta vs 73 backend — deltas explicados por leads orgânicos (não Meta) e timezone/atribuição.

---

## 7) Sugestões priorizadas (o que arrumar primeiro)

### PRIORIDADE 1 — HOJE (bloqueador do funil)

**Escolher e implementar a integração backend → CRM:**

**Opção A (mais rápida, recomendada):** Escrever integração direta `backend quiz → Linkia GHL` no `api.py`. Copiar pattern já usado nos SDRs Borrello. Credenciais em `/opt/mia/config/linkia_borrello.env`. Estimativa: 30-45min de dev. Já tem função `enviar_rdstation()` como modelo, só precisa criar `enviar_linkia()` chamando `POST /contacts/upsert`.

**Opção B:** Renovar token RDStation + validar se existe automação RD→Linkia configurada. Mais lento e depende de acesso RD/decisão de arquitetura. Só faz sentido se o Renato quer continuar usando RD como intermediário.

**Backfill dos 73 leads:** rodar script one-shot lendo o SQLite e criando contatos no Linkia com tag `quiz-feng-shui` + custom fields de score/objetivo. Não perde os leads que já pagamos.

### PRIORIDADE 2 — ESTA SEMANA

**Instrumentar tracking de etapas server-side:**
- `POST /track/start` — quando clica Começar
- `POST /track/midway` — ao chegar na pergunta 7
- Já tem `POST /quiz/submit` — final

Isso permite montar dashboard real de drop rate por etapa, hoje só temos LPV (Meta) e Submit (backend) — o meio é cego.

### PRIORIDADE 3 — OTIMIZAÇÃO

- **Escalar VIDEO_QUIZ** (CPL R$ 0,89, o melhor da campanha) — hoje só R$ 3,57 de spend. Duplicar orçamento nesse criativo específico.
- **Pausar B - EDITORIAL_AVATAR** (só 1 lead com R$ 4,28) — está puxando o CPL do adset B pra cima.
- **Testar tag origem no submit:** garantir que TODO lead que entra pelo quiz vai pro Linkia com tag `quiz-feng-shui` + custom field `utm_content=quiz-feng-shui` — permite segmentar campanhas de nurture só pra essa audiência.

---

## 8) Números-chave pra Renato

- **Gastou:** R$ 138,76 em 7 dias
- **Leads pagos (Meta):** 63 (CPL R$ 2,20)
- **Leads no CRM:** 0
- **Prejuízo de plumbing:** 100% dos leads da campanha inteira
- **Ação obrigatória:** integração backend → Linkia HOJE, ou pausar campanha até o funil segurar os leads

---

## 9) Paths e comandos usados

- Backend: `/opt/mia/workspace/clientes/borrello/quiz_feng_shui/api.py`
- DB: `/opt/mia/workspace/clientes/borrello/quiz_feng_shui/quiz_leads.db`
- Log: `/opt/mia/workspace/clientes/borrello/quiz_feng_shui/logs/api.log`
- Systemd: `quiz-fengshui.service` (:5060) + `quiz-fengshui-web.service` (frontend)
- Frontend HTML: `/opt/mia/workspace/clientes/borrello/quiz_feng_shui/index.html`
- Meta token (Renato): `/opt/mia/config/meta_token_renato.txt`
- Linkia env: `/opt/mia/config/linkia_borrello.env`
- Campanha Meta ID: `120250699832880103`
