पूरे डेटा पर आधारित रिपोर्ट की डेवलपर गाइड

Google Analytics Management API की मदद से, प्रोग्राम के हिसाब से पूरे डेटा पर आधारित रिपोर्ट बनाई जा सकती हैं.

शुरुआती जानकारी

पूरे डेटा पर आधारित रिपोर्ट, Google Analytics की वे रिपोर्ट होती हैं जो पूरे डेटा का इस्तेमाल करके जनरेट की जाती हैं. फ़िलहाल, पूरे डेटा पर आधारित रिपोर्ट सिर्फ़ Google Analytics 360 के उपयोगकर्ताओं के लिए उपलब्ध हैं.

इस एपीआई की मदद से, ये काम किए जा सकते हैं:

  • अपनी सभी मौजूदा नमूनारहित रिपोर्ट के बारे में कॉन्फ़िगरेशन जानकारी फिर से पाएं. एक बार की नमूनारहित रिपोर्ट बनाएं.
  • पूरे डेटा पर आधारित रिपोर्ट की प्रोसेसिंग की स्थिति देखें.
  • प्रोसेस पूरी हो जाने के बाद, पूरे डेटा पर आधारित रिपोर्ट की डेटा फ़ाइल का लिंक पाएं.
  • पूरे डेटा पर आधारित रिपोर्ट मिटाएं.

पूरे डेटा पर आधारित रिपोर्ट के लिए डेटा हासिल किया जा रहा है

जब पूरे डेटा पर आधारित रिपोर्ट बनाई जाती है, तो उसे डाउनलोड होने में कुछ समय लग सकता है. किसी नमूनारहित रिपोर्ट के status फ़ील्ड से पता चलता है कि उस रिपोर्ट की प्रोसेसिंग पूरी हुई है या नहीं. स्टेटस COMPLETED के तौर पर मार्क होने के बाद, जिस फ़ाइल में रिपोर्ट का डेटा है उसे फिर से पाने के लिए, downloadType और उससे जुड़े डाउनलोड की जानकारी वाले फ़ील्ड का इस्तेमाल किया जा सकता है. उदाहरण के लिए:

  • अगर downloadType की वैल्यू GOOGLE_DRIVE है, तो driveDownloadDetails फ़ील्ड का इस्तेमाल करें.
  • अगर downloadType की वैल्यू GOOGLE_CLOUD_STORAGE है, तो cloudStorageDownloadDetails फ़ील्ड का इस्तेमाल करें.

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

Google Drive / Google Cloud Storage API का इस्तेमाल करना

आपकी फ़ाइलें कहां डिलीवर की जा रही हैं (Google Drive या Google Cloud Storage), इसके आधार पर आपको उस फ़ाइल के लिए एक लिंक मिलेगा. इस लिंक की मदद से फ़ाइल डाउनलोड करने के लिए, Drive API या Cloud Storage API का इस्तेमाल किया जा सकता है. फ़ाइल को वापस पाने के तरीके के बारे में ज़्यादा जानकारी के लिए, Google Drive API या Google Cloud Storage API का दस्तावेज़ देखें.

उदाहरण के लिए, अगर आपकी पूरे डेटा पर आधारित रिपोर्ट Google Drive में सेव है, तो फ़ाइल के रिसॉर्स यूआरएल में अनुमति वाला एचटीटीपी GET अनुरोध किया जा सकता है. साथ ही, क्वेरी पैरामीटर alt=media को शामिल किया जा सकता है.

GET /drive/v2/files/XXXXXX?alt=media
Host: www.googleapis.com
Content-length: 0
Authorization: Bearer ya29.AHESVbXTUv5mHMo3RYfmS1YJonjzzdTOFZwvyOAUVhrs

जहां XXXXXX, पूरे डेटा पर आधारित रिपोर्ट driveDownloadDetails.documentId है

पुष्टि करना

अगर आपको फ़ाइल डाउनलोड के लिए, Drive या Cloud Storage API के साथ नमूनारहित रिपोर्ट का इस्तेमाल करना है, तो OAuth 2.0 टोकन का अनुरोध करते समय आपको उस एपीआई (Analytics API की पुष्टि करने के दायरे के अलावा) से संबंधित पुष्टि करने का स्कोप शामिल करना होगा. इससे दोनों एपीआई के लिए, पुष्टि करने वाले एक ही टोकन का इस्तेमाल किया जा सकेगा.

पूरे डेटा पर आधारित रिपोर्ट मिटाना

आपके पास शेड्यूल की गई या पूरी की गई नमूनारहित रिपोर्ट को मिटाने का विकल्प है. हालांकि, रिपोर्ट जनरेट होने के दौरान कुछ समय के लिए delete को कॉल करने पर, आपको गड़बड़ी का मैसेज मिलेगा. पूरे डेटा पर आधारित रिपोर्ट को मिटाने से, संसाधन सिर्फ़ आपके GA व्यू (प्रोफ़ाइल) से हटेगा. साथ ही, Google Drive या Google Cloud Storage में एक्सपोर्ट किया गया डेटा बना रहेगा.

