Search Analytics: query

इसके लिए अनुमति की ज़रूरत है

अपने हिसाब से तय किए गए फ़िल्टर और पैरामीटर की मदद से, खोज ट्रैफ़िक के डेटा के बारे में क्वेरी करें. यह तरीका, तय की गई पंक्ति की कुंजियों (डाइमेंशन) के हिसाब से ग्रुप की गई शून्य या उससे ज़्यादा पंक्तियां दिखाता है. आपको एक या उससे ज़्यादा दिनों की तारीख की सीमा तय करनी होगी.

अगर तारीख, डाइमेंशन में से एक है, तो नतीजों की सूची में उन दिनों को शामिल नहीं किया जाता जिनमें कोई डेटा नहीं होता. यह जानने के लिए कि किन दिनों का डेटा उपलब्ध है, अपनी पसंद की तारीख की सीमा के लिए, फ़िल्टर के बिना तारीख के हिसाब से ग्रुप की गई क्वेरी जारी करें.

नतीजों को, क्लिक की संख्या के हिसाब से घटते क्रम में लगाया जाता है. अगर दो पंक्तियों में क्लिक की संख्या एक जैसी है, तो उन्हें किसी भी क्रम में लगाया जा सकता है.

इस तरीके को कॉल करने के लिए, Python का सैंपल देखें.

यह एपीआई, Search Console की अंदरूनी सीमाओं के हिसाब से काम करता है. यह सभी डेटा लाइनों को दिखाने की गारंटी नहीं देता. हालांकि, यह सबसे ऊपर की लाइनों को दिखाता है.

उपलब्ध डेटा की मात्रा की सीमाएं देखें.

JSON पीओएसटी का उदाहरण:
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"]
}
इसे अभी आज़माएं.

अनुरोध

एचटीटीपी अनुरोध

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

पैरामीटर

पैरामीटर का नाम मान ब्यौरा
पाथ पैरामीटर
siteUrl string Search Console में जोड़ी गई प्रॉपर्टी का यूआरएल. उदाहरण: http://www.example.com/ (यूआरएल-प्रीफ़िक्स प्रॉपर्टी के लिए) या sc-domain:example.com (डोमेन प्रॉपर्टी के लिए)

अनुमति देना

इस अनुरोध के लिए, इनमें से कम से कम एक स्कोप के साथ अनुमति की ज़रूरत होती है. (अनुमति और पुष्टि करने के बारे में ज़्यादा जानें).

दायरा
https://www.googleapis.com/auth/webmasters.readonly
https://www.googleapis.com/auth/webmasters

अनुरोध का मुख्य भाग

अनुरोध के मुख्य भाग में, इस स्ट्रक्चर का डेटा शामिल करें:

