La méthode chat de l'
API Data fournit
un accès
programmatique à Demander à l'assistant dans Google Analytics
— un assistant analytique basé sur l'IA qui vous aide à
interroger, analyser et diagnostiquer vos données Google Analytics en langage naturel.
Bien que Demander à l'assistant soit disponible de manière interactive dans l'interface utilisateur de Google Analytics
, l'API chat
permet aux développeurs, aux agents d'IA autonomes et aux outils internes d'interagir avec
Demander à l'assistant de manière programmatique via HTTP.
Important : Ce produit est basé sur l'IA et peut afficher des informations inexactes. Votre activité de chat peut servir à améliorer le produit, et votre utilisation est soumise aux Conditions d'utilisation, au Règlement sur l'utilisation de l'IA et aux Règles de confidentialité de Google.
Présentation
La méthode chat permet à la fois
de poser des questions ponctuelles sur les données et d'avoir des sessions de conversation multitour :
- Requêtes à un seul tour : posez des questions analytiques immédiates (par exemple, "Quels ont été nos principaux canaux de trafic la semaine dernière ?") et recevez des réponses en langage naturel ainsi que des tableaux de données structurées.
- Conversations multitour : transmettez un
sessionIdpour conserver l'historique des conversations et poser des questions de diagnostic de suivi (par exemple, "Pourquoi le trafic généré par les résultats naturels a-t-il diminué au cours de cette période ?"). - Réponses de données structurées : en plus des récits textuels, les réponses
contiennent des blocs
tablestructurés avec des en-têtes de colonne et des lignes. - Surveillance des quotas de chat : inspectez les quotas de jetons de chat restants par jour et par heure en définissant
returnPropertyQuotasurtrue.
Authentification
Les appels à la méthode chat
nécessitent une autorisation OAuth 2.0 avec l'autorisation suivante :
Avant de commencer
Installez et initialisez la gcloud CLI.
Pour générer des identifiants par défaut de l'application et accorder à votre compte les autorisations nécessaires, exécutez la commande suivante :
gcloud auth application-default login --scopes="https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/analytics.chatbot.read"Dans l'interface utilisateur de Google Analytics, accordez à votre compte utilisateur l'accès à une propriété Google Analytics.
Configurez vos variables d'environnement en saisissant les informations suivantes. Remplacez
PROJECT_IDpar l'ID de votre projet etPROPERTY_IDpar l'ID de votre propriété Google Analytics.export PROJECT_ID=
PROJECT_IDexport PROPERTY_ID=PROPERTY_ID
Exemple 1 : Requête à un seul tour avec suivi des quotas
Pour démarrer une conversation, créez un ChatRequest
contenant votre userQuery.
Définissez returnPropertyQuota
sur true pour vérifier votre solde de jetons restant.
Scénario : Revenus et taux de conversion par appareil
Vous souhaitez comparer les revenus et le taux de conversion des sessions sur différents appareils au cours des 30 derniers jours.
Requête 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
}'
Réponse HTTP
La réponse contient les éléments suivants :
- Un
sessionIdnouvellement attribué que vous pouvez utiliser pour les tours suivants. - Une liste de
blockscontenant à la fois un résumé en langage naturel (text) et un tableau structuré (table). Les blocs de texte peuvent contenir une mise en forme Markdown, comme du texte en gras, des titres et des liens. - Les détails
propertyQuotade la propriété.
{
"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
}
}
}
Exemple 2 : Diagnostic conversationnel multitour
Pour poser une question de suivi tout en conservant le contexte, incluez le sessionId
renvoyé par la réponse précédente dans votre requête.
Scénario : Comparaison avec la période précédente
Suite à la comparaison précédente des appareils, vous demandez à l'assistant de comparer les résultats avec la période précédente.
Requête 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."
}'
Réponse HTTP
Demander à l'assistant utilise la mémoire de la session pour corréler les résultats avec la période précédente.
{
"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%"
}
]
}
}
}
]
}
Structure de la réponse et blocs de données
L'ChatResponse
objet renvoie des composants structurés dans le blocks
tableau :
| Type de bloc | Champ | Description |
|---|---|---|
| Texte narratif | blocks[].text |
Explication lisible par l'humain et conclusions analytiques de haut niveau. |
| Tableau structuré | blocks[].table |
Répartition des données tabulaires contenant headers (noms et types de données) et rows (valeurs des cellules). |
Types de données d'en-tête de tableau
Les colonnes de
blocks[].table.headers
décrivent le type de données sémantique :
string: valeurs de texte catégorielles (par exemple,"desktop","/shop/apparel").float: nombres à virgule flottante numériques.
Gestion des quotas de chat
Les requêtes Demander à l'assistant consomment des jetons de chat en fonction de la complexité de la requête.
L'état actuel du quota est renvoyé dans
propertyQuota
lorsque returnPropertyQuota
est true :
tokensPerDay: limite quotidienne de jetons et solde restant.tokensPerHour: limite de débit de la fenêtre glissante horaire et solde restant.
Applications d'intégration suggérées
La méthode properties.chat
débloque plusieurs architectures d'intégration entre les équipes et les outils :
Bots de chat et de collaboration pour les entreprises
Connectez directement votre espace de travail de chat d'équipe à Google Analytics.
- Sessions groupées par fil de discussion : stockez le
sessionIdpar rapport à l’ID du fil de discussion pour permettre aux membres de l’équipe de poser des questions de suivi de manière collaborative. - Rendu de cartes enrichies : mettez en forme les blocs de réponse
tableen widgets de carte interactifs.
Agents d'IA autonomes et outils MCP (Model Context Protocol)
Équipez les orchestrateurs LLM (tels que Gemini, LangChain ou Claude) d'un outil d'analyse GA :
- Plutôt que de forcer un LLM à générer des
runReportrequêtes complexes, l'agent LLM peut appeler lachatméthode avec une intention en langage naturel. - L'agent reçoit des résumés très factuels et des tableaux structurés à synthétiser en recommandations marketing multicanal.
Briefings et alertes automatisés pour les dirigeants
Créez des services planifiés qui examinent de manière proactive les anomalies :
- Une tâche cron quotidienne interroge : "Résumez les métriques clés de performance d'hier et identifiez toute baisse anormale des conversions."
- Si une anomalie est détectée, le script déclenche automatiquement une requête de suivi pour diagnostiquer les causes profondes et publie un résumé dans les tableaux de bord internes ou les systèmes CRM.
Étapes suivantes
- Essayez le notebook Colab interactif Ask Advisor pour exécuter des requêtes à un seul tour et multitour à l'aide de la bibliothèque cliente Python.
- Consultez la
properties.chatdocumentation de référence sur l'API REST. - En savoir plus sur les quotas et limites de l'API Data.