Insightful-Pipe/ga4-analyste-pages-atterrissage

Analyse les pages d'atterrissage GA4 pour l'engagement, les événements clés et les fuites, l'adéquation payant vs organique avec les coûts Google Ads et les clics Search Console, la profondeur de défilement, les pages 404 et la recherche sur le site.

Qu'est-ce que ga4-analyste-pages-atterrissage ?

Cette compétence est un analyste automatisé de pages d'atterrissage qui interroge directement l'API Google Analytics 4 (GA4) via l'outil InsightfulPipe, sans nécessiter d'export manuel. Elle évalue un site web sur six axes clés : la santé des données (qualité des événements, cohérence des sessions), la performance des pages d'atterrissage (taux d'engagement, fuites de visiteurs), l'adéquation des sources de trafic (payant vs organique avec coûts Google Ads et clics Search Console), l'engagement sur le contenu (temps passé, profondeur de défilement), la détection des pages 404 ou erreurs, et l'analyse de la recherche interne. Pour chaque axe, elle attribue automatiquement une note (pass, warn, fail, unknown) basée sur des seuils configurables et fournit des recommandations chiffrées. Elle prend en charge les plateformes Google Analytics 4, Google Ads et Google Search Console, et nécessite que l'utilisateur ait connecté l'outil InsightfulPipe avec une propriété GA4. L'outil est particulièrement utile pour les analystes marketing, les growth hackers et les chefs de produit qui souhaitent identifier rapidement les pages d'atterrissage qui fonctionnent, celles qui fuient du trafic, ou les problèmes techniques comme les retours 404, sans avoir à créer des rapports manuels complexes.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Insightful-Pipe/analytics-cro-skills/tree/HEAD/skills/ga4-landing-page-analyst

Installed? Explore more Recherche et analyse de données skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Analyste de Pages d'Atterrissage GA4

Un examen des pages d'atterrissage qui lit GA4 au lieu de demander des exports. Chaque conclusion provient d'une requête exécutée par cette compétence, et chaque conclusion affiche les chiffres qui la sous-tendent.

Avant de commencer

Vous devez avoir l'outil InsightfulPipe connecté avec une propriété GA4. Google Ads et Search Console sont optionnels ; ils ajoutent les coûts et les clics organiques par page.

  1. Appelez query_contexts avec request="accounts" et platform="google-analytics". Notez workspace_id, brand_id et property_id. S'il y a plusieurs propriétés, demandez laquelle. Passez la propriété comme properties/<id>.
  2. Appelez query_contexts avec request="actions_details" pour get_report, pages, list_key_events, list_data_streams et get_enhanced_measurement_settings, et suivez les formes de corps qu'il renvoie.
  3. Si l'utilisateur souhaite des détails payants ou organiques, exécutez aussi accounts pour google-ads et google-search-console, puis actions_details pour gaql (platform="google-ads") et search_analytics (platform="google-search-console"). Utilisez le compte Google Ads que list_google_ads_links montre comme lié à cette propriété, et le site Search Console qui correspond au defaultUri du flux. Le corps Google Ads nomme le compte account_id (10 chiffres, sans tirets), pas customer_id.
  4. Demandez trois choses, et utilisez les valeurs par défaut s'ils ne savent pas :
    • La conversion principale. Par défaut : les événements clés de list_key_events.
    • Le titre de la page 404 du site. Par défaut : les titres qui contiennent "not found" ou "404".
    • Période. Par défaut : les 30 derniers jours complets, comparés aux 30 jours précédents.

Indiquez les dates, le nom de la propriété, son fuseau horaire et sa devise en haut du rapport.

Comment exécuter les requêtes

Chaque corps ci-dessous passe par query_data avec platform="google-analytics" sauf s'il nomme une autre plateforme. Remplacez <WORKSPACE_ID>, <BRAND_ID>, <PROPERTY_ID>, <START> et <END>. Règles appliquées par l'API :

  • Les filtres sont en camelCase. Utilisez dimensionFilter, metricFilter et orderBys. Un dimension_filter en snake_case est ignoré silencieusement et vous recevez toutes les lignes, donc vérifiez qu'un rapport filtré est vraiment filtré.
  • Limites de lignes. Passez limit. La réponse meta.paging.total_available contient le nombre total de lignes ; dites quand vous n'en lisez qu'une partie.
  • Il n'y a pas de métrique de sortie dans l'API Data GA4. Ne promettez pas de taux de sortie. Les fuites sont mesurées comme des sessions non engagées (ci-dessous).
  • Le coût publicitaire ne peut pas être divisé par page d'atterrissage dans GA4. advertiserAdCost avec landingPage renvoie une erreur. Prenez le coût par page d'atterrissage depuis Google Ads landing_page_view.
  • Les métriques de Recherche Organique dans GA4 (organicGoogleSearchClicks et autres) fonctionnent uniquement lorsque Search Console est liée à la propriété. Si elles génèrent une erreur, utilisez plutôt l'action Search Console.
  • Les taux reviennent sous forme de fractions (0,42 signifie 42 %). Les durées sont en secondes.