{
  "startDate": string,
  "endDate": string,
  "dimensions": [
    string
  ],
  "type": string,
  "dimensionFilterGroups": [
    {
      "groupType": string,
      "filters": [
        {
          "dimension": string,
          "operator": string,
          "expression": string
        }
      ]
    }
  ],
  "aggregationType": string,
  "rowLimit": integer,
  "startRow": integer
}
प्रॉपर्टी का नाम मान ब्यौरा नोट
startDate string [ज़रूरी है] अनुरोध की गई तारीख की सीमा की शुरू होने की तारीख. यह तारीख, YYYY-MM-DD फ़ॉर्मैट में, पीटी टाइम (यूटीसी - 7:00/8:00) में होनी चाहिए. यह तारीख, खत्म होने की तारीख से पहले या उसके बराबर होनी चाहिए. यह वैल्यू, तारीख की सीमा में शामिल होती है.
endDate string [ज़रूरी है] अनुरोध की गई तारीख की सीमा की खत्म होने की तारीख. यह तारीख, पीटी टाइम (यूटीसी - 7:00/8:00) में, YYYY-MM-DD फ़ॉर्मैट में होनी चाहिए. यह तारीख, शुरू होने की तारीख के बाद या उसके बराबर होनी चाहिए. यह वैल्यू, तारीख की सीमा में शामिल होती है.
dimensions[] list [ज़रूरी नहीं] नतीजों को ग्रुप में बांटने के लिए, शून्य या उससे ज़्यादा डाइमेंशन. नतीजों को, इन डाइमेंशन को दिए गए क्रम में ग्रुप किया जाता है.dimensionFilterGroups[].filters[].dimension के साथ-साथ, "date" और "hour" में किसी भी डाइमेंशन के नाम का इस्तेमाल किया जा सकता है. नतीजों की हर लाइन के लिए यूनीक कुंजी बनाने के लिए, ग्रुपिंग डाइमेंशन की वैल्यू को एक साथ जोड़ा जाता है. अगर कोई डाइमेंशन तय नहीं किया जाता है, तो सभी वैल्यू को एक ही लाइन में जोड़ा जाएगा. डाइमेंशन के हिसाब से ग्रुप बनाने की कोई सीमा नहीं है. हालांकि, एक ही डाइमेंशन के हिसाब से दो बार ग्रुप नहीं बनाया जा सकता. उदाहरण: [country, device]
searchType string इसकी जगह type का इस्तेमाल करें
type string [ज़रूरी नहीं] नतीजों को इस टाइप के हिसाब से फ़िल्टर करें:
  • "discover": 'डिस्कवर' के नतीजे
  • "googleNews": news.google.com और Android और iOS पर Google News ऐप्लिकेशन से मिले नतीजे. इसमें Google Search में "News" टैब से मिले नतीजे शामिल नहीं होते.
  • "news": Google Search में "News" टैब से मिले खोज नतीजे.
  • "image": Google Search में "इमेज" टैब से मिले खोज नतीजे.
  • "video": वीडियो के खोज नतीजे
  • "web": [डिफ़ॉल्ट] Google Search में, ("सभी") टैब के लिए फ़िल्टर किए गए नतीजे. इसमें 'डिस्कवर' या Google News के नतीजे शामिल नहीं होते.
dimensionFilterGroups[] list [ज़रूरी नहीं] डाइमेंशन ग्रुपिंग की वैल्यू पर लागू करने के लिए, फ़िल्टर के शून्य या उससे ज़्यादा ग्रुप. जवाब में लाइन दिखाने के लिए, फ़िल्टर के सभी ग्रुप मैच होने चाहिए. फ़िल्टर के किसी एक ग्रुप में, यह तय किया जा सकता है कि सभी फ़िल्टर मैच होने चाहिए या कम से कम एक फ़िल्टर मैच होना चाहिए.
dimensionFilterGroups[].groupType string क्या इस ग्रुप के सभी फ़िल्टर के लिए 'सही' ("and") वैल्यू दिखनी चाहिए या एक या उससे ज़्यादा फ़िल्टर के लिए 'सही' वैल्यू दिखनी चाहिए (अभी उपलब्ध नहीं है).

ये वैल्यू डाली जा सकती हैं:
  • "and": ग्रुप के सभी फ़िल्टर के लिए 'सही' वैल्यू दिखनी चाहिए, ताकि फ़िल्टर ग्रुप के लिए 'सही' वैल्यू दिखे.
dimensionFilterGroups[].filters[] list [ज़रूरी नहीं] लाइन के लिए, शून्य या उससे ज़्यादा फ़िल्टर. हर फ़िल्टर में, डाइमेंशन का नाम, ऑपरेटर, और वैल्यू शामिल होती है. ज़्यादा से ज़्यादा 4096 वर्ण इस्तेमाल किए जा सकते हैं. उदाहरण:
country equals FRA
query contains mobile use
device notContains tablet
dimensionFilterGroups[].filters[].dimension string वह डाइमेंशन जिस पर यह फ़िल्टर लागू होता है. यहां दिए गए किसी भी डाइमेंशन के हिसाब से फ़िल्टर किया जा सकता है. भले ही, उस डाइमेंशन के हिसाब से ग्रुप न बनाया गया हो.

