Bastidores

Bastidores· Arrumando a casa · parte 10

Medição de vários sites num painel só, com consentimento.

Como medi todos os sites dos meus produtos no mesmo GA4, com consentimento, e juntei os dados num painel só. Também conto o site que não coletava visitas.

Antes do consentimento, nenhuma requisição ao Google; depois do aceite, page_view e product_click com resposta 204.

Todos os sites dos meus produtos passaram a medir do mesmo jeito: na mesma conta do Google Analytics, com consentimento e aparecendo num painel só. Esta parte fecha a série “Arrumando a casa”, que conta as 48 horas de 29 e 30 de outubro de 2026.

Um padrão de medição para todos os sites

Defini o padrão em 29 de outubro. Há uma conta da marca no Google Analytics, com uma propriedade por produto, no fuso de São Paulo e na moeda em que o produto cobra. A retenção de dados fica em 14 meses, e o Google Signals está desligado.

Cada produto tem um fluxo Web no domínio canônico. A medição otimizada fica desligada (só o luisjunior.ai nasceu com ela ligada). Cada evento sai explicitamente do código, para que nenhuma URL ou campo de formulário chegue ao Google sem ter sido escolhido.

Uso o gtag.js direto, sem Google Tag Manager. Ele só carrega na origem de produção e depois do consentimento de análise.

O que vai para o Google e o que fica no site

Antes de qualquer escolha do visitante, o Consent Mode v2 está com tudo negado. O Consent Mode é o mecanismo que ajusta o comportamento das tags à escolha de cada visitante. O consentimento de análise libera só o analytics_storage, e o armazenamento de anúncios só é liberado com o consentimento de anúncios.

O que vai para o Google não traz nenhum dado pessoal. O endereço da página segue sem query e sem fragmento, mantendo só as UTMs e os identificadores de clique autorizados, e o referenciador vai só com a origem.

Além do page_view, os eventos de conversão usam os nomes recomendados pelo GA4:

  • generate_lead, no Pagenello, disparado quando o pedido é salvo no banco
  • store_click, o clique para a loja de apps
  • purchase, que vem do estado confirmado no servidor e não do clique

No Pagenello, a origem do anúncio, com UTMs e o identificador de clique, fica guardada só no banco do próprio site. Por fim, a política de privacidade e o aviso de cookies de cada site citam o Google Analytics como análise opcional. O Search Console de cada domínio fica na mesma conta, vinculado ao fluxo do produto.

Um site que não coletava visitas

Um site pode estar no ar e não medir nada, e foi o que aconteceu com o Garfim. O ID de medição é o que liga o site à propriedade do Google Analytics. O CI publicava o site sem esse ID, e nenhuma visita chegava ao Google.

Corrigi em 29 de outubro, passando o ID ao build. Depois, conferi o padrão no luisjunior.ai, num Chrome isolado. Antes do consentimento, nenhuma requisição ao Google saiu. Depois do aceite, saíram page_view e product_click, este com o produto e a posição em que foi clicado, e ambos responderam com 204.

Um painel só, com uma junção que precisou de ajuste

Em 30 de outubro, o painel ficou pronto como um relatório privado no Data Studio (nome que o Looker Studio voltou a usar em outubro de 2026), chamado “Luis Junior — Sites”. O Data Studio lê os dados do Google Analytics e os organiza em tabelas e gráficos numa tela só. O relatório se ajusta ao celular, e o seletor de período fica no topo, com os últimos 28 dias, sem hoje, como padrão.

O resumo tem uma tabela por site, com usuários ativos, sessões, eventos principais e taxa de engajamento, além da variação em relação ao período anterior. Os gráficos mostram as sessões por dia, com uma linha por site, e as sessões por canal, com uma coluna por site.

O ajuste foi técnico. Os gráficos usam combinações de dados, que aceitam no máximo 5 tabelas. Com junção simples, os dias e canais que o primeiro site não tinha desapareciam. A solução foi uma junção externa completa e um campo calculado com COALESCE das chaves das 5 tabelas, para os campos Dia e Canal.

Assistentes de IA ganharam um canal próprio

No ClipLeve, desde 30 de outubro, o grupo de canais copiado do padrão ganhou o canal “Assistentes de IA”, na posição 9, acima dos orgânicos e do Referral. Ele reconhece a origem da sessão por uma expressão regular ou pelo meio ai-assistant. Canal, no GA4, é o agrupamento que o Google faz da origem de cada sessão, como busca orgânica e redes sociais.

O canal de IA que já vem no GA4 fica por último e deixa Perplexity e Claude de fora. Por isso criei o meu.

O que foi feito em 48 horas agora está medido, e cada produto novo entra neste painel no dia em que vai ao ar. O porquê de tudo isso está na parte 1.

