একটি প্রতিবেদন তৈরি করা

এটি অ্যানালিটিক্স রিপোর্টিং API v4-এর একটি বিকাশকারী নির্দেশিকা৷ API এর বিস্তারিত রেফারেন্সের জন্য, API রেফারেন্স দেখুন।

রিপোর্ট

Analytics রিপোর্টিং API v4 রিপোর্ট রিসোর্স অ্যাক্সেস করার জন্য ব্যাচগেট পদ্ধতি প্রদান করে। নিম্নলিখিত বিভাগগুলি batchGet অনুরোধের বডির গঠন এবং batchGet থেকে প্রতিক্রিয়া বডির গঠন বর্ণনা করে।

রিকোয়েস্ট বডি

ডেটা অনুরোধ করার জন্য Analytics রিপোর্টিং API v4 ব্যবহার করতে, আপনাকে অবশ্যই একটি ReportRequest অবজেক্ট তৈরি করতে হবে, যার এই ন্যূনতম প্রয়োজনীয়তা রয়েছে:

  • viewId ক্ষেত্রের জন্য একটি বৈধ ভিউ আইডি।
  • dateRanges ক্ষেত্রে অন্তত একটি বৈধ এন্ট্রি।
  • মেট্রিক্স ক্ষেত্রে অন্তত একটি বৈধ এন্ট্রি।

একটি ভিউ আইডি খুঁজে পেতে, অ্যাকাউন্টের সারাংশের পদ্ধতিটি জিজ্ঞাসা করুন বা অ্যাকাউন্ট এক্সপ্লোরার ব্যবহার করুন। যদি তারিখের পরিসর দেওয়া না থাকে, তাহলে ডিফল্ট তারিখের পরিসর হল: {"startDate": "7daysAgo", "endDate": "yesterday"}

এখানে ন্যূনতম প্রয়োজনীয় ক্ষেত্রগুলির সাথে একটি নমুনা অনুরোধ রয়েছে:

POST https://analyticsreporting.googleapis.com/v4/reports:batchGet
{
  "reportRequests":
  [
    {
      "viewId": "XXXX",
      "dateRanges": [{"startDate": "2014-11-01", "endDate": "2014-11-30"}],
      "metrics": [{"expression": "ga:users"}]
    }
  ]
}

batchGet পদ্ধতি সর্বাধিক পাঁচটি ReportRequest অবজেক্ট গ্রহণ করে। সমস্ত অনুরোধের একই dateRange , viewId , segments , samplingLevel , এবং cohortGroup থাকা উচিত।

প্রতিক্রিয়া শরীর

API অনুরোধের প্রতিক্রিয়া বডি হল রিপোর্ট অবজেক্টের একটি অ্যারে। প্রতিবেদনের কাঠামোটি ColumnHeader অবজেক্টে সংজ্ঞায়িত করা হয়েছে যা রিপোর্টে মাত্রা এবং মেট্রিক্স এবং তাদের ডেটা প্রকারগুলি বর্ণনা করে। ডাটা ফিল্ডে ডাইমেনশন এবং মেট্রিক্সের মান নির্দিষ্ট করা আছে।

উপরে নমুনা অনুরোধের জন্য এখানে একটি নমুনা প্রতিক্রিয়া রয়েছে:

{
    "reports": [
        {
            "columnHeader": {
                "metricHeader": {
                    "metricHeaderEntries": [
                        {
                            "name": "ga:users",
                            "type": "INTEGER"
                        }
                    ]
                }
            },
            "data": {
                "isDataGolden": true,
                "maximums": [
                    {
                        "values": [
                            "98"
                        ]
                    }
                ],
                "minimums": [
                    {
                        "values": [
                            "98"
                        ]
                    }
                ],
                "rowCount": 1,
                "rows": [
                    {
                        "metrics": [
                            {
                                "values": [
                                    "98"
                                ]
                            }
                        ]
                    }
                ],
                "totals": [
                    {
                        "values": [
                            "98"
                        ]
                    }
                ]
            }
        }
    ]
}

মেট্রিক্স

