Search Analytics: query

Yetkilendirme gerektirir

Tanımladığınız filtreler ve parametrelerle arama trafiği verilerinizi sorgulayın. Yöntem, tanımladığınız satır anahtarlarına (boyutlar) göre gruplandırılmış sıfır veya daha fazla satır döndürür. Bir veya daha fazla gün içeren bir tarih aralığı tanımlamanız gerekir.

Tarih boyutlardan biri olduğunda, veri içermeyen günler sonuç listesinden çıkarılır. Hangi günlerde veri olduğunu öğrenmek için ilgilendiğiniz tarih aralığı için tarihe göre gruplandırılmış filtresiz bir sorgu gönderin.

Sonuçlar, tıklama sayısına göre azalan düzende sıralanır. İki satırın tıklama sayısı aynıysa bunlar rastgele bir şekilde sıralanır.

Bu yöntemi çağırmayla ilgili python örneğine bakın.

API, Search Console'un dahili sınırlamalarına tabidir ve tüm veri satırlarını değil, en üsttekileri döndürmeyi garanti etmez.

Kullanılabilir veri miktarıyla ilgili sınırlamalara bakın.

JSON POST örneği:
POST https://www.googleapis.com/webmasters/v3/sites/https%3A%2F%2Fwww.example.com%2F/searchAnalytics/query?key={MY_API_KEY}
{
  "startDate": "2015-04-01",
  "endDate": "2015-05-01",
  "dimensions": ["country","device"]
}
Şimdi deneyin.

İstek

HTTP isteği

POST https://www.googleapis.com/webmasters/v3/sites/siteUrl/searchAnalytics/query

Parametreler

Parametre adı Değer Açıklama
Yol parametreleri
siteUrl string Mülkün Search Console'da tanımlanan URL'si. Örnekler: http://www.example.com/ (URL ön ek mülkü için) veya sc-domain:example.com (Alan mülkü için)

Yetkilendirme

Bu istek, aşağıdaki kapsamlardan en az birinde yetkilendirme gerektirir (kimlik doğrulama ve yetkilendirme hakkında daha fazla bilgi edinin).

Kapsam
https://www.googleapis.com/auth/webmasters.readonly
https://www.googleapis.com/auth/webmasters

İstek içeriği

İstek gövdesinde aşağıdaki yapıya sahip veriler sağlayın:

{
  "startDate": string,
  "endDate": string,
  "dimensions": [
    string
  ],
  "type": string,
  "dimensionFilterGroups": [
    {
      "groupType": string,
      "filters": [
        {
          "dimension": string,
          "operator": string,
          "expression": string
        }
      ]
    }
  ],
  "aggregationType": string,
  "rowLimit": integer,
  "startRow": integer
}
Mülk adı Değer Açıklama Notlar
startDate string [Zorunlu] İstenen tarih aralığının başlangıç tarihi (YYYY-AA-GG biçiminde), PT saatinde (UTC - 7:00/8:00). Bitiş tarihinden önce veya bu tarihe eşit olmalıdır. Bu değer aralığa dahildir.
endDate string [Zorunlu] İstenen tarih aralığının bitiş tarihi, YYYY-AA-GG biçiminde, PT saatinde (UTC - 7:00/8:00). Başlangıç tarihinden büyük veya başlangıç tarihiyle aynı olmalıdır. Bu değer aralığa dahildir.
dimensions[] list [İsteğe bağlı] Sonuçları gruplandıracak sıfır veya daha fazla boyut. Sonuçlar, bu boyutları sağladığınız sırayla gruplandırılır. dimensionFilterGroups[].filters[].dimension içinde "tarih" ve "saat"in yanı sıra herhangi bir boyut adını kullanabilirsiniz. Gruplandırma boyutu değerleri, her sonuç satırı için benzersiz bir anahtar oluşturmak üzere birleştirilir. Boyut belirtilmezse tüm değerler tek bir satırda birleştirilir. Gruplandırabileceğiniz boyut sayısıyla ilgili bir sınır yoktur ancak aynı boyutu iki kez gruplandıramazsınız. Örnek: [country, device]
searchType string Desteği sonlandırıldı, bunun yerine type kullanın
type string [İsteğe bağlı] Sonuçları aşağıdaki türde filtreleyin:
  • "discover": Keşfet sonuçları
  • "googleNews": news.google.com ile Android ve iOS'teki Google Haberler uygulamasından elde edilen sonuçlar. Google Arama'daki "Haberler" sekmesindeki sonuçları içermez.
  • "news": Google Arama'daki "Haberler" sekmesindeki arama sonuçları.
  • "image": Google Arama'daki "Görsel" sekmesindeki arama sonuçları.
  • "video": Video arama sonuçları
  • "web": [Varsayılan] Sonuçları Google Arama'daki birleşik ("Tümü") sekmesine göre filtreleyin. Keşfet veya Google Haberler sonuçlarını içermez.
