Visao Geral do Sistema
O que e o RankMyGEO Ads
RankMyGEO Ads e uma plataforma de inteligencia que cruza dados de visibilidade organica em AI/GEO (de motores como Google AI, Perplexity, ChatGPT) com performance de campanhas pagas (de ad accounts conectadas) para identificar oportunidades de investimento em midia por intent de busca.
Arquitetura
- SPA com SSO (Samurai) - autenticacao com email/senha + 2FA TOTP opcional
- Multi-cliente: cada cliente tem ad accounts, intents, campanhas e integracoes proprias
- Sidebar com 2 niveis: PLATFORM (Command Center, Clients) e CLIENT (8 sub-paginas)
- Integracao bidirecional: conecta com RankMyGEO (organico) e provedores de ads (pago)
- AI Opportunity Map: classificacao automatica de intents cruzando organico x pago
Autenticacao e Login
Fluxo de Login
O sistema usa SSO via Samurai com suporte a 2FA TOTP. O fluxo padrao e:
- Passo 1: Email + Senha com botao "Entrar"
- Passo 2 (se MFA ativo): Codigo de verificacao de 6 digitos (Google Authenticator / Authy)
- Pos-login: redireciona para
/app(Command Center)
Command Center
Dashboard Principal
URL: /app — "What needs your attention"
O Command Center e o painel global da plataforma com 3 secoes:
Metricas Globais
| Metrica | Valor | Descricao |
|---|---|---|
| CLIENTS | 1 | Total de clientes cadastrados |
| AD ACCOUNTS | 1 | Contas de anuncio conectadas |
| CAMPAIGNS | 0 | Campanhas ativas |
| CRITICAL | 0 | Alertas criticos |
| WARNINGS | 0 | Avisos |
| CONNECTOR ISSUES | 0 | Problemas de conexao |
Clients Requiring Attention
Tabela com colunas: Client, Ad Accounts, Campaigns, Critical, Warnings, Info, Connector Issues. Estado atual: "All Clear — No clients require immediate attention."
Active Signals
"No Active Signals — All campaigns are operating within normal parameters."
Connector Issues
"No Connector Issues — All connectors are operating normally."
Gestao de Clientes
Lista de Clientes
URL: /app/clients
Tabela com colunas: Client, Slug, Status, Created. Botao "New Client" para adicionar.
| Client | Slug | Status | Created |
|---|---|---|---|
| RankMyApp | rankmyapp | ACTIVE | 8/10/2026 |
Criar Novo Cliente
O botao "New Client" abre um formulario inline com campos:
- Name * (texto obrigatorio)
- Slug * (texto obrigatorio)
- Botao "Create Client"
Client Overview
Pagina de Visao Geral do Cliente
URL: /app/clients/{id}
Badges no header: ACTIVE Data Incomplete
Quick links no topo: Recommendations, Paid Performance, Intent Intelligence, Opportunity Map, Campaigns, Integrations
Secao PAID
| Campo | Valor |
|---|---|
| Provider | OpenAI Ads |
| Connection | Connected |
| Source | REAL |
| Last Sync | Aug 10, 2026, 11:03 PM |
| Campaigns | 0 |
| Paid Data | Insufficient |
Secao ORGANIC / GEO
| Campo | Valor |
|---|---|
| RankMyGEO | Connected |
| Project | RankMyApp |
| GEO Queries | 88 |
| Mapped to Intents | 14 |
| Last Verified | Aug 11, 2026, 06:03 AM |
Intents (4 active)
| Intent | Organic | Visibility | Avg Position | Paid | Opportunity |
|---|---|---|---|---|---|
| Alternativas a Concorrentes | Weak | 33.3% | 3.6 | Insufficient | Awaiting Data |
| Avaliacao de Concorrentes | Weak | 45.8% | 4.6 | Insufficient | Awaiting Data |
| Comparacao com Concorrentes | Weak | 25.0% | 3.0 | Insufficient | Awaiting Data |
| Dores e Limitacoes de Concorrentes | Weak | 44.4% | 3.8 | Insufficient | Awaiting Data |
Opportunity Summary
Recommendations (5 active, 1 High Impact)
Lista resumida com Impact, Title, Type. Link "View all recommendations (5 active)".
Observations
"No open observations."
Data Readiness
Badges: Setup: Complete Data: Partial
| Dimension | Status | Detail |
|---|---|---|
| Client | Configured | RankMyApp |
| Ad Account | Configured | 1 account(s) |
| Paid Connector | Connected | OpenAI Ads |
| Paid Credential | Verified | Verified |
| RankMyGEO Connection | Connected | Connected |
| GEO Project | Mapped | RankMyApp |
| Intents | Available | 4 active |
| Paid Sync | Working | Last: Aug 10, 2026 |
| Paid Campaign Data | Insufficient | No campaigns in ad account |
| GEO Queries | Available | 88 queries |
| Intent GEO Mappings | Available | 14 active mappings |
| Organic Data | Sufficient | 4/4 intents sufficient |
| Opportunity Classification | Awaiting Data | Paid data insufficient |
Intent Intelligence
Pagina de Intents
URL: /app/clients/{id}/intents
Botao "New Intent" para criar novos intents.
Intent Coverage
Filtros
- Search: "Search intents..."
- All States: Untapped Opportunity / Paid Compensation / Organic Strength / AI Dominance / Possible Overinvestment / Awaiting Data
- All Paid: Insufficient / Weak / Strong
- All Organic: Insufficient / Weak / Strong
Tabela de Intents (4 ativos)
| Intent | Opportunity | Visibility | Avg Pos | Organic | Paid | Queries | Results | Engines |
|---|---|---|---|---|---|---|---|---|
| Alternativas a Concorrentes | Awaiting Data | 33.3% | 3.6 | Weak | No Campaigns | 5 | 30 | 6 |
| Avaliacao de Concorrentes | Awaiting Data | 45.8% | 4.6 | Weak | No Campaigns | 4 | 24 | 6 |
| Comparacao com Concorrentes | Awaiting Data | 25.0% | 3.0 | Weak | No Campaigns | 2 | 12 | 6 |
| Dores e Limitacoes de Concorrentes | Awaiting Data | 44.4% | 3.8 | Weak | No Campaigns | 3 | 18 | 6 |
AI Opportunity Map
Mapa de Oportunidades
URL: /app/clients/{id}/opportunity-map
Cruza visibilidade organica AI com performance paga para classificar intents. Periodo: Aug 4-11, 2026.
"How It Works" (Documentacao Integrada)
O botao "How It Works" revela um painel explicativo:
- "The Opportunity Map classifies each intent by crossing organic AI visibility (from GEO engine results) with paid campaign performance (from connected ad accounts) within the selected period."
- "Classification is fully determined by the backend using fixed thresholds. The frontend displays the result — it never reclassifies."
- Organic sufficiency: requires at least 2 mapped queries, 4 results, and 2 engines
- Paid sufficiency: requires at least 1 campaign and 1,000 impressions in the period
- When either side lacks sufficient data: Awaiting Data
6 Estados de Classificacao
| Estado | Significado | Contagem Atual |
|---|---|---|
| Untapped Opportunity | Organico fraco + sem cobertura paga | 0 |
| Paid Compensation | Organico fraco + cobertura paga existe | 0 |
| Organic Strength | Organico forte + sem necessidade de pago | 0 |
| AI Dominance | Organico forte + pago forte | 0 |
| Possible Overinvestment | Organico forte + gasto pago alto desnecessario | 0 |
| Awaiting Data | Dados insuficientes para classificar | 4 |
Filtros
- Search intents, All States, All Paid, All Organic, All Freshness (Fresh/Stale)
- Botoes de filtro rapido por estado (clicaveis, funcionais)
Tabela de Intents
Colunas: Intent, State, Organic, Paid, Mention Rate, Avg Position, Impressions, CTR, Spend, Freshness
Todos os 4 intents estao como "Awaiting Data" / Organic "Weak" / Paid "Insufficient" / Freshness "Fresh"
Recommendations
Pagina de Recomendacoes
URL: /app/clients/{id}/recommendations
"Evidence-backed recommendations based on current product data. Each recommendation explains what to investigate, why, and with what confidence."
Botao "Generate Recommendations" para gerar novas recomendacoes via AI.
Filtros
- Status: All statuses / Active / Closed / Open / Acknowledged / Accepted / Rejected / Completed / Dismissed
- Type: All types / Data Setup / Organic Visibility
- Intent: All intents / Alternativas a Concorrentes / Avaliacao de Concorrentes / Comparacao com Concorrentes / Dores e Limitacoes de Concorrentes
Lista de Recomendacoes
| Title | Type | Impact | Confidence | Status | Intent |
|---|---|---|---|---|---|
| Paid campaign data unavailable | Data Setup | High | High | Open | - |
| Weak organic visibility for "Alternativas a Concorrentes" | Organic Visibility | Medium | High | Open | Alternativas a Concorrentes |
| Weak organic visibility for "Avaliacao de Concorrentes" | Organic Visibility | Medium | High | Open | Avaliacao de Concorrentes |
| Weak organic visibility for "Comparacao com Concorrentes" | Organic Visibility | Medium | High | Open | Comparacao com Concorrentes |
| Weak organic visibility for "Dores e Limitacoes de Concorrentes" | Organic Visibility | Medium | High | Open | Dores e Limitacoes |
Paid Performance
Performance Paga
URL: /app/clients/{id}/paid-performance
Mostra metricas da conta de anuncios conectada. Quick links: Campaigns, Opportunity Map, Intent Intelligence, Integrations.
Dados da Conexao
| Campo | Valor |
|---|---|
| Provider | OpenAI Ads |
| Source | REAL |
| Connector | Connected |
| Last Sync | Aug 10, 2026, 11:03 PM |
| Paid Data | Insufficient |
| Campaigns | 0 |
"No Campaign Performance Data" — "The ad connector is connected, but this Ad Account does not currently have campaign performance data. This is normal for new accounts or accounts without active campaigns."
Intent Paid Coverage
"No campaigns to map to intents. View intents in Intent Intelligence."
Campaigns
Pagina de Campanhas
URL: /app/clients/{id}/campaigns
Filtros: Search campaigns + Status (All statuses / Active / Paused / Archived)
"No Campaigns — No campaigns found for this ad account."
Observations
Pagina de Observacoes
URL: /app/clients/{id}/observations
"System-detected conditions and notable events across campaigns."
Filtros: Search + Severity (All / Critical / Warning / Info) + Status (All / Open / Resolved)
"No Observations — No observations have been detected for this client."
Integrations
Pagina de Integracoes
URL: /app/clients/{id}/integrations
"Data sources and configuration for this client."
Esta e a pagina mais densa do sistema, com 5 secoes e dezenas de acoes.
1. Paid Data Source
| Account | Status | Connector | Last Sync |
|---|---|---|---|
| RANKMYAPP SOFTWARE E SERVICOS DE INTERNET S.A. | ACTIVE | CONNECTED | 8/10/2026 11:03 PM |
2. RankMyGEO Connection
| Campo | Valor |
|---|---|
| Provider | rankmygeo |
| Token Prefix | rmgsvc_0-KtbxPLq |
| Last Tested | 8/11/2026 10:26 AM |
| Last Success | 8/11/2026 10:26 AM |
| Status | CONNECTED |
Acoes: Test Connection, Replace Credential, Disable
Teste executado com sucesso: "Connection Successful — Projects available: 22"
3. GEO Project
| Campo | Valor |
|---|---|
| Project | RankMyApp |
| Website | https://rankmyapp.com |
| Country | Brasil |
| Mapped | 8/10/2026 |
| Status | ACTIVE |
Switch Project dropdown com 22 projetos: RankMyApp, Magazine Luiza, Bradesco, Amazon, PicPay, Esportes da Sorte, Genial, Americanas, etc.
4. GEO Query Mappings
Filtros: Search queries + Filter (All / Mapped / Unmapped)
Tabela: Query, Mapped Intent, Status, Actions (Deactivate / Map)
Exemplos de queries mapeadas:
- "diferenças entre RankMyApp e Sensor Tower" → Comparacao com Concorrentes
- "substitutos para data.ai em tecnologia" → Alternativas a Concorrentes
- "data.ai (App Annie) e bom" → Avaliacao de Concorrentes
- "Sensor Tower problemas comuns" → Dores e Limitacoes de Concorrentes
5. Data Readiness
Mesma tabela de 13 dimensoes do Overview (ver secao 05).
Matriz de Completude de Funcionalidades
Funcionalidades Implementadas
| Funcionalidade | Status | Observacao |
|---|---|---|
| Login com SSO (Samurai) | Completo | Email/senha + 2FA TOTP opcional |
| Command Center (Dashboard) | Completo | Metricas, clients attention, signals, connector issues |
| Lista de Clientes | Completo | Tabela com status, slug, data. CRUD funcional |
| Criar Cliente | Completo | Formulario inline com Name + Slug |
| Client Overview | Completo | PAID + ORGANIC + Intents + Opportunities + Recs + Data Readiness |
| Intent Intelligence | Completo | Coverage metrics, tabela, filtros, "New Intent" |
| AI Opportunity Map | Completo | 6 estados, filtros, busca, "How It Works", documentacao inline |
| Recommendations | Completo | 5 recs ativas, 3 filtros, "Generate Recommendations" |
| Paid Performance | Completo | Dados de conexao, empty state contextual, Intent Paid Coverage |
| Campaigns | Completo | Filtros (search + status), empty state |
| Observations | Completo | Filtros (search + severity + status), metrics, empty state |
| Integrations | Completo | 5 secoes, Test Connection, Replace Credential, Switch Project, Query Mappings (88 queries), Data Readiness |
| Sidebar (2 niveis) | Completo | PLATFORM + CLIENT, active state highlighting |
| Breadcrumbs | Completo | Todas as paginas de cliente |
| Quick Links (Overview) | Completo | 6 links rapidos no topo do overview |
| Data Readiness (13 dims) | Completo | Setup: Complete / Data: Partial — todas dimensoes com status |
| Empty States | Completo | Mensagens contextuais em Campaigns, Observations, Signals |
| GEO Query Mappings | Completo | 14 mapped + 74 unmapped, acoes Map/Deactivate, busca, filtros |
| Test Connection | Completo | "Connection Successful — Projects available: 22" |
| Switch GEO Project | Completo | Dropdown com 22 projetos + botao Switch |
Observacoes e Gaps
| Item | Status | Detalhe |
|---|---|---|
| Rota /intent-intelligence (overview link) | Bug | Quick link no overview aponta para /intent-intelligence que redireciona para Command Center. Rota correta e /intents (sidebar) |
| Paid Campaign Data | Awaiting Data | 0 campaigns na ad account. Performance data indisponivel |
| Opportunity Classification | Awaiting Data | 4/4 intents como "Awaiting Data" — paid data insuficiente |
| Settings / Admin / Users | Nao existe | Rotas redirecionam para /app. Sem area de configuracao |
| Reports / Analytics | Nao existe | Nenhuma pagina de relatorios ou analytics dedicada |