মেট্রিক্স হল পরিমাণগত পরিমাপ; প্রতিটি অনুরোধের জন্য কমপক্ষে একটি মেট্রিক অবজেক্ট প্রয়োজন।

নিম্নলিখিত উদাহরণে, নির্দিষ্ট তারিখের পরিসরে সেশনের মোট সংখ্যা পেতে batchGet পদ্ধতিতে Sessions মেট্রিক সরবরাহ করা হয়:

POST https://analyticsreporting.googleapis.com/v4/reports:batchGet
{
  "reportRequests":
  [
    {
      "viewId": "XXXX",
      "dateRanges": [{"startDate": "2014-11-01", "endDate": "2014-11-30"}],
      "metrics": [{"expression": "ga:sessions"}]
    }
  ]
}

উপলব্ধ মাত্রা এবং মেট্রিক্সের তালিকা পেতে আপনি মাত্রা এবং মেট্রিক্স এক্সপ্লোরার বা মেটাডেটা API ব্যবহার করতে পারেন।

ফিল্টারিং

একটি batchGet অনুরোধ জমা দেওয়ার সময়, আপনি নির্দিষ্ট মানদণ্ড পূরণ করে এমন মেট্রিকগুলি ফেরত দিতে বলতে পারেন। মেট্রিক্স ফিল্টার করতে, অনুরোধের অংশে, এক বা একাধিক MetricFilterClauses উল্লেখ করুন এবং প্রতিটি MetricFilterClause এ এক বা একাধিক MetricFilters সংজ্ঞায়িত করুন। প্রতিটি MetricFilter , নিম্নলিখিতগুলির জন্য মানগুলি নির্দিষ্ট করুন:

  • metricName
  • not
  • operator
  • comparisonValue

ধরুন {metricName} মেট্রিক, {operator} operator এবং {comparisonValue} comparisonValue প্রতিনিধিত্ব করে। তারপর ফিল্টার নিম্নলিখিত হিসাবে কাজ করে:

if {metricName} {operator} {comparisonValue}
   return the metric

যদি আপনি not এর জন্য true উল্লেখ করেন, তাহলে ফিল্টারটি নিম্নরূপ কাজ করে:

if {metricName} {operator} {comparisonValue}
   do not return the metric

নিম্নলিখিত উদাহরণে, batchGet শুধুমাত্র সেই পেজভিউ প্রদান করে যার মান 2-এর বেশি:

POST https://analyticsreporting.googleapis.com/v4/reports:batchGet
{
  "reportRequests":
  [
    {
      "viewId": "XXXX",
      "metrics": [
        {"expression": "ga:pageviews"},
        {"expression": "ga:sessions"}
      ],
      "metricFilterClauses": [{
          "filters": [{
              "metricName": "ga:pageviews",
              "operator": "GREATER_THAN",
              "comparisonValue": "2"
          }]
      }]
  }]
}

অভিব্যক্তি

একটি মেট্রিক এক্সপ্রেশন হল একটি গাণিতিক অভিব্যক্তি যা আপনি বিদ্যমান মেট্রিক্সে সংজ্ঞায়িত করেন; এটি গতিশীল গণনা করা মেট্রিক্সের মত কাজ করে। আপনি মেট্রিক এক্সপ্রেশন প্রতিনিধিত্ব করার জন্য একটি উপনাম সংজ্ঞায়িত করতে পারেন, উদাহরণস্বরূপ:

POST https://analyticsreporting.googleapis.com/v4/reports:batchGet
{
  "reportRequests":
  [
    {
      "viewId": "XXXX",
      "metrics":
      [
        {
          "expression": "ga:goal1completions/ga:users",
          "alias": "completions per user"
        }
      ]
    }
  ]
}

অর্ডার দিচ্ছে

একটি মেট্রিক মান দ্বারা ফলাফল বাছাই করতে:

  • fieldName ক্ষেত্রের মাধ্যমে এর নাম বা উপনাম সরবরাহ করুন।
  • sortOrder ক্ষেত্রের মাধ্যমে সাজানোর ক্রম ( ASCENDING বা DESCENDING ) উল্লেখ করুন।

