K1 Krat One Structure Atlas ENV · lab
Módulos/SEO/Local & GBP
Spec · módulo Local & GBP · 2026-07-13

Local & GBP · Presença Local

Três pilares sobre uma ficha: Local Pack (posição no 3-pack por grade geográfica), Gerenciador de GBP (avaliações, posts, fotos, Q&A, horários, NAP) e Análise de GBP (Performance: buscas, visualizações, ações). Abordagem híbrida — integramos a família de APIs do Google Business Profile + um provedor de SERP para a grade local; nós somos a agregação, a UI multi-tenant, os alertas e a camada KRATUS.

3 pilares · 1 fichaGoogle BP API + grade SERPmulti-tenant · alertas · KRATUS
A

Abordagem híbrido

Integramos os dados que o Google (e o SERP) já têm; construímos o que ninguém entrega: agregação multi-tenant, histórico, alertas e IA.

Integra a família de APIs do Google Business Profile (gestão + Performance) e um provedor de SERP para o rank por coordenada — não reconstruímos crawler nem raspamos o Google à mão. Constrói a sincronização, o histórico próprio (a origem retém pouco), os alertas via motor de eventos, a resposta assistida por KRATUS e o isolamento por agência/cliente.

Account Management APIBusiness Information APIPerformance APIReviewsLocal Posts / Media / Q&ADataForSEO / grade SERPOAuth business.manage
B

Os três pilares

Uma ficha, três trabalhos: onde apareço, como me apresento, o que acontece.

Local Pack · Grade

Rastreia a posição do negócio no 3-pack / Local Finder para keywords-alvo, amostrando uma grade de pontos (lat/long) ao redor. Entrega heatmap por ponto, share of voice (ATGR/ATRP), evolução no tempo, por keyword e por concorrente.

Gerenciador de GBP

A ficha viva: avaliações (responder — com KRATUS + aprovação), posts (agendar), fotos/mídia, Q&A, horários (+feriados), categorias/atributos, produtos/serviços, NAP e consistência. Multi-localização.

Análise de GBP

A Performance oficial: buscas (descoberta vs direta vs marca), visualizações (Maps/Search × mobile/desktop), ações (ligações, rotas, cliques no site, mensagens, reservas) e as keywords que geraram impressão.

C

Integrações & fontes de dados

De onde cada número vem — e a ressalva de cada fonte.

FonteO que trazRessalva / quota
Account Management APIContas + fichas (locations) que a conta gerencia; hierarquia de grupos.OAuth business.manage. Acesso à API exige aprovação do Google (projeto com quota).
Business Information APIDados da ficha: categorias, atributos, horários, NAP, área de serviço — leitura e escrita.Edições passam por revisão do Google; refletimos o estado real (pending/live).
Performance APIMétricas diárias: impressões (Maps/Search × mobile/desktop), ligações, rotas, cliques no site, mensagens, reservas + keywords de impressão.Retenção ~6 meses na origem → guardamos histórico próprio em gbp_metric_daily.
Reviews (My Business)Listar avaliações + responder. Nota, texto, autor, resposta.Sem webhook → polling frequente (15–30 min) para detectar novas.
Local Posts · Media · Q&APosts locais (novidade/oferta/evento), fotos/vídeo, perguntas & respostas.Publicação + agendamento nossos; estado sincronizado.
Provedor de SERP (grade)Rank do negócio no Local Finder por coordenada — a matéria-prima do heatmap.O Google não expõe "rank por localização" → compramos (DataForSEO / motor tipo Local Falcon). Custo por scan.
O ponto sensível: "onde eu ranqueio no mapa para a busca X" não existe em nenhuma API do Google — depende da localização de quem busca. Por isso a grade é um dado comprado (custo por scan = nº keywords × nº pontos). Tratamos custo/consumo como recurso medido, igual ao AgentOps de AI.
D

Modelo de dados

Ficha + interações + a grade. Tudo workspace/client-scoped (RLS).

