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ığına yönelik, tarihe göre gruplandırılmış filtreler içermeyen bir sorgu gönderin.

Sonuçlar, tıklama sayısına göre azalan sırada sıralanır. Tıklama sayısı aynı olan iki satır rastgele bir şekilde sıralanır.

Bu yöntemi çağırmak için Python örneğine bakın.

API, Search Console'un dahili sınırlamalarıyla sınırlıdır ve tüm veri satırlarını değil, en üstteki veri satırlarını döndürmeyi garanti eder.

Kullanılabilir veri miktarıyla ilgili sınırlamaları inceleyin.

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 öneki mülkü için) veya sc-domain:example.com (Alan mülkü için)

Yetkilendirme

Bu istek için aşağıdaki kapsamların en az biriyle yetkilendirme yapılması gerekir (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, Pasifik saati (UTC - 7:00/8:00) ile. Bitiş tarihinden önce veya bitiş tarihi ile aynı 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 saatine (UTC - 7:00/8:00) göre. Başlangıç tarihinden sonra veya başlangıç tarihi ile aynı olmalıdır. Bu değer aralığa dahildir.
dimensions[] list [İsteğe bağlı] Sonuçları gruplandırmak için kullanılan boyut sayısı (sıfır veya daha fazla). 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ı boyuta göre iki kez gruplandırma yapamazsınız. Örnek: [ülke, cihaz]
searchType string Desteği sonlandırıldı, bunun yerine type kullanın
type string [İsteğe bağlı] Sonuçları aşağıdaki türe göre filtreleyin:
  • "discover": Keşfet sonuçları
  • "googleNews": news.google.com ile Android ve iOS'teki Google Haberler uygulamasından alınan sonuçlar. Google Arama'daki "Haberler" sekmesinden elde edilen sonuçları içermez.
  • "news": Google Arama'daki "Haberler" sekmesinden alınan arama sonuçları.
  • "image": Google Arama'daki "Görsel" sekmesinde yer alan 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. Yanıtın satır döndürmesi için tüm filtre gruplarının eşleşmesi gerekir. Tek bir filtre grubu içinde, tüm filtrelerin eşleşmesi mi yoksa en az birinin eşleşmesi mi gerektiğini belirtebilirsiniz.
dimensionFilterGroups[].groupType string Bu gruptaki tüm filtrelerin doğru değerini döndürmesi ("ve") mi yoksa bir veya daha fazlasının doğru değerini döndürmesi mi gerektiği (henüz desteklenmiyor).

Kabul edilen değerler şunlardır:
  • "and": Filtre grubunun doğru olması için gruptaki tüm filtrelerin doğru değerini döndürmesi gerekir.
dimensionFilterGroups[].filters[] list [İsteğe bağlı] Satıra göre 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 4.096 karakterdir. Örnekler:
country equals FRA
query contains mobile use
device notContains tablet
dimensionFilterGroups[].filters[].dimension string Bu filtrenin uygulandığı boyut. Bu listedeki herhangi bir boyuta göre filtre uygulayabilirsiniz. Bu boyutlara göre gruplandırma yapmıyor olsanız bile filtre uygulayabilirsiniz.

Kabul edilen değerler şunlardır:
  • "country": 3 harfli ülke kodu (ISO 3166-1 alfa-3) ile belirtildiği şekilde, belirtilen ülkeye göre filtreleyin.
  • "device": Sonuçları belirtilen cihaz türüne göre filtreleyin. Desteklenen değerler:
    • DESKTOP
    • MOBILE
    • 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"a göre gruplandırılmış bir sorgu çalıştırın. Değerlerin ve açıklamaların tam listesini yardım belgelerinde de bulabilirsiniz.
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) gerektiği.

Kabul edilen değerler şunlardır:
  • "contains": Satır değeri, ifadenizi (büyük/küçük harfe duyarlı değildir) içermeli veya ifadenize eşit olmalıdır.
  • "equals": [Varsayılan] İfadeniz, satır değeriyle 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şeceği veya hariç tutulacağı değer.
aggregationType string

[İsteğe bağlı] Veriler nasıl toplanır? Mülke göre toplandığında aynı mülkle ilgili tüm veriler toplanır. Sayfaya göre toplandığında ise 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 ve sayfaya göre nasıl farklı şekilde hesaplandığını öğrenmek için yardım belgelerine bakın.

Not: Sayfaya göre gruplandırma veya filtreleme yaparsanız mülke göre toplama işlemi gerçekleştiremezsiniz.

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, toplama türünüzü hiçbir zaman değiştirmez.

