Interroger vos données analytiques de la recherche Google

Vous pouvez exécuter des requêtes sur vos données de recherche Google pour connaître la fréquence à laquelle votre établissement apparaît dans les résultats de recherche Google, avec quelles requêtes, qu'il s'agisse d'ordinateurs ou de smartphones, et bien plus encore. Vous pouvez utiliser les résultats pour améliorer les performances de recherche de votre propriété, par exemple:

  • Découvrez comment votre trafic de recherche évolue au fil du temps, d'où il vient et les requêtes de recherche les plus susceptibles d'afficher votre propriété.
  • Découvrez quelles requêtes proviennent de smartphones, et utilisez ces informations pour améliorer votre ciblage sur les mobiles.
  • Déterminez sur quelles pages de nos résultats de recherche les internautes cliquent le plus (et le moins) souvent.

Les données de requête de recherche sont exposées à l'aide de la méthode searchanalytics.query(). La méthode query() présente toutes les données disponibles dans le rapport sur les performances de la Search Console. Avant d'exécuter des requêtes, nous vous conseillons de lire la documentation du rapport "Analyse de la recherche" pour savoir quelles données sont exposées et ce que cela signifie.

Cette page explique comment effectuer des requêtes courantes avec différents paramètres de requête.

Premiers pas

Vérifier la présence de données

Avant d'exécuter une requête, vous devez d'abord vérifier la présence de données pendant cette période. Ne renseignez pas les filtres, les options de tri, les limites de lignes et tout autre paramètre, à l'exception de la date de début, de la date de fin et de "date" comme seule dimension.

Code

request = {
      'startDate': flags.start_date,
      'endDate': flags.end_date,
      'dimensions': ['date']
  }

Sortie

python search_analytics_api_sample.py 'https://www.example.com/' '2015-05-01' '2015-05-15'
Available dates:
Keys                              Clicks         Impressions                 CTR            Position
2015-05-01                       22823.0            373911.0     0.0610385893969        8.1829472789
2015-05-02                       16075.0            299718.0     0.0536337490574       8.14173322924
2015-05-03                       18794.0            337759.0      0.055643224903       8.07772405769
2015-05-04                       31894.0            468076.0     0.0681385074219        7.4104611217
2015-05-05                       34392.0            482919.0      0.071216912153       7.20689805123
2015-05-06                       35650.0            484353.0     0.0736033430164       7.11683214515
2015-05-07                       33994.0            465812.0     0.0729779395979       6.91755472165
2015-05-08                       27328.0            413007.0     0.0661683700276       7.22172747677
2015-05-09                       16637.0            297302.0     0.0559599329974       8.01876206685
2015-05-10                       19167.0            332607.0     0.0576265682923       7.87882696395
2015-05-11                       35358.0            499888.0      0.070731843933       7.11701821208
2015-05-12                       35952.0            486583.0      0.073886675038       6.80677294521
2015-05-13                       34417.0            480777.0      0.071586203167       6.86552185317
2015-05-14                       32029.0            457187.0     0.0700566726525       6.92575904389
2015-05-15                       27071.0            415973.0     0.0650787430915       7.27105605412

Essayer d'autres dates

Nous voyons que nous disposons de données pour ce segment de temps. Vous pouvez donc continuer sans risque. Il est important de le faire avant d'exécuter votre requête proprement dite. Par exemple, l'exécution de la même requête pour une plage différente renvoie le résultat suivant:

python search_analytics_api_sample.py 'https://www.example.com/' '2015-06-01' '2015-06-15'
Available dates:
Keys                              Clicks         Impressions                 CTR            Position
2015-06-01                       31897.0            468486.0     0.0680852789624       6.81207122518
2015-06-02                       32975.0            460266.0     0.0716433540605       6.62655942433
2015-06-03                       32779.0            459599.0     0.0713208688444       6.58126758326
2015-06-04                       30116.0            435308.0     0.0691831990223       6.71409668557
2015-06-05                       25188.0            380444.0     0.0662068530454       7.00998570092
2015-06-06                       14829.0            272324.0     0.0544535186028        7.6309910254
2015-06-07                       17896.0            318094.0      0.056260099216       7.56606223318
2015-06-08                       33377.0            487274.0     0.0684973957158       6.77552260125
2015-06-09                       33885.0            484241.0     0.0699754874123       6.70545451542
2015-06-10                       32622.0            466250.0     0.0699667560322       6.64417372654
2015-06-11                       31317.0            447306.0     0.0700124746818       6.61534832978
2015-06-12                       25932.0            393791.0      0.065852190629       7.15718998149
2015-06-13                       15451.0            275493.0     0.0560849095984       7.69994518917
2015-06-14                       18358.0            318193.0     0.0576945438775       7.34048517724