Si une requête échoue, continuez. Marquez cette zone inconnue et dites quelle requête a échoué et pourquoi. Ne comblez jamais un vide avec une supposition.

Taille d'échantillon. Ne jugez pas une page avec moins de 30 sessions dans la période. Listez ces pages sous "trafic insuffisant pour juger".

Les six zones

Attribuez à chaque zone une note pass, warn, fail ou unknown. Le résultat d'une zone est sa pire vérification. Les seuils sont des points de départ ; dites-le quand le modèle du site en rend un inapproprié (une page de documentation est faite pour être lue et quittée, une page de contact est faite pour être courte).

1. Santé des données : les chiffres sont-ils fiables ?

{"platform": "google-analytics", "action": "get_property", "workspace_id": "<WORKSPACE_ID>", "brand_id": "<BRAND_ID>", "property_id": "properties/<PROPERTY_ID>"}
{"platform": "google-analytics", "action": "list_key_events", "workspace_id": "<WORKSPACE_ID>", "brand_id": "<BRAND_ID>", "property_id": "properties/<PROPERTY_ID>"}
{"platform": "google-analytics", "action": "list_data_streams", "workspace_id": "<WORKSPACE_ID>", "brand_id": "<BRAND_ID>", "property_id": "properties/<PROPERTY_ID>"}
{"platform": "google-analytics", "action": "get_enhanced_measurement_settings", "workspace_id": "<WORKSPACE_ID>", "brand_id": "<BRAND_ID>", "property_id": "properties/<PROPERTY_ID>", "data_stream_id": "<STREAM_ID>"}

Prenez <STREAM_ID> du numéro à la fin du name du flux web.

{"platform": "google-analytics", "action": "get_report", "workspace_id": "<WORKSPACE_ID>", "brand_id": "<BRAND_ID>", "property_id": "properties/<PROPERTY_ID>", "dimensions": ["date"], "metrics": ["sessions", "engagedSessions", "keyEvents", "screenPageViews"], "start_date": "<START>", "end_date": "<END>", "orderBys": [{"dimension": {"dimensionName": "date"}}]}
{"platform": "google-analytics", "action": "get_report", "workspace_id": "<WORKSPACE_ID>", "brand_id": "<BRAND_ID>", "property_id": "properties/<PROPERTY_ID>", "dimensions": ["eventName"], "metrics": ["eventCount", "keyEvents"], "start_date": "<START>", "end_date": "<END>"}
VérificationRésultat
Événements clésfail quand aucun n'est défini. warn quand des événements clés sont définis mais aucun ne s'est déclenché dans la période : les vérifications de conversion dans les zones 2 et 3 deviennent inconnues, et les pages sont classées sur les sessions engagées à la place. La solution vient du site (les événements ne sont pas envoyés), pas d'un nouvel événement clé. Quand un événement ressemblant à une conversion se déclenche (il apparaît dans le rapport eventName) mais n'est pas un événement clé, proposez create_key_event.
Page d'atterrissage "(not set)"Part des sessions où landingPage est "(not set)" ou vide : ces sessions ont commencé sans affichage de page (bannières de consentement, balises qui se déclenchent tard, sessions qui expirent et redémarrent). warn au-dessus de 5 %, fail au-dessus de 15 %.
Lacuneswarn pour tout jour avec 0 session, ou un jour sous 20 % de la médiane quotidienne de la période, à l'intérieur de la période. Dites quelles dates.
Plusieurs fluxNotez quand une propriété a plusieurs flux web (un flux de test ou de staging peut ajouter du trafic parasite). Vérifiez hostName si les chiffres semblent élevés.
Mesure amélioréeNotez si scrollsEnabled et siteSearchEnabled sont activés. Les zones 4 et 6 en dépendent.

2. Performance des pages d'atterrissage et fuites

{"platform": "google-analytics", "action": "get_report", "workspace_id": "<WORKSPACE_ID>", "brand_id": "<BRAND_ID>", "property_id": "properties/<PROPERTY_ID>", "dimensions": ["landingPage"], "metrics": ["sessions", "engagedSessions", "engagementRate", "keyEvents", "sessionKeyEventRate", "newUsers", "averageSessionDuration"], "start_date": "<START>", "end_date": "<END>", "orderBys": [{"metric": {"metricName": "sessions"}, "desc": true}], "limit": 250}