Kabul edilebilir 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 toplayın. Bu, NEWS_SHOWCASE searchAppearance filtresi ve type=discover veya type=googleNews ile birlikte kullanılmalıdır. Sayfaya göre gruplandırma, sayfaya göre filtreleme veya başka bir searchAppearance'ya göre filtreleme yaparsanız byNewsShowcasePanel'ya 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 desteklenmez
rowLimit integer [İsteğe bağlı; geçerli aralık 1-25.000'dir; varsayılan değer 1.000'dir] Döndürülecek maksimum satır sayısı. Sonuçlar arasında gezinmek için startRow ofsetini kullanın.
startRow integer [İsteğe bağlı; varsayılan değer 0'dır] 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ırlı başarılı bir yanıt olur.
dataState string [İsteğe bağlı] "Tümü" (büyük/küçük harfe duyarsız) ise veriler yeni verileri içerir. "final" (büyük/küçük harfe duyarsız) ise veya bu parametre atlanırsa döndürülen veriler yalnızca sonlandırılmış verileri içerir. "hourly_all" (büyük/küçük harfe duyarsız) ise veriler saatlik dökümü içerir. Bu, saatlik verilerin kısmi veriler içerdiğini ve HOUR API boyutuyla gruplandırma yaparken kullanılması gerektiğini gösterir.

Yanıt

Sonuçlar, istekte belirtilen boyutlara göre gruplandırılır. Aynı boyut değerleri grubuna sahip tüm değerler tek bir satırda gruplandırılır. Örneğin, ülke boyutuna göre gruplandırırsanız "ABD" ile ilgili tüm sonuçlar, "Maldivler" ile ilgili tüm sonuçlar vb. birlikte gruplandırılır. Ülkeye ve cihaza göre gruplandırma yaptıysanız "ABD, tablet" ile ilgili tüm sonuçlar, "ABD, mobil" ile ilgili tüm sonuçlar vb. gruplandırılır. Tıklamaların, gösterimlerin vb. nasıl hesaplandığı ve ne anlama geldiğiyle ilgili ayrıntılı bilgi için Arama Analizi raporu dokümanlarına bakın.

Sonuçlar, tarihe göre gruplandırmadığınız sürece tıklama sayısına göre azalan sırada sıralanır. Tarihe göre gruplandırdığınızda ise sonuçlar tarihe göre artan sırada (en eski ilk, en yeni son) sıralanır. İki satır arasında eşitlik varsa sıralama düzeni rastgeledir.

Döndürülebilecek maksimum değer sayısını öğrenmek için isteğin rowLimit özelliğine 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 verilen sıraya göre anahtar değerlerine göre gruplandırılmış satırların listesi.
rows[].keys[] list İstekle belirtilen sırayla, istekteki boyutlara göre gruplandırılmış olarak söz konusu satırın boyut değerlerinin listesi.
rows[].clicks double Satırın tıklama sayısı.
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ında (bu değerler dahil) olmalıdır.
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ınagöz atın.

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

Verilerin durumu hakkında bağlam sağlayan ve sorgu sonuçlarınızla birlikte döndürülebilen bir nesne.

Yakın tarihli verileri istediğinizde (dataState için all veya hourly_all kullanarak) döndürülen satırların bazıları eksik verileri temsil edebilir. Bu, verilerin hâlâ toplandığı ve işlendiği anlamına gelir. Bu meta veri nesnesi, etkinliğin tam olarak ne zaman başlayıp ne zaman sona erdiğini belirlemenize yardımcı olur.

Bu nesnede belirtilen tüm tarihler ve saatler America/Los_Angeles saat dilimindedir.

Bu nesnede döndürülen alan, isteğinizdeki verileri nasıl gruplandırdığınıza bağlıdır:

  • first_incomplete_date (string): Verilerin hâlâ toplandığı ve işlendiği ilk tarih, YYYY-MM-DD biçiminde (ISO-8601 genişletilmiş yerel tarih biçimi) gösterilir.

    Bu alan yalnızca isteğin dataState değeri all olduğunda, veriler date'ye göre gruplandırıldığında ve istenen tarih aralığı eksik veri noktaları içerdiğinde doldurulur.

    first_incomplete_date işaretinden sonraki tüm değerler belirgin şekilde değişebilir.

  • first_incomplete_hour (string): Verilerin toplanmaya ve işlenmeye devam ettiği ilk saat, YYYY-MM-DDThh:mm:ss[+|-]hh:mm biçiminde (ISO-8601 genişletilmiş uzaklık tarih-saat biçimi) gösterilir.

    Bu alan yalnızca isteğin dataState değeri hourly_all olduğunda ve veriler hour'ye göre gruplandırıldığında ve istenen tarih aralığı eksik veri noktaları içerdiğinde doldurulur.

    first_incomplete_hour işaretinden sonraki tüm değerler belirgin şekilde değişebilir.

Deneyin!

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