Regardez attentivement : vous remarquerez que les données se terminent le 14 ; aucune donnée pour le 15.

Il peut être utile d'utiliser l'explorateur d'API en mode d'édition de format libre pour tester rapidement vos requêtes (cliquez sur la flèche du menu déroulant à côté du champ du corps de la requête, puis sur "Éditeur de format libre").

Une fois que vous avez vérifié la plage de dates valides, vous pouvez commencer à regrouper les données selon d'autres dimensions, en ajoutant des filtres, des limites de nombre de lignes, etc. :

10 requêtes les plus fréquentes, triées par nombre de clics, dans l'ordre décroissant

Code

request = {
    'startDate': flags.start_date,
    'endDate': flags.end_date,
    'dimensions': ['query'],
    'rowLimit': 10
}

Sortie

Top Queries:
Keys                              Clicks         Impressions                 CTR            Position
seo                               3523.0            270741.0     0.0130124362398       5.86615252215
hreflang                          3207.0              5496.0      0.583515283843       1.10080058224
robots.txt                        2650.0             23005.0      0.115192349489       4.30367311454
301 redirect                      2637.0              7814.0      0.337471205529         1.621192731
googlebot                         2572.0              6421.0      0.400560660333       1.15823080517
google seo                        2260.0             11205.0      0.201695671575       1.38295403838
google sitemap                    1883.0              4288.0      0.439132462687       1.21175373134
canonical url                     1882.0              3714.0      0.506731287022       1.12762520194
sitemap                           1453.0             22982.0       0.06322339222       3.78074144983

10 premières pages, triées par nombre de clics, dans l'ordre décroissant

Code

request = {
    'startDate': flags.start_date,
    'endDate': flags.end_date,
    'dimensions': ['page'],
    'rowLimit': 10
}

Sortie

Top Pages:
Keys                              Clicks         Impressions                 CTR            Position
https://www.example.com/21       10538.0             62639.0      0.168233847922       3.63031019014
https://www.example.com/65        9740.0             82375.0      0.118239757208       5.61003945372
https://www.example.com/15        9220.0            128101.0     0.0719744576545       5.32300294299
https://www.example.com/41        8859.0            426633.0     0.0207649197319       1.62309057199
https://www.example.com/53        8791.0            829679.0     0.0105956641062       14.4941887164
https://www.example.com/46        7390.0             82303.0     0.0897901656076        5.7723290767
https://www.example.com/27        7169.0             64013.0      0.111992876447       4.98709637105
https://www.example.com/80        6047.0             84233.0     0.0717889663196       4.10592048247
https://www.example.com/9         5886.0             59704.0     0.0985863593729        4.0897594801
https://www.example.com/8         5043.0             66869.0     0.0754161120998       4.57651527614

10 requêtes les plus fréquentes en Inde, triées par nombre de clics, dans l'ordre décroissant

Notez que l'opérateur de filtre "est égal(e) à" est omis, car il s'agit de l'opérateur par défaut.

Code

request = {
    'startDate': flags.start_date,
    'endDate': flags.end_date,
    'dimensions': ['query'],
    'dimensionFilterGroups': [{
         'filters': [{
              'dimension': 'country',
              'expression': 'ind'
          }]
      }],
      'rowLimit': 10
  }

Sortie

Top queries in India:
Keys                              Clicks         Impressions                 CTR            Position
googlebot                          250.0               429.0      0.582750582751                 1.0
search console                     238.0             34421.0    0.00691438366114       1.00101682113
dns error                          189.0               850.0      0.222352941176       1.38470588235
google seo                         165.0               552.0      0.298913043478       1.04166666667
canonical url                      141.0               282.0                 0.5                 1.0
301 redirect                       132.0               557.0      0.236983842011       1.78276481149
google search console              126.0             16898.0    0.00745650372825       1.03929459108
robots.txt                         117.0              1046.0      0.111854684512        3.9206500956
canonical tag                      111.0               223.0      0.497757847534                 1.0

Top 10 des requêtes sur mobile en Inde, triées par nombre de clics, dans l'ordre décroissant

