O método chat da
API Data oferece
acesso
programático ao Ask Advisor no Google Analytics,
um assistente analítico com tecnologia de IA que ajuda você a
consultar, analisar e diagnosticar seus dados do Google Analytics usando linguagem natural.
Embora o Ask Advisor esteja disponível de forma interativa na interface do usuário do Google Analytics, a API chat permite que desenvolvedores, agentes de IA autônomos e ferramentas internas interajam com o Ask Advisor de forma programática por HTTP.
Importante: este produto usa IA e pode apresentar informações imprecisas. Sua atividade no chat pode ser usada para melhorar o produto e está sujeita aos Termos, à Política de Uso de IA e à Política de Privacidade do Google.
Visão geral
O método chat permite perguntas de dados ad hoc de turno único e sessões de conversa multiturno:
- Consultas de turno único: faça perguntas analíticas imediatas (como "Quais foram nossos principais canais de tráfego na semana passada?") e receba respostas em linguagem natural com tabelas de dados estruturados.
- Conversas multiturno: transmita um
sessionIdpara manter o histórico de conversas e fazer perguntas de diagnóstico complementares (como "Por que o tráfego orgânico diminuiu nesse período?"). - Respostas de dados estruturados: além de narrativas de texto, as respostas
contêm blocos estruturados do
tablecom cabeçalhos de coluna e linhas. - Monitoramento de cotas do Chat: inspecione as cotas restantes de tokens de chat por dia e por hora definindo
returnPropertyQuotacomotrue.
Autenticação
As chamadas para o método chat
exigem autorização do OAuth 2.0 com o seguinte escopo:
Antes de começar
Instale e inicialize a gcloud CLI.
Para gerar o Application Default Credentials e dar à sua conta os escopos necessários, execute o seguinte:
gcloud auth application-default login --scopes="https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/analytics.chatbot.read"Na interface do Google Analytics, conceda à sua conta de usuário acesso a uma propriedade do Google Analytics.
Insira o comando abaixo para configurar as variáveis de ambiente. Substitua
PROJECT_IDpelo ID do seu projeto do ePROPERTY_IDpelo ID da sua propriedade do Google Analytics.export PROJECT_ID=
PROJECT_IDexport PROPERTY_ID=PROPERTY_ID
Exemplo 1: consulta de turno único com rastreamento de cota
Para iniciar uma nova conversa, crie um ChatRequest
que contenha seu userQuery.
Defina returnPropertyQuota
como true para inspecionar o saldo restante de tokens.
Cenário: receita e taxa de conversão por dispositivo
Você quer comparar a receita e a taxa de conversão em sessões em vários dispositivos nos últimos 30 dias.
Solicitação HTTP
curl -X POST \
"https://analyticsdata.googleapis.com/v1alpha/properties/${PROPERTY_ID}:chat" \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "x-goog-user-project: ${PROJECT_ID}" \
-H "Content-Type: application/json" \
-d '{
"userQuery": "Compare our revenue and conversion rate across mobile vs desktop over the last 30 days.",
"returnPropertyQuota": true
}'
Resposta HTTP
A resposta contém:
- Um
sessionIdrecém-atribuído que pode ser usado para as próximas interações. - Uma lista de
blocksque contém um resumo em linguagem natural (text) e uma tabela estruturada (table). Os blocos de texto podem conter formatação Markdown, como texto em negrito, títulos e links. - Os detalhes de
propertyQuotada propriedade.
{
"sessionId": "692e9ab9-b338-4426-b006-a05f21ac7cd6",
"blocks": [
{
"text": "Your report on revenue and conversion rates for mobile vs. desktop over the last 30 days (August 15 - September 13, 2026) is ready.\n\nHere is a summary of your revenue and conversion rate by device category:\n"
},
{
"table": {
"headers": [
{
"header": "Device Category",
"dataType": "string"
},
{
"header": "Total Revenue",
"dataType": "string"
},
{
"header": "User Conversion Rate",
"dataType": "string"
}
],
"rows": [
{
"columns": [
{
"value": "Desktop"
},
{
"value": "$17,412.62"
},
{
"value": "99.9%"
}
]
},
{
"columns": [
{
"value": "Mobile"
},
{
"value": "$15,309.41"
},
{
"value": "99.46%"
}
]
}
}
},
{
"text": "**Revenue and Conversion Rate Trends:**\n\nRevenue from desktop devices saw a peak on August 18th, while mobile revenue peaked on August 30th. Conversion rates remained high and relatively stable for both desktop and mobile throughout the period."
},
{
"text": "This product uses AI and may display inaccurate info. Your chat activity may be used to improve the product and your use is subject to Google's [Terms](https://policies.google.com/terms), [AI Use Policy](https://policies.google.com/terms/generative-ai/use-policy), and [Privacy Policy](https://policies.google.com/privacy). [Learn more about Chat AI Privacy](https://support.google.com/helpguide/answer/14185196)."
}
],
"propertyQuota": {
"tokensPerDay": {
"consumed": 26849,
"remaining": 3723151
},
"tokensPerHour": {
"consumed": 26849,
"remaining": 473151
}
}
}
Exemplo 2: diagnóstico de conversação multiturno
Para fazer uma pergunta complementar sem perder o contexto, inclua o sessionId
retornado pela resposta anterior na sua solicitação.
Cenário: comparar com o período anterior
continuidade à comparação de dispositivos anterior, você pede ao Advisor para comparar os resultados com o período anterior.
Solicitação HTTP
curl -X POST \
"https://analyticsdata.googleapis.com/v1alpha/properties/${PROPERTY_ID}:chat" \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "x-goog-user-project: ${PROJECT_ID}" \
-H "Content-Type: application/json" \
-d '{
"sessionId": "692e9ab9-b338-4426-b006-a05f21ac7cd6",
"userQuery": "Compare results with the same period in the previous mounth."
}'
Resposta HTTP
O Ask Advisor usa a memória da sessão para correlacionar os resultados com o período anterior.
{
"sessionId": "eb3284b2-49ce-4aed-b6d0-fdc15cb87b5f",
"blocks": [
{
"text": "The following table provides a detailed comparison of total revenue and user conversion rate by device category for the two periods.\n"
},
{
"table": {
"headers": [
{
"header": "Device Category",
"dataType": "string"
},
{
"header": "Metric",
"dataType": "string"
},
{
"header": "Jul 16 - Aug 15, 2026",
"dataType": "string"
},
{
"header": "Aug 16 - Sep 14, 2026",
"dataType": "string"
}
],
"rows": [
{
"columns": [
{
"value": "Desktop"
},
{
"value": "Total Revenue"
},
{
"value": "$17,412.62"
},
{
"value": "$19,565.46"
}
]
},
{
"columns": [
{
"value": "Desktop"
},
{
"value": "User Conversion Rate"
},
{
"value": "1.90%"
},
{
"value": "1.95%"
}
]
},
{
"columns": [
{
"value": "Mobile"
},
{
"value": "Total Revenue"
},
{
"value": "$13,997.19"
},
{
"value": "$15,309.41"
}
]
},
{
"columns": [
{
"value": "Mobile"
},
{
"value": "User Conversion Rate"
},
{
"value": "1.95%"
},
{
"value": "1.99%"
}
]
}
}
}
]
}
Estrutura de resposta e blocos de dados
O objeto ChatResponse retorna componentes estruturados na matriz blocks:
| Tipo de bloqueio | Campo | Descrição |
|---|---|---|
| Narrative Text | blocks[].text |
Explicação legível por humanos e conclusões analíticas de alto nível. |
| Tabela estruturada | blocks[].table |
Detalhamento de dados tabulares contendo headers (nomes e tipos de dados) e rows (valores de células). |
Tipos de dados do cabeçalho da tabela
As colunas em
blocks[].table.headers
descrevem o tipo de dados semânticos:
string: valores de texto categóricos (por exemplo,"desktop","/shop/apparel").float: números de ponto flutuante numéricos.
Gerenciamento de cotas do Chat
As solicitações do Ask Advisor consomem tokens de chat com base na complexidade da consulta.
O estado atual da cota é retornado em
propertyQuota
quando returnPropertyQuota
é true:
tokensPerDay: limite diário de tokens e saldo restante.tokensPerHour: limite de taxa da janela deslizante por hora e saldo restante.
Aplicativos de integração sugeridos
O método properties.chat
desbloqueia várias arquiteturas de integração entre equipes e ferramentas:
Bots de chat e colaboração corporativos
Conecte seu espaço de trabalho de chat em equipe diretamente ao Google Analytics.
- Sessões em conversas: armazene o
sessionIdno ID da conversa para que os membros da equipe possam fazer perguntas complementares de forma colaborativa. - Renderização de Rich Card: formate os blocos de resposta
tableem widgets de card interativos.
Agentes de IA autônomos e ferramentas do Protocolo de Contexto de Modelo (MCP)
Equipe os orquestradores de LLM (como Gemini, LangChain ou Claude) com uma ferramenta de análise do GA:
- Em vez de forçar um LLM a gerar consultas
runReportcomplexas, o agente de LLM pode invocar o métodochatcom intenção de linguagem natural. - O agente recebe resumos de alta precisão e tabelas estruturadas para sintetizar em recomendações de marketing multicanal.
Resumos executivos e alertas automatizados
Crie serviços programados que investiguem anomalias de forma proativa:
- Um cron job diário consulta: "Resuma as principais métricas de performance de ontem e identifique qualquer queda anormal nas conversões".
- Se uma anomalia for encontrada, o script aciona automaticamente uma consulta de acompanhamento para diagnosticar as causas raiz e publica um resumo em painéis internos ou sistemas de CRM.
Próximas etapas
- Teste o notebook interativo do Colab do Ask Advisor para executar consultas de turno único e de vários turnos usando a biblioteca de cliente do Python.
- Consulte a referência da API REST do
properties.chat. - Saiba mais sobre as cotas e os limites da API Data.