Eseguire query sui dati analitici della Ricerca Google

Puoi eseguire query sui dati della Ricerca Google per vedere la frequenza con cui la tua proprietà viene mostrata nei risultati della Ricerca Google, per quali query, da computer o smartphone e molto altro. Puoi utilizzare i risultati per migliorare il rendimento della ricerca della tua proprietà, ad esempio:

  • Scopri come cambia il traffico di ricerca nel tempo, da dove proviene e per quali query di ricerca è più probabile che venga mostrata la tua proprietà.
  • Puoi sapere quali query vengono cercate su smartphone e utilizzare queste informazioni per migliorare il tuo targeting per dispositivi mobili.
  • Puoi scoprire quali pagine registrano la percentuale di clic più alta (e più bassa) nei risultati di ricerca di Google.

I dati delle query di ricerca vengono esposti utilizzando il metodo searchanalytics.query(). Il metodo query() mostra tutti i dati disponibili nel report sul rendimento in Search Console. Prima di eseguire qualsiasi query, ti consigliamo di leggere la documentazione del report Analisi delle ricerche per scoprire quali dati vengono esposti e cosa significano.

Questa pagina mostra come eseguire query comuni con parametri di richiesta diversi.

Per iniziare

Verificare la presenza di dati

Prima di eseguire una query, devi verificare la presenza di dati in quell'intervallo di tempo. Ometti filtri, ordinamento, limiti di righe e qualsiasi altro parametro, tranne data di inizio, data di fine e "data" come unica dimensione.

Code

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

Uscita

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

Prova con date diverse

Vediamo che sono disponibili dati per quel segmento di tempo, quindi è sicuro andare avanti. È importante eseguire questa operazione prima di eseguire la query effettiva. Ad esempio, l'esecuzione della stessa query per un intervallo diverso restituisce quanto segue:

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

Osserva attentamente e noterai che i dati terminano il 14: nessun dato per il 15.

Potrebbe essere utile utilizzare Explorer API in modalità di modifica in formato libero per testare rapidamente le query (fai clic sulla freccia del menu a discesa a lato del campo del corpo della richiesta e fai clic su "Editor in formato libero").

Dopo aver verificato l'intervallo di date valide, puoi iniziare a raggruppare in base ad altre dimensioni, aggiungere filtri, limiti al numero di righe e così via:

Le prime 10 query, ordinate per numero di clic, in ordine decrescente

Code

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

Uscita

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

Prime 10 pagine, ordinate per numero di clic, in ordine decrescente

Code

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

Uscita

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

Le prime 10 query in India, ordinate per numero di clic (ordine decrescente)

Tieni presente che l'operatore di filtro "uguale a" viene omesso in quanto è l'operatore predefinito.

Code

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

Uscita

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

Le prime 10 query da dispositivo mobile in India, ordinate per numero di clic (ordine decrescente)

Code

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

Uscita

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

Eseguire una query su una sezione di righe

Puoi eseguire query per una sezione specifica di righe specificando un numero di riga iniziale (in base a zero) e il numero di righe da restituire. Se viene specificato un numero di riga iniziale non valido verrà restituito un errore, ma se specifichi più righe di quelle disponibili, verranno restituite tutte le righe disponibili.

Prime 11-20 query mobile per l'intervallo di date, ordinate per numero di clic (ordine decrescente)

Code

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

Uscita

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

Generare più di 25.000 righe

Se la query contiene più di 25.000 righe di dati, puoi richiederli in batch di 25.000 righe alla volta inviando più query e aumentando ogni volta il valore startRow. Conta il numero di righe recuperate: se il numero di righe è inferiore a quello richiesto, avrai recuperato tutti i dati. Se la tua richiesta termina esattamente al limite di dati (ad esempio, ci sono 25.000 righe e hai richiesto startRow=0 e rowLimit=25000), nella prossima chiamata riceverai una risposta vuota.

Prime 1-25.000 query mobile per l'intervallo di date, in ordine decrescente per numero di clic

Code

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

Prime 25.001-50.000 query mobile per l'intervallo di date, ordinate per numero di clic (ordine decrescente)

Code

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

Recupero di tutti i dati in corso...

Consulta Eseguire query su tutto il traffico di ricerca.