TabelaChave / campos
gbp_accountworkspace · client · google_account_id · oauth (token ref cifrado) · status(connected/expired)
gbp_locationclient · account · location_id/place_id · nome · NAP · categorias · lat/long · primary? · state(live/suspended)
gbp_reviewlocation · review_id · autor · nota(1-5) · texto · resposta · replied_at · created/updated
gbp_postlocation · tipo(update/offer/event) · corpo · mídia · CTA · schedule_at · state(draft/scheduled/live)
gbp_qnalocation · pergunta · respostas[] · autor · answered?
gbp_medialocation · kind(photo/video) · url · categoria(logo/cover/interior/…) · source(agency/owner/customer)
gbp_metric_dailylocation · day · metric(enum) · value — snapshot da Performance API
gbp_keyword_impressionlocation · month · keyword · impressions — searchkeywords
local_keywordclient · location · termo · grade(center lat/long · raio · nº pontos · unidade) · cadência
local_grid_scanlocal_keyword · ran_at · provider · custo_micros · avg_rank · share_of_voice(ATGR/ATRP)
local_grid_pointscan · lat/long · rank · found? · top_competitors(jsonb) — as células do heatmap
local_competitorlocation · nome · place_id · derivado dos resultados da grade
A grade é append-only por scan (local_grid_scan + local_grid_point) — cada rodada é um snapshot histórico, permitindo animar a evolução do heatmap no tempo.
E

As três lentes — L1 · L2 · L3

Mesma ficha, escopo do filtro diferente. Segue a regra do Analytics.

L1Plataforma

Saúde da rede toda: nº de fichas geridas, nota média, % de avaliações respondidas, rank local médio, consumo de scans (custo).

L2Agência

Por cliente: grade de rank, avaliações (novas/pendentes), Performance (ações/mês), consistência NAP, alertas ativos. Provar presença local.

L3Cliente

Sua presença: sua nota + avaliações, sua posição no mapa (grade), suas ações (ligações/rotas/site). Só leitura, só o próprio negócio.

Proibido no L3: custo/consumo de scan, dado de concorrente bruto de outro cliente, qualquer número cross-client. O cliente vê seu heatmap e suas ações — não a fatura de dados da agência.
F

Serviços / jobs no worker

Sincronização + o histórico que a origem não guarda + os gatilhos.

JobCadênciaO que faz
Sync de fichasdiárioPuxa locations, horários, categorias, atributos; detecta drift (edição não autorizada / suspensão) e alerta.
Pull PerformancediárioGrava gbp_metric_daily + keywords de impressão; monta o histórico que a origem não guarda.
Sync de avaliações15–30 minDetecta novas avaliações → evento gbp.review.received + alerta + (KRATUS) rascunho de resposta.
Rodar grade localsemanal/quinzenal*Dispara scans por keyword no provedor SERP, grava os pontos, calcula share of voice; alerta em queda de posição.
Publicar postsno horárioPublica posts agendados; reconcilia estado.

* cadência da grade é configurável por keyword (o custo escala com pontos × keywords × frequência).

G

KRATUS & automação

Reaproveita o motor de eventos + aprovações do F5 — a presença local vira gatilho e ação.

Resposta a avaliação (KRATUS)

Nova avaliação → rascunho de resposta no tom da marca (tier cheap), staged para aprovação — nunca auto-publica. Prioriza notas ≤3★.

Alertas via eventos

gbp.review.received · gbp.rank.dropped · gbp.location.edited · gbp.qna.unanswered · horário de feriado faltando. Vira tarefa/notificação no CRM.

Sugestão de post

Post semanal sugerido por IA (com aprovação) + lembrete de fotos novas. Mantém a ficha "fresca" — sinal de ranking local.

Ponte com o CRM

Ligação/mensagem da ficha pode virar lead (canal GBP, já existe no deriveChannel). Fecha o loop presença → lead → deal.

H

Telas — protótipos

A detalhar em tela no mesmo método do CRM. Próximo passo se aprovado o escopo.

Local Pack · Heatmap

Grade sobre o mapa (verde→vermelho por rank), seletor de keyword, share of voice, evolução no tempo, top concorrentes por célula.

Ver tela →

Gerenciador de GBP

Inbox de avaliações (responder), editor de ficha (NAP/horários/categorias), calendário de posts, galeria de mídia, Q&A.

Ver tela →

Análise de GBP

Dashboard Performance: buscas (descoberta×direta×marca), visualizações, ações, keywords — nas 3 lentes.

Ver tela →

Faseamento

F1Conectar + operar

OAuth + sync de fichas + avaliações (listar/responder) + Performance (histórico). O núcleo gerenciável.

F2Grade + alertas

Integra o provedor SERP, Local Pack por grade + share of voice + alertas (rank/avaliação/edição).

F3Conteúdo + IA

Posts/mídia/Q&A + KRATUS (resposta + sugestão de post) + multi-localização em escala.

Reaproveita todo o know-how de GBP da frota HLD (NJ/MA/NH/RI/CT/FL…) e AminoCore — agora como produto multi-tenant, com o mesmo motor de eventos/KRATUS do CRM por baixo.