Exécutez-le à nouveau pour la période précédente avec la même longueur.

  • Taux du site. Taux d'engagement et taux d'événements clés pour toutes les sessions, en excluant les pages d'atterrissage "(not set)".
  • Fuites. Pour chaque page avec 30+ sessions : sessions non engagées = sessions − engagedSessions. Fuite excessive = sessions non engagées − sessions × (1 − taux d'engagement du site). C'est le nombre de visiteurs que la page perd au-delà de ce qu'une page moyenne perdrait. Calculez-le pour chaque page avec 30+ sessions et classez toutes les pages avec une fuite excessive positive ; ce classement alimente les 5 correctifs principaux. Une page très fréquentée juste en dessous du taux du site peut perdre plus de visiteurs qu'une petite page bien en dessous. Par ailleurs, étiquetez une page fuite quand son engagement est inférieur à 75 % du taux du site ; l'étiquette de fuite détermine le résultat de cette zone et le verdict du tableau des pages d'atterrissage, pas le classement des correctifs. warn quand les fuites ensemble détiennent plus de 10 % des sessions, fail au-dessus de 25 %.
  • Convertisseurs. Avec des événements clés qui se déclenchent : les pages avec le taux d'événements clés le plus élevé (30+ sessions), et les pages avec le plus de sessions et un taux d'événements clés inférieur à la moitié du taux du site. Ce sont les pages à corriger en premier.
  • Changement. Pages avec 50+ sessions dans l'une ou l'autre période dont les sessions ont bougé de plus de 30 %. Séparez les pages qui sont nouvelles ou disparues des pages qui ont augmenté ou diminué.
  • Chaînes de requête. Si un chemin apparaît avec de nombreuses variantes sous landingPagePlusQueryString, la page est correcte ; ne la divisez pas. Utilisez landingPage (chemin uniquement) pour chaque jugement.

3. Adéquation des sources de trafic : quelles pages fonctionnent pour quels visiteurs

{"platform": "google-analytics", "action": "get_report", "workspace_id": "<WORKSPACE_ID>", "brand_id": "<BRAND_ID>", "property_id": "properties/<PROPERTY_ID>", "dimensions": ["landingPage", "sessionDefaultChannelGroup"], "metrics": ["sessions", "engagedSessions", "keyEvents"], "start_date": "<START>", "end_date": "<END>", "orderBys": [{"metric": {"metricName": "sessions"}, "desc": true}], "limit": 1000}
  • Taux par source publicitaire. Pour chaque groupe de canaux avec 30+ sessions : taux d'engagement et taux d'événements clés par page d'atterrissage. Laissez les pages d'atterrissage "(not set)" en dehors de chaque taux, comme dans la zone 2 ; elles se situent principalement dans la Recherche Organique et le Direct et tirent ces canaux vers le bas. Les canaux payants sont Recherche Payante, Social Payant, Shopping Payant, Vidéo Payante, Autre Payant, Display et Cross-network.
  • Pages payantes sous-performantes. Une page dont les sessions payantes s'engagent à moins de 75 % du taux organique ou direct de la même page est un problème d'adéquation du message : la publicité promet quelque chose que la page ne montre pas. Avec des événements clés qui se déclenchent, comparez plutôt les taux d'événements clés.
  • Pages d'atterrissage organiques. Les meilleures pages d'atterrissage de Recherche Organique par sessions, avec leur taux d'engagement. warn quand une page porte plus de 50 % des sessions organiques (à un changement de classement d'une baisse de trafic).
  • Sources faibles. Un canal avec 100+ sessions qui s'engage à moins de 75 % du taux du site envoie des visiteurs que la page d'atterrissage ne sert pas. Le Direct n'est pas une source que vous pouvez cibler : un taux Direct faible signifie généralement des liens non balisés (email, applications, chat), donc la correction passe par les balises UTM, pas par la page. warn, et listez les 3 meilleures pages d'atterrissage sur lesquelles ce canal atterrit, pour que la correction aille vers la bonne page (ou vers le post ou le lien qui les envoie). Pour le classement des correctifs, comptez la perte par page, jamais pour l'ensemble du canal : sessions de cette page provenant du canal × taux d'engagement du site − sessions engagées de cette page provenant du canal. Un canal a deux comptes de sessions : toutes ses sessions, et les sessions avec une page d'atterrissage connue (la base de son taux). Donnez le compte complet et nommez l'exclusion à côté, par ex. "500 sessions, 460 avec une page d'atterrissage connue" ; n'imprimez jamais le compte plus petit seul.
  • Part payante. Indiquez quelle part des sessions est payante. Si les sessions payantes sont inférieures à 30 au total, dites que la qualité payante ne peut pas être jugée et sautez les vérifications payantes.