ये वैल्यू डाली जा सकती हैं:
  • "country": तय किए गए देश के हिसाब से फ़िल्टर करें. देश का नाम, तीन अक्षरों वाले देश के कोड (आईएसओ 3166-1 ऐल्फ़ा-3) के हिसाब से तय किया जाता है.
  • "device": तय किए गए डिवाइस टाइप के हिसाब से नतीजों को फ़िल्टर करें. इस्तेमाल की जा सकने वाली वैल्यू:
    • DESKTOP
    • MOBILE
    • TABLET
  • "page": तय की गई यूआरआई स्ट्रिंग के हिसाब से फ़िल्टर करें.
  • "query": तय की गई क्वेरी स्ट्रिंग के हिसाब से फ़िल्टर करें.
  • "searchAppearance": खोज नतीजों की किसी खास सुविधा के हिसाब से फ़िल्टर करें. उपलब्ध वैल्यू की सूची देखने के लिए, "searchAppearance" के हिसाब से ग्रुप की गई क्वेरी चलाएं. वैल्यू और ब्यौरे की पूरी सूची, सहायता दस्तावेज़ में भी उपलब्ध है.
dimensionFilterGroups[].filters[].operator string [ज़रूरी नहीं] तय की गई वैल्यू, लाइन के डाइमेंशन की वैल्यू से कैसे मैच होनी चाहिए (या मैच नहीं होनी चाहिए).

ये वैल्यू डाली जा सकती हैं:
dimensionFilterGroups[].filters[].expression string ऑपरेटर के हिसाब से, फ़िल्टर के लिए वह वैल्यू जो मैच होनी चाहिए या जिसे शामिल नहीं करना है.
aggregationType string

[ज़रूरी नहीं] डेटा को कैसे एग्रीगेट किया जाता है. अगर डेटा को प्रॉपर्टी के हिसाब से एग्रीगेट किया जाता है, तो एक ही प्रॉपर्टी का सारा डेटा एग्रीगेट किया जाता है. अगर डेटा को पेज के हिसाब से एग्रीगेट किया जाता है, तो सारा डेटा कैननिकल यूआरआई के हिसाब से एग्रीगेट किया जाता है. अगर पेज के हिसाब से फ़िल्टर या ग्रुप किया जाता है, तो 'अपने-आप' विकल्प चुनें. इसके अलावा, डेटा को प्रॉपर्टी या पेज के हिसाब से एग्रीगेट किया जा सकता है. यह इस बात पर निर्भर करता है कि आपको डेटा को कैसे कैलकुलेट करना है. साइट के हिसाब से बनाम पेज के हिसाब से डेटा को अलग-अलग तरीके से कैलकुलेट करने के बारे में जानने के लिए, सहायता दस्तावेज़ देखें.

ध्यान दें: अगर पेज के हिसाब से ग्रुप या फ़िल्टर किया जाता है, तो प्रॉपर्टी के हिसाब से एग्रीगेट नहीं किया जा सकता.

अगर 'अपने-आप' के अलावा कोई दूसरी वैल्यू तय की जाती है, तो नतीजे में एग्रीगेशन का टाइप, अनुरोध किए गए टाइप से मैच करेगा. या अगर अमान्य टाइप का अनुरोध किया जाता है, तो गड़बड़ी दिखेगी. अगर अनुरोध किया गया टाइप अमान्य है, तो एपीआई कभी भी एग्रीगेशन का टाइप नहीं बदलेगा.

ये वैल्यू डाली जा सकती हैं:
  • "auto": [डिफ़ॉल्ट] सेवा को, एग्रीगेशन का सही टाइप तय करने दें.
  • "byNewsShowcasePanel": News शोकेस पैनल के हिसाब से वैल्यू एग्रीगेट करें. इसका इस्तेमाल, NEWS_SHOWCASE searchAppearance फ़िल्टर और type=discover या type=googleNews के साथ किया जाना चाहिए. अगर पेज के हिसाब से ग्रुप किया जाता है, पेज के हिसाब से फ़िल्टर किया जाता है या किसी दूसरे searchAppearance, के हिसाब से फ़िल्टर किया जाता है, तो byNewsShowcasePanel के हिसाब से एग्रीगेट नहीं किया जा सकता.
  • "byPage": यूआरआई के हिसाब से वैल्यू एग्रीगेट करें.
  • "byProperty": प्रॉपर्टी के हिसाब से वैल्यू एग्रीगेट करें. type=discover या type=googleNews के लिए उपलब्ध नहीं है