dimensionFilterGroups[] list [İsteğe bağlı] Boyut gruplandırma değerlerine uygulanacak sıfır veya daha fazla filtre grubu. Bir satırın yanıtta döndürülebilmesi için tüm filtre gruplarının eşleşmesi gerekir. Tek bir filtre grubunda, tüm filtrelerin mi yoksa en az birinin mi eşleşmesi gerektiğini belirtebilirsiniz.
dimensionFilterGroups[].groupType string Bu gruptaki tüm filtrelerin doğru ("ve") döndürmesi mi yoksa bir veya daha fazlasının doğru döndürmesi mi gerektiği (henüz desteklenmemektedir).

Kabul edilen değerler şunlardır:
  • "and": Filtre grubunun doğru olması için gruptaki tüm filtrelerin doğru döndürmesi gerekir.
dimensionFilterGroups[].filters[] list [İsteğe bağlı] Satırla test edilecek sıfır veya daha fazla filtre. Her filtre bir boyut adı, bir operatör ve bir değerden oluşur. Maksimum uzunluk 4096 karakterdir. Örnekler:
country equals FRA
query contains mobile use
device notContains tablet
dimensionFilterGroups[].filters[].dimension string Bu filtrenin geçerli olduğu boyut. Burada listelenen boyutlara göre gruplandırma yapmasanız bile bu boyutlara göre filtreleme yapabilirsiniz.

Kabul edilen değerler şunlardır:
  • "country": 3 harfli ülke koduyla (ISO 3166-1 alpha-3) belirtilen ülkeye göre filtreleme.
  • "device": Sonuçları belirtilen cihaz türüne göre filtreleyin. Desteklenen değerler:
    • MASAÜSTÜ
    • MOBİL
    • TABLET
  • "page": Belirtilen URI dizesine göre filtreleme.
  • "query": Belirtilen sorgu dizesine göre filtreleme.
  • "searchAppearance": Belirli bir arama sonucu özelliğine göre filtreleme. Kullanılabilir değerlerin listesini görmek için "searchAppearance" parametresine göre gruplandırılmış bir sorgu çalıştırın. Değerlerin ve açıklamaların tam listesini yardım dokümanlarından da inceleyebilirsiniz.
dimensionFilterGroups[].filters[].operator string [İsteğe bağlı] Belirttiğiniz değerin, satırın boyut değeriyle nasıl eşleşmesi (veya eşleşmemesi) gerekir?

Kabul edilen değerler şunlardır:
  • "contains": Satır değeri, ifadenizi içermeli veya ifadenize eşit olmalıdır (büyük/küçük harf duyarlı değildir).
  • "equals": [Varsayılan] İfadeniz satır değerine tam olarak eşit olmalıdır (sayfa ve sorgu boyutları için büyük/küçük harfe duyarlıdır).
  • "notContains": Satır değeri, ifadenizi alt dize veya (büyük/küçük harfe duyarlı olmayan) tam eşleşme olarak içermemelidir.
  • "notEquals": İfadeniz satır değerine tam olarak eşit olmamalıdır (sayfa ve sorgu boyutları için büyük/küçük harfe duyarlıdır).
  • "includingRegex": Eşleştirilmesi gereken bir RE2 söz dizimi normal ifadesi.
  • "excludingRegex": Eşleşmemesi gereken bir RE2 söz dizimi normal ifadesi.
dimensionFilterGroups[].filters[].expression string Operatöre bağlı olarak filtrenin eşleştireceği veya hariç tutacağı değer.
aggregationType string

[İsteğe bağlı] Verilerin toplanma şekli. Mülke göre toplanırsa aynı mülkle ilgili tüm veriler toplanır; sayfaya göre toplanırsa tüm veriler standart URI'ye göre toplanır. Sayfaya göre filtreleme veya gruplandırma yapıyorsanız otomatik seçeneğini belirleyin. Aksi takdirde, verilerinizin nasıl hesaplanmasını istediğinize bağlı olarak mülke veya sayfaya göre toplama yapabilirsiniz. Verilerin siteye göre mi yoksa sayfaya göre mi farklı şekilde hesaplandığını öğrenmek için yardım dokümanlarına göz atın.

Not: Sayfaya göre gruplandırdığınızda veya filtrelediğinizde tesise göre toplama yapamazsınız.

Otomatik dışında bir değer belirtirseniz sonuçtaki toplama türü istenen türle eşleşir. Geçersiz bir tür isterseniz hata alırsınız. İstenen tür geçersizse API hiçbir zaman toplama türünüzü değiştirmez.