ज़रूरी शर्तें

नमूनारहित रिपोर्ट बनाने पर ये पाबंदियां लागू होती हैं:

  • सिर्फ़ चार डाइमेंशन तय किए जा सकते हैं.
  • कुछ टाइप के रिपोर्टिंग डेटा का इस्तेमाल नहीं किया जा सकता, जैसे कि Google Ads डेटा.
  • बहुत महंगी मानी जाने वाली क्वेरी काम नहीं करती हैं.
  • अगर आपने कई सारे पूरे डेटा वाली रिपोर्ट बनाई हैं और सीमा पूरी हो गई है, तो पूरे डेटा पर आधारित रिपोर्ट के संसाधनों को सुरक्षित तरीके से मिटाया जा सकता है. इससे, जनरेट किए गए रिपोर्ट डेटा को Google Drive या Google Cloud में सेव नहीं किया जाएगा.

अगर आपका अनुरोध बहुत महंगा माना जाता है, तो बनाएं कार्रवाई एक उचित मैसेज के साथ गड़बड़ी दिखाएगी. अगर ऐसा होता है, तो:

  • कम डाइमेंशन का अनुरोध करें.
  • क्वेरी को तारीख की छोटी सीमाओं में कई क्वेरी में बांटें और सभी रिपोर्ट को एक साथ मिला दें.

इस्तेमाल के उदाहरण

पूरे डेटा पर आधारित रिपोर्ट और Core Reporting API

अगर रिपोर्ट का डेटा वापस पाने के लिए, Core Reporting API का इस्तेमाल किया जाता है और उसमें सैंपल डेटा मौजूद है, तो उसी क्वेरी के लिए, पूरे डेटा पर आधारित रिपोर्ट इस तरह बनाई जा सकती है:

  1. Core Reporting API के लिए अनुरोध करना.
  2. इस जवाब में, isसैंपल डेटा प्रॉपर्टी की जांच करके देखें कि डेटा का सैंपल लिया गया है या नहीं.
  3. अगर इस प्रॉपर्टी को 'सही है' पर सेट किया गया है, तो पूरे डेटा पर आधारित रिपोर्ट के लिए अनुरोध करने के लिए, एक ही रिस्पॉन्स से क्वेरी और ProfileInfo फ़ील्ड का इस्तेमाल किया जा सकता है.

Core Reporting API से मिले रिस्पॉन्स का सैंपल क्वेरी फ़ील्ड:

"query": {
  "start-date": "2011-01-01",
  "end-date": "2011-01-31",
  "ids": "ga:1234",
  "dimensions": "ga:browser",
  "metrics": [
  "ga:visits"
  ],
  "filters": "ga:country==US",
  "start-index": 1,
  "max-results": 1000
}

Core Reporting API से मिले रिस्पॉन्स का profileInfo फ़ील्ड:

"profileInfo": {
  "profileId": "1234",
  "accountId": "12345",
  "webPropertyId": "UA-12345-1",
  "internalWebPropertyId": "11254",
  "profileName": "Name of the profile",
  "tableId": "ga:1234"
}

नीचे दिए गए उदाहरण में, कोर रिपोर्टिंग एपीआई के रिस्पॉन्स से पूरे डेटा पर आधारित रिपोर्ट बनाने का तरीका बताया गया है:

Java

// Make a Core Reporting API call.
GaData reportingApiData = v3.data().ga().get(...).execute();

// Check if the response is sampled.
if (reportingApiData.getContainsSampledData()) {

  // Use the “query” object to construct an unsampled report object.
  Query query = reportingApiData.getQuery();
  UnsampledReport report = new UnsampledReport()
      .setDimensions(query.getDimensions())
      .setMetrics(Joiner.on(',').join(query.getMetrics()))
      .setStartDate(startDate)
      .setEndDate(endDate)
      .setSegment(query.getSegment())
      .setFilters(query.getFilters())
      .setTitle(“My unsampled report”);

  // Use “profileInfo” to create an InsertRequest for creating an
  // unsampled report.
  ProfileInfo profileInfo = reportingApiData.getProfileInfo();
  Insert insertRequest = analytics.management().unsampledReports()
  .insert(profileInfo.getAccountId(),
          profileInfo.getWebPropertyId(),
          profileInfo.getProfileId(),
          report);
  UnsampledReport createdReport = insertRequest.execute();
}

कई दिनों के लिए पूरे डेटा को स्टिच करना

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

कोटा नीति

पूरे डेटा पर आधारित रिपोर्ट बनाते समय लागू होने वाली सीमाओं और कोटे की पूरी सूची के लिए, कॉन्फ़िगरेशन और रिपोर्टिंग एपीआई की सीमाएं और कोटा देखें.