Détail de la recherche payante, uniquement lorsque les sessions de recherche payante sont de 30 ou plus :

{"platform": "google-analytics", "action": "get_report", "workspace_id": "<WORKSPACE_ID>", "brand_id": "<BRAND_ID>", "property_id": "properties/<PROPERTY_ID>", "dimensions": ["landingPage", "sessionGoogleAdsCampaignName"], "metrics": ["sessions", "engagedSessions", "keyEvents"], "start_date": "<START>", "end_date": "<END>", "dimensionFilter": {"filter": {"fieldName": "sessionDefaultChannelGroup", "stringFilter": {"matchType": "EXACT", "value": "Paid Search"}}}, "limit": 500}
{"platform": "google-analytics", "action": "get_report", "workspace_id": "<WORKSPACE_ID>", "brand_id": "<BRAND_ID>", "property_id": "properties/<PROPERTY_ID>", "dimensions": ["sessionGoogleAdsCampaignName"], "metrics": ["sessions", "advertiserAdCost", "advertiserAdClicks"], "start_date": "<START>", "end_date": "<END>"}

Avec le compte Google Ads connecté, prenez le coût et les conversions par URL finale. Remplacez <ACCOUNT_ID> par l'identifiant du compte lié :

{"platform": "google-ads", "action": "gaql", "workspace_id": "<WORKSPACE_ID>", "brand_id": "<BRAND_ID>", "account_id": "<ACCOUNT_ID>", "query": "SELECT landing_page_view.unexpanded_final_url, metrics.clicks, metrics.cost_micros, metrics.conversions FROM landing_page_view WHERE segments.date BETWEEN '<START>' AND '<END>' ORDER BY metrics.cost_micros DESC LIMIT 100"}
  • Faites correspondre une URL finale à une landingPage GA4 par son chemin : supprimez l'hôte, la chaîne de requête et les modèles de suivi comme {ignore}.
  • Coût par session engagée payante = coût ÷ sessions engagées payantes GA4 sur cette page. Signalez les pages dans la moitié supérieure par coût dont le coût par session engagée est plus de deux fois la moyenne payante.
  • Les événements clés GA4 et les conversions Google Ads comptent différemment (attribution, comptage, import). Rapportez les deux côte à côte ; ne soustrayez jamais l'un de l'autre.

Avec Search Console connectée (platform="google-search-console", action="search_analytics") :

{"platform": "google-search-console", "action": "search_analytics", "workspace_id": "<WORKSPACE_ID>", "brand_id": "<BRAND_ID>", "site_url": "<SITE_URL>", "dimensions": ["page"], "start_date": "<START>", "end_date": "<END>", "row_limit": 250}
  • Faites la jointure sur le chemin. Pour les pages avec 30+ clics Search Console, warn quand les sessions de Recherche Organique GA4 sont inférieures à 60 % des clics : cette page perd le suivi (consentement, une balise tardive, ou des sessions qui atterrissent comme "(not set)"). GA4 peut afficher plus de sessions organiques que les clics Google, car son canal Recherche Organique compte aussi Bing, DuckDuckGo et autres ; ce n'est pas un problème. Une page avec des impressions élevées et un faible CTR relève du titre et du snippet, pas de la page d'atterrissage ; confiez-la à une compétence SEO.

4. Engagement sur le contenu et défilement

{"platform": "google-analytics", "action": "pages", "workspace_id": "<WORKSPACE_ID>", "brand_id": "<BRAND_ID>", "property_id": "properties/<PROPERTY_ID>", "dimensions": ["pagePath"], "metrics": ["screenPageViews", "activeUsers", "userEngagementDuration", "scrolledUsers"], "start_date": "<START>", "end_date": "<END>", "limit": 250}
{"platform": "google-analytics", "action": "get_report", "workspace_id": "<WORKSPACE_ID>", "brand_id": "<BRAND_ID>", "property_id": "properties/<PROPERTY_ID>", "dimensions": ["percentScrolled"], "metrics": ["eventCount"], "start_date": "<START>", "end_date": "<END>", "dimensionFilter": {"filter": {"fieldName": "eventName", "stringFilter": {"matchType": "EXACT", "value": "scroll"}}}}
  • Temps d'engagement par vue = userEngagementDuration ÷ screenPageViews, pour les pages avec 100+ vues.
  • **Défilement ... [truncated for translation]

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Skills associés