rowLimit integer [ज़रूरी नहीं; मान्य सीमा 1–25,000 है; डिफ़ॉल्ट वैल्यू 1,000 है] दिखाई जाने वाली लाइनों की ज़्यादा से ज़्यादा संख्या. नतीजों को पेज के हिसाब से देखने के लिए, startRow ऑफ़सेट का इस्तेमाल करें.
startRow integer [ज़रूरी नहीं; डिफ़ॉल्ट वैल्यू 0 है] जवाब में पहली लाइन का ज़ीरो-आधारित इंडेक्स. यह एक गैर-ऋणात्मक संख्या होनी चाहिए. अगर startRow, क्वेरी के नतीजों की संख्या से ज़्यादा है, तो जवाब में शून्य लाइनों के साथ, सही जवाब दिखेगा.
dataState string [ज़रूरी नहीं] अगर "all" (केस-सेंसिटिव नहीं) है, तो डेटा में नया डेटा शामिल होगा. अगर "final" (केस-सेंसिटिव नहीं) है या इस पैरामीटर को शामिल नहीं किया जाता है, तो दिखाए गए डेटा में सिर्फ़ फ़ाइनल डेटा शामिल होगा. अगर "hourly_all" (केस-सेंसिटिव नहीं) है, तो डेटा में हर घंटे का ब्रेकडाउन शामिल होगा. इससे पता चलेगा कि हर घंटे के डेटा में आंशिक डेटा शामिल है. इसका इस्तेमाल, HOUR API डाइमेंशन के हिसाब से ग्रुप करते समय किया जाना चाहिए.

जवाब

नतीजों को, अनुरोध में तय किए गए डाइमेंशन के हिसाब से ग्रुप किया जाता है. डाइमेंशन की एक जैसी वैल्यू वाले सभी नतीजों को एक ही लाइन में ग्रुप किया जाएगा. उदाहरण के लिए, अगर देश के डाइमेंशन के हिसाब से ग्रुप किया जाता है, तो "usa" के सभी नतीजों को एक साथ ग्रुप किया जाएगा. इसी तरह, "mdv" के सभी नतीजों को एक साथ ग्रुप किया जाएगा. अगर देश और डिवाइस के हिसाब से ग्रुप किया जाता है, तो "usa, tablet" के सभी नतीजों को एक साथ ग्रुप किया जाएगा. इसी तरह, "usa, mobile" के सभी नतीजों को एक साथ ग्रुप किया जाएगा. क्लिक, इंप्रेशन वगैरह को कैलकुलेट करने के तरीके और उनके मतलब के बारे में जानने के लिए, Search Analytics रिपोर्ट का दस्तावेज़ देखें.

नतीजों को, क्लिक की संख्या के हिसाब से घटते क्रम में लगाया जाता है. हालांकि, अगर तारीख के हिसाब से ग्रुप किया जाता है, तो नतीजों को तारीख के हिसाब से बढ़ते क्रम में लगाया जाता है. इसमें सबसे पुरानी तारीख पहले और सबसे नई तारीख बाद में दिखती है. अगर दो लाइनों में क्लिक की संख्या एक जैसी है, तो उन्हें किसी भी क्रम में लगाया जा सकता है.

दिखाई जा सकने वाली वैल्यू की ज़्यादा से ज़्यादा संख्या जानने के लिए, अनुरोध में rowLimit प्रॉपर्टी देखें.