নিম্নলিখিত উদাহরণে, batchGet প্রথমে সেশন অনুসারে সাজানো মেট্রিকগুলি এবং তারপরে পৃষ্ঠাদর্শন দ্বারা নিম্নোক্ত ক্রমে ফেরত দেয়:

POST https://analyticsreporting.googleapis.com/v4/reports:batchGet
{
  "reportRequests":
  [
    {
      "viewId": "XXXX",
      "metrics":
      [
        {"expression": "ga:pageviews"},
        {"expression": "ga:sessions"}
      ],
      "orderBys":
      [
        {"fieldName": "ga:sessions", "sortOrder": "DESCENDING"},
        {"fieldName": "ga:pageviews", "sortOrder": "DESCENDING"}
      ]
    }
  ]
}

মাত্রা

মাত্রা আপনার ব্যবহারকারীদের বৈশিষ্ট্য, তাদের সেশন এবং কর্ম বর্ণনা করে। শহরের মাত্রা, উদাহরণস্বরূপ, সেশনের একটি বৈশিষ্ট্য বর্ণনা করে এবং শহরটি নির্দেশ করে ("প্যারিস" বা "নিউ ইয়র্ক") যেখান থেকে প্রতিটি সেশনের উদ্ভব হয়েছে। একটি batchGet অনুরোধে, আপনি শূন্য বা আরও মাত্রার বস্তু নির্দিষ্ট করতে পারেন, উদাহরণস্বরূপ:

POST https://analyticsreporting.googleapis.com/v4/reports:batchGet
{
  "reportRequests":
  [
    {
      "viewId": "XXXX",
      "dateRanges":
      [
        {"endDate": "2014-11-30", "startDate": "2014-11-01"}
      ],
      "metrics":
      [
        {"expression": "ga:users"}
      ],
      "dimensions":
      [
        {"name": "ga:city"}
      ]
    }
  ]
}

ফিল্টারিং

একটি batchGet অনুরোধ জমা দেওয়ার সময়, আপনি শুধুমাত্র নির্দিষ্ট মানদণ্ড পূরণ করে এমন মাত্রা ফেরত দিতে বলতে পারেন। মাত্রা ফিল্টার করতে, অনুরোধের অংশে, এক বা একাধিক মাত্রা ফিল্টারক্লজ নির্দিষ্ট করুন এবং প্রতিটি DimensionsFilterClause এ এক বা একাধিক মাত্রা ফিল্টার সংজ্ঞায়িত করুন। প্রতিটি DimensionsFilters , নিম্নলিখিতগুলির জন্য মানগুলি নির্দিষ্ট করুন:

  • dimensionName
  • not
  • operator
  • expressions
  • caseSensitive

ধরুন {dimensionName} মাত্রা, {operator} operator এবং {expressions} expressions উপস্থাপন করে। তারপর ফিল্টার নিম্নলিখিত হিসাবে কাজ করে:

if {dimensionName} {operator} {expressions}
    return the dimension

যদি আপনি not এর জন্য true উল্লেখ করেন, তাহলে ফিল্টারটি নিম্নরূপ কাজ করে:

if {dimensionName} {operator} {expressions}
    do not return the dimension

নিম্নলিখিত উদাহরণে, batchGet একটি ক্রোম ব্রাউজারে পৃষ্ঠা দর্শন এবং সেশন প্রদান করে:

POST https://analyticsreporting.googleapis.com/v4/reports:batchGet
{
  "reportRequests":
  [
    {
      "viewId": "XXXX",
      "dateRanges": [
        {"endDate": "2014-11-30", "startDate": "2014-11-01"}
      ],
      "metrics": [
        {"expression": "ga:pageviews"},
        {"expression": "ga:sessions"}
      ],
      "dimensions": [{"name": "ga:browser"}, {"name": "ga:country"}],
      "dimensionFilterClauses": [
        {
          "filters": [
            {
              "dimensionName": "ga:browser",
              "operator": "EXACT",
              "expressions": ["Chrome"]
            }
          ]
        }
      ]
    }
  ]
}

অর্ডার দিচ্ছে