Teste local verde até no S23, e o staging ainda achou um defeito.08 nov · DesenvolvimentoOutra IA revisou 4.170 traduções da IA em inglês e corrigiu 307.08 nov · Inteligência artificialA conta live do Stripe estava ativa, mas falhou na minha conferência.08 nov · LançamentoTrês regras de HSTS num só domínio: por que deixei o preload de fora.08 nov · DesenvolvimentoUma palavra a menos derrubou 13 páginas que já estavam no ar.08 nov · DesenvolvimentoOutro agente de IA revisou meu código 71 vezes e criou dois defeitos.08 nov · Inteligência artificialDepois de 20 anos de carreira, publiquei meu primeiro pacote no npm.08 nov · LançamentoSozinho com IA: iPhone, Android, SaaS com MCP e CLI, e já faturando.07 nov · BastidoresCopiei a mecânica dos líderes e recusei a mentira deles.07 nov · BastidoresA pergunta de LGPD que trava a venda: e o backup?07 nov · ProdutoA IA calibrou minha câmera pelos números. Ficou cara de lanterna.07 nov · BastidoresUm usuário não via o dia de ontem. Abri todo o passado do Garfim.07 nov · Produto62% baixavam o Garfim. O problema estava antes da página.07 nov · LançamentoO idioma certo na tela pode virar o errado no servidor.07 nov · DesenvolvimentoO limite de 10 por minuto que deixou passar muito mais.07 nov · DesenvolvimentoUm PR do Dependabot travou meu banco e as rotas voltaram 500.07 nov · DesenvolvimentoMeus produtos novos não começam do zero. Começam de um clone.07 nov · DesenvolvimentoTirei uma trava da minha IA e a resposta caiu de 5,5 s para 3,7 s.07 nov · DesenvolvimentoTroquei velocidade por uma auditora que confere cada frase.07 nov · Inteligência artificialEscrevi o método CERNE lendo seis especificações reais.07 nov · Inteligência artificialComo anunciar na Meta e vender online no CPF sem abrir empresa.05 nov · BastidoresPausei anúncios depois de ignorar o resultado anterior.05 nov · BastidoresComo depurei um erro de API sem log no registro do Garfim.05 nov · DesenvolvimentoComo forçar atualização no React Native antes de um defeito grave.05 nov · DesenvolvimentoComo levei o LCP do ClipLeve de 9,9 s para menos de 1,5 s.05 nov · DesenvolvimentoPubliquei 650 páginas contra a regra do meu método.05 nov · Inteligência artificialUma conta para organizar erros, métricas e IA dos meus produtos.05 nov · BastidoresSeparei o painel do site e pus o Access na porta.05 nov · DesenvolvimentoUma lista de 69 itens encontrou requisitos só no papel.05 nov · BastidoresO antispam esperou tanto que parou o formulário.05 nov · DesenvolvimentoCortei a publicação de 17 minutos para 4 na minha máquina.05 nov · DesenvolvimentoEu gravo. A IA corta, legenda e entrega o vídeo curto.05 nov · Inteligência artificialComo criar anúncios UGC com IA usando o método PROVA.05 nov · Inteligência artificialA IA disse que usou as skills. A página provou o contrário.05 nov · Inteligência artificialNove páginas reprovadas antes de encontrar uma identidade.05 nov · Inteligência artificialEm 48 horas, juntei domínios, e‑mail, sites e medição num padrão só.30 out · BastidoresPor que tirei os três sites do GPT Sites.30 out · DesenvolvimentoComo troquei o luisjunior.ai com cerca de 10 segundos fora do ar.30 out · DesenvolvimentoRefiz o luisjunior.ai do zero: cada afirmação com prova.30 out · LançamentoUm padrão para todos os domínios, inclusive os de produtos futuros.30 out · BastidoresTodo o e‑mail dos meus domínios saiu do VPS num só dia.30 out · DesenvolvimentoDecidi mover o envio do Garfim do Resend para a Cloudflare.30 out · DesenvolvimentoO método FONTE para aparecer no Google e nas respostas de IA.30 out · Inteligência artificialTrês sites, três decisões de busca, e uma delas é não gerar páginas.30 out · Inteligência artificialMedição de vários sites num painel só, com consentimento.30 out · BastidoresComo a IA me apresenta mídias para aprovação29 out · Inteligência artificialO Garfim chegou ao Google Play. Agora tem Android e iPhone.22 out · LançamentoConseguir testadores e esperar 14 dias: a reta final do Garfim no Android.22 out · BastidoresO ClipLeve chegou à App Store. O que aprendi até aqui.20 out · LançamentoO ClipLeve foi rejeitado de novo. Dessa vez, por uma palavra.20 out · ProdutoO Garfim foi aprovado. E já está na App Store.16 out · LançamentoA última negativa do Garfim: câmera, assinatura e o caminho inteiro.16 out · LançamentoClipLeve: o cuidado por trás de um vídeo mais leve.12 out · ProdutoPor que restaurar uma assinatura pode falhar em outra conta.12 out · ProdutoQuando um aplicativo pode dizer que sua conta foi excluída?12 out · ProdutoO que a primeira negativa da App Store me fez explicar.08 out · LançamentoO que quero aprender com o teste fechado do Garfim.08 out · ProdutoO trabalho de uma assinatura continua depois da compra.03 out · DesenvolvimentoPor que o Garfim ganhou um plano gratuito.03 out · ProdutoO login funcionou. Por que a tela do Garfim não saiu do lugar?03 out · LançamentoPagenello: um site começa pelo que o visitante veio fazer.03 out · LançamentoComo uma foto do almoço vira um produto.27 set · ConcepçãoAs decisões que continuo tomando ao desenvolver com IA.27 set · DesenvolvimentoApresentar o Garfim ao público também é um teste do produto.27 set · Lançamento

GET luisjunior.ai/llms.txt

Esta é a versão do site escrita para modelos de linguagem: os mesmos fatos, sem layout, prontos para um assistente de IA ler e citar. Agentes no Chrome também encontram aqui ferramentas WebMCP para consultar produtos, textos e contato.

conectando…0 tokens · 0 tok/s