Sur Google Search Central, l’équipe Search Console a annoncé la mise à disposition du « Bulk Data Export », une nouvelle fonctionnalité permettant d’exporter quotidiennement des données de masse depuis Search Console vers Google BigQuery.

Au revoir la limitation du nombre de lignes de données !

Google offre désormais la possibilité de configurer un export dans la Search Console pour réaliser un « data dump » quotidien dans un projet BigQuery. Ces données contiennent les données de performance des sites, à l’exception des requêtes anonymisées qui sont filtrées pour des raisons de confidentialité. La bonne nouvelle, c’est que cet export n’affecte pas la limite maximale quotidienne du nombre de lignes de données, fixée à 50 000 lignes par jour, par site et par type de recherche, via l’API Search Analytics. Une bénédiction pour celles et ceux qui souhaitent titer pleinement avantage des données récoltées, sans limitation.

Évidemment, comme le précise l’équipe Search Console dans son post, cette mise à jour s’adresse en priorité aux sites les plus gros, qui se composent « de dizaines de milliers de pages ou qui reçoivent du trafic de dizaines de milliers de requêtes par jour (ou les deux) ». Les sites de taille plus modestes peuvent déjà accéder à ces données par l’outil Looker Studio (anciennement nommé Google Data Studio) ou via l’API Search Analytics.

Comment mettre en place un export de données vers BigQuery ?

Google propose la marche à suivre pour configurer un nouvel export. Avant toute chose, il est essentiel de préparer le compte BigQuery pour la réception de données et de bien paramétrer la Search Console :

  1. Préparer le projet Cloud dans la Google Cloud Console : il s’agit notamment d’activer l’API BigQuery et d’autoriser le compte du service Search Console.
  2. Définir une destination d’export dans la Search Console : il s’agit d’indiquer l’identifiant du projet Google Cloud concerné et de choisir un emplacement pour les données. Précision importante : seuls les propriétaires ont la possibilité d’effectuer cette étape.

Pour plus de détails, Google renvoie vers son guide étape par étape.

Une fois les informations soumises dans la Search Console, le service simule une exportation. En cas d’exportation réussie, les propriétaires sont notifiés par e-mail et les exportations définies débutent dans un délai de 48 heures. En revanche, si la simulation d’exportation échoue, les propriétaires reçoivent immédiatement une alerte précisant le problème détecté afin de le résoudre. À ce titre, l’article fournit une liste des erreurs possibles.

Définition de la destination d'export sur Search Console - Source : Google

Les données disponibles dans les exportations de données de masse

Une fois l’exportation définie avec succès, il ne reste plus qu’à se connecter à son compte BigQuery et de consulter les données disponibles. Pour plus les détails techniques, Google renvoie vers ses recommandations et nous invite également à nous pencher les différences entre les données agrégées par propriété et par page, mais propose tout de même une brève description des trois tableaux disponibles :

  • searchdata_site_impression : ce tableau contient des données agrégées par propriété incluant la requête, le pays, le type et l’appareil utilisé.
  • searchdata_url_impression : ce tableau contient les données agrégées par URL, et propose une vue plus détaillée des requêtes et des résultats enrichis.
  • ExportLog : ce tableau est un enregistrement des données enregistrées durant ce jour. Il ne contient pas les échecs d’exportation.
Exemple de requête - Source : Google

Pour aider les utilisateurs à se familiariser avec l’interrogation de données, Google propose quelques exemples de requêtes. L’équipe Search Console fournit notamment un exemple de requête destiné à extraire la requête totale par combinaisons d’URL pour les pages comptant au moins 100 impressions de FAQ (résultat enrichi), au cours des deux dernières semaines :

SELECT
  url,
  query,
  sum(impressions) AS impressions,
  sum(clicks) AS clicks,
  sum(clicks) / sum(impressions) AS ctr,
  /* Added one below, because position is zero-based */
  ((sum(sum_position) / sum(impressions)) + 1.0) AS avg_position
/* Remember to update the table name to your table */
FROM searchconsole.searchdata_url_impression
WHERE search_type = 'WEB'
  AND is_tpf_faq = true
  AND data_date BETWEEN DATE_SUB(CURRENT_DATE(), INTERVAL 14 day) AND CURRENT_DATE()
  AND clicks > 100
GROUP BY 1,2
ORDER BY clicks
LIMIT 1000