একটি মাত্রা মান দ্বারা ফলাফল বাছাই করতে:

  • fieldName ক্ষেত্রের মাধ্যমে এর নাম সরবরাহ করুন।
  • sortOrder ক্ষেত্রের মাধ্যমে সাজানোর ক্রম ( ASCENDING বা DESCENDING ) উল্লেখ করুন।

উদাহরণস্বরূপ, নিম্নলিখিত batchGet দেশ অনুসারে এবং তারপর ব্রাউজার অনুসারে সাজানো মাত্রাগুলি প্রদান করে:

POST https://analyticsreporting.googleapis.com/v4/reports:batchGet
{
  "reportRequests":
  [
    {
      "viewId": "XXXX",
      "metrics": [{"expression": "ga:sessions"}],
      "dimensions": [{"name": "ga:country"},{"name": "ga:browser"}],
      "orderBys": [
        {"fieldName": "ga:country"},
        {"fieldName": "ga:browser"}
      ]
    }
  ]
}

হিস্টোগ্রাম বালতি

পূর্ণসংখ্যার মান সহ মাত্রাগুলির জন্য, তাদের মানগুলিকে ব্যাপ্তিতে রেখে তাদের বৈশিষ্ট্যগুলি বোঝা সহজ। ফলস্বরূপ বালতিগুলির জন্য রেঞ্জগুলি সংজ্ঞায়িত করতে histogramBuckets ক্ষেত্রটি ব্যবহার করুন এবং অর্ডারের ধরন হিসাবে HISTOGRAM_BUCKET নির্দিষ্ট করুন, উদাহরণস্বরূপ:

POST https://analyticsreporting.googleapis.com/v4/reports:batchGet
{
  "reportRequests":
  [
    {
      "viewId": "XXXX",
      "metrics": [{"expression": "ga:sessions"}],
      "dimensions": [
        {
          "name": "ga:sessionCount",
          "histogramBuckets": ["1","10","100","200","400"]
        }
      ],
      "orderBys": [
        {
          "fieldName": "ga:sessionCount",
          "orderType": "HISTOGRAM_BUCKET"
        }
      ]
    }
  ]
}

একাধিক তারিখের ব্যাপ্তি

Google Analytics রিপোর্টিং API v4 আপনাকে একটি অনুরোধে একাধিক তারিখের সীমার মধ্যে ডেটা পেতে দেয়। আপনার অনুরোধে এক বা দুটি তারিখের ব্যাপ্তি নির্দিষ্ট করা হোক না কেন, ডেটা ডেটরেঞ্জ ভ্যালু অবজেক্টে ফেরত দেওয়া হয়, উদাহরণস্বরূপ:

POST https://analyticsreporting.googleapis.com/v4/reports:batchGet
{
  "reportRequests":
  [
    {
      "viewId": "XXXX",
      "dateRanges": [
        {"startDate": "2014-11-01", "endDate": "2014-11-30"},
        {"startDate": "2014-10-01", "endDate": "2014-10-30"}
      ],
      "metrics": [
        {"expression": "ga:pageviews"},
        {"expression": "ga:sessions"}
      ],
      "dimensions": [{"name": "ga:pageTitle"}]
    }
  ]
}

ডেল্টা অর্ডারিং

দুটি তারিখ ব্যাপ্তিতে মেট্রিক মানগুলির জন্য অনুরোধ করার সময়, আপনি তারিখের ব্যাপ্তিতে মেট্রিকের মানগুলির মধ্যে পার্থক্য দ্বারা ফলাফলগুলি অর্ডার করতে পারেন, উদাহরণস্বরূপ:

POST https://analyticsreporting.googleapis.com/v4/reports:batchGet
{
  "reportRequests":
  [
    {
      "viewId": "XXXX",
      "dateRanges": [
        {"startDate": "2014-11-01", "endDate": "2014-11-30"},
        {"startDate": "2014-10-01", "endDate": "2014-10-30"}
      ],
      "metrics": [
        {"expression": "ga:pageviews"},
        {"expression": "ga:sessions"}
      ],
      "dimensions": [{"name": "ga:pageTitle"}],
      "orderBys": [
        {
          "fieldName": "ga:sessions",
          "orderType": "DELTA"
        }
      ]
    }
  ]
}