Kabul edilen değerler şunlardır:
  • "auto": [Varsayılan] Uygun toplama türüne hizmetin karar vermesine izin verin.
  • "byNewsShowcasePanel": Değerleri Haberler'de Öne Çıkan paneline göre toplar. Bu, NEWS_SHOWCASE searchAppearance filtresiyle ve type=discover veya type=googleNews ile birlikte kullanılmalıdır. Sayfaya göre gruplandırır, sayfaya göre filtre uygular veya başka bir searchAppearance'ye göre filtre uygularsanız byNewsShowcasePanel'ye göre toplama yapamazsınız.
  • "byPage": Değerleri URI'ye göre toplayın.
  • "byProperty": Değerleri mülke göre toplayın. type=discover veya type=googleNews için desteklenmiyor
rowLimit integer [İsteğe bağlı; Geçerli aralık 1-25.000; Varsayılan değer 1.000] Döndürülecek maksimum satır sayısı. Sonuçlar arasında sayfalamak için startRow ofsetini kullanın.
startRow integer [İsteğe bağlı; Varsayılan değer 0] Yanıttaki ilk satırın sıfır tabanlı dizini. Negatif olmayan bir sayı olmalıdır. startRow, sorgunun sonuç sayısını aşarsa yanıt, sıfır satır içeren başarılı bir yanıt olur.
dataState string [İsteğe bağlı] "tümü" ise (büyük/küçük harf duyarlı değildir) veriler taze verileri içerir. "final" (büyük/küçük harf duyarlı değildir) ise veya bu parametre atlanırsa döndürülen veriler yalnızca nihai verileri içerir. "hourly_all" (büyük/küçük harf duyarlı değildir) ise veriler saatlik döküm içerir. Bu, saatlik verilerin kısmi veriler içerdiğini ve HOUR API boyutuna göre gruplandırılırken kullanılması gerektiğini gösterir.

Yanıt

Sonuçlar, istekte belirtilen boyutlara göre gruplandırılır. Aynı boyut değeri grubuna sahip tüm değerler tek bir satırda gruplandırılır. Örneğin, ülke boyutuna göre gruplandırırsanız "usa" ile ilgili tüm sonuçlar birlikte gruplandırılır, "mdv" ile ilgili tüm sonuçlar birlikte gruplandırılır ve bu şekilde devam eder. Ülkeye ve cihaza göre gruplandırdıysanız "usa, tablet" için tüm sonuçlar, "usa, mobil" için tüm sonuçlar vb. gruplandırılır. Tıklamaların, gösterimlerin vb. nasıl hesaplanıp ne anlama geldiğiyle ilgili ayrıntılı bilgi için Arama Analizi raporu dokümanlarını inceleyin.

Sonuçlar, tarihe göre gruplandırma yapmadığınız sürece tıklama sayısına göre azalan düzende sıralanır. Aksi takdirde sonuçlar tarihe göre artan düzende (en eski önce, en yeni son) sıralanır. İki satır arasında eşitlik varsa sıralama düzeni keyfidir.

Döndürülebilecek maksimum değer sayısını öğrenmek için istekteki rowLimit mülküne bakın.

{
  "rows": [
    {
      "keys": [
        string
      ],
      "clicks": double,
      "impressions": double,
      "ctr": double,
      "position": double
    }
  ],
  "responseAggregationType": string
}
Mülk adı Değer Açıklama Notlar
rows[] list Sorguda belirtilen sırada anahtar değerlerine göre gruplandırılmış satırların listesi.
rows[].keys[] list Söz konusu satırın boyut değerlerinin, istekteki boyutlara göre gruplandırılmış ve istekte belirtilen sıradaki listesi.
rows[].clicks double Satırın sayısını tıklayın.
rows[].impressions double Satırın gösterim sayısı.
rows[].ctr double Satırın tıklama oranı (TO). Değerler 0 ile 1,0 arasındadır (0 ve 1,0 dahil).
rows[].position double Arama sonuçlarındaki ortalama konum.
responseAggregationType string Sonuçların nasıl toplandığı. Verilerin siteye ve sayfaya göre nasıl farklı şekilde hesaplandığını öğrenmek için yardım dokümanlarına göz atın.

Kabul edilen değerler şunlardır:
  • "auto"
  • "byPage": Sonuçlar sayfaya göre toplanmıştır.
  • "byProperty": Sonuçlar mülke göre toplanmıştır.

Deneyin!

Canlı verilerde bu yöntemi çağırmak ve yanıtı görmek için aşağıdaki API Gezgini'ni kullanın.