Code

request = {
    'startDate': flags.start_date,
    'endDate': flags.end_date,
    'dimensions': ['query'],
    'dimensionFilterGroups': [{
        'filters': [{
            'dimension': 'country',
            'expression': 'ind'
          }, {
            'dimension': 'device',
            'expression': 'MOBILE'
       }]
    }],
    'rowLimit': 10
}

Sortie

Top mobile queries in India:
Keys                              Clicks         Impressions                 CTR            Position
search console                      26.0              1004.0     0.0258964143426       1.00298804781
dns error                           24.0               111.0      0.216216216216       1.27927927928
google seo                          18.0                69.0      0.260869565217       1.02898550725
eliminar                            16.0               134.0      0.119402985075                 1.0
googlebot                           11.0                24.0      0.458333333333                 1.0
404                                  9.0               214.0     0.0420560747664       8.64018691589
robots.txt                           9.0                40.0               0.225               4.025
google search console                8.0               438.0     0.0182648401826       1.04337899543
seo                                  8.0               111.0     0.0720720720721       4.96396396396

Interroger une tranche de lignes

Vous pouvez interroger une tranche spécifique de lignes en spécifiant un numéro de première ligne (basé sur zéro) et le nombre de lignes à renvoyer. Si vous spécifiez un numéro de ligne de début non valide, vous obtiendrez une erreur, mais si vous spécifiez plus de lignes que le nombre disponible, vous obtiendrez toutes les lignes disponibles.

11 à 20 requêtes les plus fréquentes sur mobile pour la période, triées par nombre de clics, dans l'ordre décroissant

Code

request = {
      'startDate': flags.start_date,
      'endDate': flags.end_date,
      'dimensions': ['query'],
      'dimensionFilterGroups': [{
          'filters': [{
              'dimension': 'device',
              'expression': 'mobile'
          }]
      }],
      'rowLimit': 10,
      'startRow': 10
  }

Sortie

Top 11-20 Mobile Queries:
Keys                              Clicks         Impressions                 CTR            Position
dns error                         1220.0             15064.0        0.0809877854       3.13448726206
google seo                        1161.0              7923.0         0.146535403       2.31479556195
sitemap                            926.0             12478.0        0.0742106107        5.8130025067
googlebot                          903.0              7822.0         0.115443621        4.6910285792
robots.txt                         799.0             24868.0        0.0321296445       5.92759215963
404                                520.0             12777.0        0.0406981295       5.80352636506
seo                                506.0              2925.0         0.172991453       2.50413960996
search console                     487.0               981.0         0.496432212       1.00036102455
canonical url                      326.0              4087.0        0.0797651089       3.23664971157
301 redirect                       261.0              3165.0         0.082464455       3.63074363869

Obtenir plus de 25 000 lignes

Si votre requête comporte plus de 25 000 lignes de données, vous pouvez demander des données par lots de 25 000 lignes à la fois en envoyant plusieurs requêtes et en incrémentant la valeur startRow à chaque fois. Comptez le nombre de lignes récupérées. Si vous obtenez moins de lignes que le nombre demandé, vous avez récupéré toutes les données. Si votre requête se termine exactement à la limite de données (par exemple, il y a 25 000 lignes et que vous avez demandé startRow=0 et rowLimit=25000), vous obtiendrez une réponse vide lors de votre prochain appel.

1 à 25 000 requêtes les plus fréquentes sur mobile pour la période, triées par nombre de clics, dans l'ordre décroissant

Code

request = {
      'startDate': flags.start_date,
      'endDate': flags.end_date,
      'dimensions': ['query'],
      'dimensionFilterGroups': [{
          'filters': [{
              'dimension': 'device',
              'expression': 'mobile'
          }]
      }],
      'rowLimit': 25000,
      'startRow': 0
  }

25 001 à 50 000 requêtes les plus fréquentes sur mobile pour la période, triées par nombre de clics, dans l'ordre décroissant

Code

request = {
      'startDate': flags.start_date,
      'endDate': flags.end_date,
      'dimensions': ['query'],
      'dimensionFilterGroups': [{
          'filters': [{
              'dimension': 'device',
              'expression': 'mobile'
          }]
      }],
      'rowLimit': 25000,
      'startRow': 25000
  }

Récupérer toutes vos données

Consultez Interroger l'ensemble de votre trafic de recherche.