তারিখ মাত্রা আচরণ

যদি আপনি একটি তারিখ বা সময় সম্পর্কিত মাত্রার জন্য অনুরোধ করেন, DateRangeValue অবজেক্টটি শুধুমাত্র সেই তারিখগুলির জন্য মান ধারণ করবে যা সংশ্লিষ্ট রেঞ্জের মধ্যে পড়ে; নির্দিষ্ট তারিখ ব্যাপ্তিতে না থাকা অন্য সব মান 0 হবে।

উদাহরণস্বরূপ, দুটি তারিখ ব্যাপ্তিতে ga:date মাত্রা এবং ga:sessions মেট্রিকের জন্য একটি অনুরোধ বিবেচনা করুন: জানুয়ারি এবং ফেব্রুয়ারি৷ জানুয়ারিতে অনুরোধ করা ডেটার প্রতিক্রিয়াতে, ফেব্রুয়ারিতে মান 0 হবে; এবং ফেব্রুয়ারিতে অনুরোধ করা ডেটার প্রতিক্রিয়াতে, জানুয়ারিতে মান 0 হবে।

জানুয়ারির রিপোর্ট

{
    "dimensions": [
        "20140101" # `ga:date` dimension value for January 1, 2014.
    ],
    "metrics": [
        {
            "values": [ # January DateRangeValue.
                "8"
            ]
        },
        {
            "values": [ # February DateRangeValue.
                "0"
            ]
        }
    ]
},
...

ফেব্রুয়ারির রিপোর্ট

{
    "dimensions": [
        "20140201"  # `ga:date` dimension value for February 1, 2014.
    ],
    "metrics": [
        {
            "values": [ # January DateRangeValue.
                "0"
            ]
        },
        {
            "values": [ # February DateRangeValue.
                "7"
            ]
        }
    ]
},
...

সেগমেন্ট

আপনার অ্যানালিটিক্স ডেটার একটি উপসেট অনুরোধ করতে, বিভাগগুলি ব্যবহার করুন। উদাহরণ স্বরূপ, আপনি একটি নির্দিষ্ট দেশ বা শহরের ব্যবহারকারীদের একটি বিভাগে সংজ্ঞায়িত করতে পারেন এবং যে ব্যবহারকারীরা আপনার সাইটের একটি নির্দিষ্ট অংশে যান। ফিল্টারগুলি শুধুমাত্র সারিগুলি প্রদান করে যা একটি শর্ত পূরণ করে, যেখানে সেগমেন্টগুলি ব্যবহারকারী, সেশন বা ইভেন্টগুলির উপসেট প্রদান করে যা বিভাগগুলি ধারণকারী শর্তগুলি পূরণ করে৷

বিভাগগুলির সাথে একটি অনুরোধ করার সময়, নিশ্চিত করুন যে:

  • একটি batchGet পদ্ধতির মধ্যে প্রতিটি ReportRequest-এ অবশ্যই অভিন্ন সেগমেন্ট সংজ্ঞা থাকতে হবে।
  • আপনি মাত্রার তালিকায় ga:segment যোগ করুন।

উদাহরণ স্বরূপ:

POST https://analyticsreporting.googleapis.com/v4/reports:batchGet
{
  "reportRequests": [
    {
      "viewId": "XXXX",
      "dimensions": [{"name": "ga:segment"}, {"name": "ga:browser"}],
      "metrics": [{"expression": "ga:sessions"}],
      "segments": [
        {
          "dynamicSegment":
          {
            "name": "Sessions with Safari browser",
            "userSegment":
            {
              "segmentFilters": [
                {
                  "simpleSegment":
                  {
                    "orFiltersForSegment": [
                      {
                        "segmentFilterClauses": [
                          {
                            "dimensionFilter":
                            {
                              "dimensionName": "ga:browser",
                              "operator": "EXACT",
                              "expressions": ["Safari"]
                            }
                        }]
                    }]
                  }
              }]
            }
          }
      }]
  }]
}

সেগমেন্ট সহ আরও উদাহরণের অনুরোধের জন্য নমুনা দেখুন।