{
  "rows": [
    {
      "keys": [
        string
      ],
      "clicks": double,
      "impressions": double,
      "ctr": double,
      "position": double
    }
  ],
  "responseAggregationType": string
}
प्रॉपर्टी का नाम मान ब्यौरा नोट
rows[] list क्वेरी में दिए गए क्रम में, कुंजी की वैल्यू के हिसाब से ग्रुप की गई लाइनों की सूची.
rows[].keys[] list उस लाइन के लिए डाइमेंशन की वैल्यू की सूची. इसे अनुरोध में दिए गए डाइमेंशन के हिसाब से, अनुरोध में तय किए गए क्रम में ग्रुप किया जाता है.
rows[].clicks double लाइन के लिए क्लिक की संख्या.
rows[].impressions double लाइन के लिए इंप्रेशन की संख्या.
rows[].ctr double लाइन के लिए क्लिक मिलने की दर (सीटीआर). वैल्यू, 0 से 1.0 के बीच होती हैं. इसमें 0 और 1.0 भी शामिल हैं.
rows[].position double खोज नतीजों में औसत रैंक.
responseAggregationType string नतीजों को कैसे एग्रीगेट किया गया.साइट के हिसाब से बनाम पेज के हिसाब से डेटा को अलग-अलग तरीके से कैलकुलेट करने के बारे में जानने के लिए, सहायता दस्तावेज़ देखें.

ये वैल्यू डाली जा सकती हैं:
  • "auto"
  • "byPage": नतीजों को पेज के हिसाब से एग्रीगेट किया गया.
  • "byProperty": नतीजों को प्रॉपर्टी के हिसाब से एग्रीगेट किया गया.
metadata object

एक ऑब्जेक्ट, जो आपकी क्वेरी के नतीजों के साथ दिखाया जा सकता है. इससे डेटा की स्थिति के बारे में जानकारी मिलती है.

हाल ही का डेटा का अनुरोध करने पर (all या hourly_all का इस्तेमाल करके dataState), दिखाई गई कुछ लाइनों में ऐसा डेटा हो सकता है जो पूरा नहीं है, इसका मतलब है कि डेटा अब भी इकट्ठा और प्रोसेस किया जा रहा है. इस मेटाडेटा ऑब्जेक्ट से, यह पता चलता है कि डेटा कब इकट्ठा और प्रोसेस किया जा रहा है.

इस ऑब्जेक्ट में दी गई सभी तारीखें और समय, America/Los_Angeles टाइम ज़ोन में हैं.

इस ऑब्जेक्ट में दिखाई देने वाला खास फ़ील्ड, इस बात पर निर्भर करता है कि आपने अनुरोध में डेटा को कैसे ग्रुप किया है:

  • first_incomplete_date (string): वह पहली तारीख जिसके लिए डेटा अब भी इकट्ठा और प्रोसेस किया जा रहा है. यह तारीख, YYYY-MM-DD फ़ॉर्मैट (आईएसओ-8601 एक्सटेंडेड लोकल डेट फ़ॉर्मैट) में दिखाई जाती है.

    यह फ़ील्ड सिर्फ़ तब दिखता है, जब अनुरोध का dataState all हो और डेटा को date के हिसाब से ग्रुप किया गया हो. साथ ही, अनुरोध की गई तारीख की सीमा में, डेटा के ऐसे पॉइंट शामिल हों जो पूरे नहीं हैं.

    first_incomplete_date के बाद की सभी वैल्यू में अब भी काफ़ी बदलाव हो सकता है.

  • first_incomplete_hour (string): वह पहला घंटा जिसके लिए डेटा अब भी इकट्ठा और प्रोसेस किया जा रहा है. यह समय, YYYY-MM-DDThh:mm:ss[+|-]hh:mm फ़ॉर्मैट (आईएसओ-8601 एक्सटेंडेड ऑफ़सेट डेट-टाइम फ़ॉर्मैट) में दिखाया जाता है.

    यह फ़ील्ड सिर्फ़ तब दिखता है, जब अनुरोध का dataState hourly_all हो, और डेटा को hour के हिसाब से ग्रुप किया गया हो. साथ ही, अनुरोध की गई तारीख की सीमा में, डेटा के ऐसे पॉइंट शामिल हों जो पूरे नहीं हैं.

    first_incomplete_hour के बाद की सभी वैल्यू में अब भी काफ़ी बदलाव हो सकता है.

इसे आज़माएं!

लाइव डेटा पर इस तरीके को कॉल करने और जवाब देखने के लिए, नीचे दिए गए एपीआई एक्सप्लोरर का इस्तेमाल करें.