সেগমেন্ট আইডি

সেগমেন্টের অনুরোধ করতে segmentId ক্ষেত্র ব্যবহার করুন। আপনি সেগমেন্টের অনুরোধ করতে একটি segmentId এবং একটি dynamicSegment উভয়ই ব্যবহার করতে পারবেন না।

উদাহরণ স্বরূপ:

POST https://analyticsreporting.googleapis.com/v4/reports:batchGet
{
  "reportRequests":
  [
    {
      "viewId": "XXXX",
      "dimensions": [{"name": "ga:medium"}, {"name": "ga:segment"}],
      "metrics": [{"expression": "ga:users"}],
      "segments":  [{"segmentId": "gaid::-3"}]
    }
  ]
}

স্যাম্পলিং

স্যাম্পলিং আপনার ডেটার ফলাফলকে প্রভাবিত করতে পারে এবং একটি সাধারণ কারণ কেন API থেকে প্রত্যাবর্তিত মানগুলি ওয়েব ইন্টারফেসের সাথে মেলে না। পছন্দসই নমুনার আকার সেট করতে samplingLevel ক্ষেত্রটি ব্যবহার করুন।

  • একটি ছোট নমুনা আকারের সাথে দ্রুত প্রতিক্রিয়ার জন্য মানটিকে SMALL এ সেট করুন।
  • আরও সঠিক কিন্তু ধীর প্রতিক্রিয়ার জন্য মানটিকে LARGE তে সেট করুন৷
  • গতি এবং নির্ভুলতা ভারসাম্যপূর্ণ প্রতিক্রিয়ার জন্য মানটিকে DEFAULT সেট করুন।

উদাহরণ স্বরূপ:

POST https://analyticsreporting.googleapis.com/v4/reports:batchGet
{
  "reportRequests":
  [
    {
      "viewId": "XXXX",
      "dimensions": [{"name": "ga:medium"}],
      "metrics": [{"expression": "ga:sessions"}],
      "samplingLevel":  "LARGE"
    }
  ]
}

যদি একটি রিপোর্টে নমুনাযুক্ত ডেটা থাকে তাহলে Analytics রিপোর্টিং API v4 samplesReadCounts এবং samplingSpaceSizes ক্ষেত্রগুলি প্রদান করে৷ ফলাফল নমুনা না হলে এই ক্ষেত্রগুলি সংজ্ঞায়িত করা হবে না।

নীচে একটি উদাহরণ প্রতিক্রিয়া যা দুটি তারিখ ব্যাপ্তি সহ একটি অনুরোধ থেকে নমুনাযুক্ত ডেটা রয়েছে৷ ফলাফলগুলি প্রায় 15 মিলিয়ন সেশনের একটি নমুনা স্থান আকারের প্রায় 500k নমুনা থেকে গণনা করা হয়েছিল:

{
  "reports":
  [
    {
      "columnHeader": {
        ...
      },
      "data": {
        ...
        "samplesReadCounts": [ "499630","499630"],
        "samplingSpaceSizes": ["15328013","15328013"],
      }
    }
  ]
}

পৃষ্ঠা সংখ্যা

অ্যানালিটিক্স রিপোর্টিং এপিআই v4 pageToken এবং pageSize ক্ষেত্র ব্যবহার করে একাধিক পৃষ্ঠায় বিস্তৃত প্রতিক্রিয়া ফলাফলের মাধ্যমে পেজিনেট করতে। আপনি reports.batchGet অনুরোধের প্রতিক্রিয়ায় nextPageToken প্যারামিটার থেকে pageToken পাবেন:

POST https://analyticsreporting.googleapis.com/v4/reports:batchGet
{
  "reportRequests":[
  {
    ...
    # Taken from `nextPageToken` of a previous response.
    "pageToken": "10000",
    "pageSize": "10000",
  }]
}

পরবর্তী পর্ব

এখন যেহেতু আপনি একটি প্রতিবেদন তৈরির মূল বিষয়গুলি কভার করেছেন, API v4 এর উন্নত বৈশিষ্ট্যগুলি দেখুন৷