আপনি অ্যাডমিন এপিআই v1-এর runAccessReport মেথড ব্যবহার করে ডেটা অ্যাক্সেস রিপোর্ট তৈরি করতে পারেন। এই রিপোর্টটি দেখায় যে, একজন ব্যবহারকারী কতবার গুগল অ্যানালিটিক্স ডেটা পড়েন। ডেটা অ্যাক্সেস রেকর্ডগুলো সর্বোচ্চ ২ বছর পর্যন্ত সংরক্ষিত থাকে। ডেটা অ্যাক্সেস রিপোর্ট শুধুমাত্র অ্যাডমিনিস্ট্রেটর রোল থাকা ব্যবহারকারীদের জন্য উপলব্ধ।
ক্লায়েন্ট লাইব্রেরি ব্যবহার করে একটি ডেটা অ্যাক্সেস রিপোর্টের জন্য অনুরোধ করুন।
ডেটা অ্যাক্সেস রিপোর্ট নিয়ে কাজ শুরু করার সবচেয়ে দ্রুত উপায় হলো ক্লায়েন্ট লাইব্রেরিগুলো ব্যবহার করা।
গুগল অ্যানালিটিক্স ক্লায়েন্ট লাইব্রেরিগুলো কীভাবে ইনস্টল ও কনফিগার করতে হয়, তার ব্যাখ্যার জন্য কুইক স্টার্ট গাইডটি দেখুন।
এখানে পাইথন ক্লায়েন্ট লাইব্রেরি ব্যবহার করে একটি ডেটা অ্যাক্সেস কোয়েরি চালানো এবং তার প্রতিক্রিয়া প্রিন্ট করার একটি উদাহরণ দেওয়া হলো।
পাইথন
from datetime import datetime from google.analytics.admin import AnalyticsAdminServiceClient from google.analytics.admin_v1alpha.types import ( AccessDateRange, AccessDimension, AccessMetric, RunAccessReportRequest, ) def run_sample(): """Runs the sample.""" # TODO(developer): Replace this variable with your Google Analytics 4 # property ID (e.g. "123456") before running the sample. property_id = "YOUR-GA4-PROPERTY-ID" run_access_report(property_id) def run_access_report(property_id: str, transport: str = None): """ Runs an access report for a Google Analytics property. The report will aggregate over dimensions `userEmail`, `accessedPropertyId`, `reportType`, `revenueDataReturned`, `costDataReturned`, `userIP`, and return the access count, as well as the most recent access time for each combination. See https://developers.google.com/analytics/devguides/config/admin/v1/access-api-schema for the description of each field used in a data access report query. Args: property_id(str): The Google Analytics Property ID. transport(str): The transport to use. For example, "grpc" or "rest". If set to None, a transport is chosen automatically. """ client = AnalyticsAdminServiceClient(transport=transport) request = RunAccessReportRequest( entity=f"properties/{property_id}", dimensions=[ AccessDimension(dimension_name="userEmail"), AccessDimension(dimension_name="accessedPropertyId"), AccessDimension(dimension_name="reportType"), AccessDimension(dimension_name="revenueDataReturned"), AccessDimension(dimension_name="costDataReturned"), AccessDimension(dimension_name="userIP"), AccessDimension(dimension_name="mostRecentAccessEpochTimeMicros"), ], metrics=[AccessMetric(metric_name="accessCount")], date_ranges=[AccessDateRange(start_date="yesterday", end_date="today")], ) access_report = client.run_access_report(request) print("Result:") print_access_report(access_report) def print_access_report(response): """Prints the access report.""" print(f"{response.row_count} rows received") for dimensionHeader in response.dimension_headers: print(f"Dimension header name: {dimensionHeader.dimension_name}") for metricHeader in response.metric_headers: print(f"Metric header name: {metricHeader.metric_name})") for rowIdx, row in enumerate(response.rows): print(f"\nRow {rowIdx}") for i, dimension_value in enumerate(row.dimension_values): dimension_name = response.dimension_headers[i].dimension_name if dimension_name.endswith("Micros"): # Convert microseconds since Unix Epoch to datetime object. dimension_value_formatted = datetime.utcfromtimestamp( int(dimension_value.value) / 1000000 ) else: dimension_value_formatted = dimension_value.value print(f"{dimension_name}: {dimension_value_formatted}") for i, metric_value in enumerate(row.metric_values): metric_name = response.metric_headers[i].metric_name print(f"{metric_name}: {metric_value.value}")
কোর রিপোর্টের সাথে শেয়ার করা বৈশিষ্ট্য
ডেটা অ্যাক্সেস রিপোর্ট অনুরোধ এবং কোর রিপোর্ট অনুরোধের অনেক সাধারণ বৈশিষ্ট্যের ক্ষেত্রে কার্যপ্রণালী একই। উদাহরণস্বরূপ, পেজিনেশন , ডাইমেনশন ফিল্টার এবং ডেট রেঞ্জ উভয় ধরনের রিপোর্টেই একইভাবে কাজ করে।
Data API v1-এর Core রিপোর্টগুলোর সার্বিক ধারণা নিন, তারপর Data Access রিপোর্টগুলো সম্পর্কে আরও জানতে এই পৃষ্ঠায় ফিরে আসুন।
একটি ডেটা অ্যাক্সেস রিপোর্ট তৈরি করুন
ডেটা অ্যাক্সেস রিপোর্টের অনুরোধ করতে runAccessReport মেথডটি ব্যবহার করুন।
একটি রিপোর্টিং সত্তা নির্বাচন করুন
Data API v1-এর Core রিপোর্টিং কার্যকারিতার মতোই, Google Analytics Admin API v1-এর runAccessReport মেথডটির জন্য একটি URL রিকোয়েস্ট পাথের মধ্যে Google Analytics প্রপার্টি আইডেন্টিফায়ারটিকে properties/GA_PROPERTY_ID আকারে উল্লেখ করতে হয়, যেমন:
POST https://analyticsadmin.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runAccessReport
নির্দিষ্ট গুগল অ্যানালিটিক্স প্রপার্টির ডেটা অ্যাক্সেস রেকর্ডের উপর ভিত্তি করে ফলাফলস্বরূপ ডেটা অ্যাক্সেস রিপোর্টটি তৈরি করা হয়।
আপনি যদি অ্যাডমিন এপিআই ক্লায়েন্ট লাইব্রেরিগুলোর কোনো একটি ব্যবহার করেন, তাহলে রিকোয়েস্ট ইউআরএল পাথ ম্যানুয়ালি পরিবর্তন করার কোনো প্রয়োজন নেই। বেশিরভাগ এপিআই ক্লায়েন্ট একটি property প্যারামিটার প্রদান করে, যা properties/GA_PROPERTY_ID ফর্ম্যাটের একটি স্ট্রিং গ্রহণ করে। ক্লায়েন্ট লাইব্রেরি ব্যবহারের একটি উদাহরণের জন্য এই পৃষ্ঠার শুরুতে থাকা কোড স্নিপেটটি দেখুন।
মাত্রা এবং মেট্রিক নির্বাচন করুন
ডাইমেনশন আপনার প্রপার্টির অ্যাক্সেস ডেটা বর্ণনা ও শ্রেণিবদ্ধ করে। উদাহরণস্বরূপ, userEmail ডাইমেনশনটি সেই ব্যবহারকারীর ইমেল নির্দেশ করে যিনি রিপোর্টিং ডেটা অ্যাক্সেস করেছেন। রিপোর্ট রেসপন্সে ডাইমেনশনের মানগুলো স্ট্রিং হয়ে থাকে।
মেট্রিক হলো একটি রিপোর্টের পরিমাণগত পরিমাপ। accessCount মেট্রিকটি ডেটা অ্যাক্সেস রেকর্ডের মোট সংখ্যা প্রদান করে।
ডেটা অ্যাক্সেস রিপোর্ট অনুরোধে উপলব্ধ ডাইমেনশন এবং মেট্রিক নামগুলির সম্পূর্ণ তালিকার জন্য ডেটা অ্যাক্সেস স্কিমা দেখুন।
প্রতিবেদনটি অনুরোধ করুন
ডেটা অ্যাক্সেস রিপোর্ট অনুরোধ করতে, একটি RunAccessReportRequest অবজেক্ট তৈরি করুন। আমরা এই অনুরোধ প্যারামিটারগুলো দিয়ে শুরু করার পরামর্শ দিই:
- তারিখের পরিসীমা ক্ষেত্রে অন্তত একটি বৈধ এন্ট্রি থাকতে হবে।
- ডাইমেনশন ফিল্ডে অন্তত একটি বৈধ এন্ট্রি থাকতে হবে।
- যদি
epochTimeMicrosডাইমেনশনটি ব্যবহার না করা হয়, তাহলে একটি রিপোর্টে ডাইমেনশন মানগুলির প্রতিটি সংমিশ্রণের জন্য পরিমাণগত ডেটা পেতে metrics ফিল্ডে অন্তত একটি বৈধ এন্ট্রি থাকতে হবে।
এখানে প্রস্তাবিত ফিল্ডসহ একটি নমুনা অনুরোধ দেওয়া হলো। এই কোয়েরিটি ব্যবহারকারীদের ইমেইল, গত ৭ দিনের মধ্যে নির্দিষ্ট প্রপার্টিতে তাদের সর্বশেষ অ্যাক্সেসের সময় এবং সংশ্লিষ্ট অ্যাক্সেস কাউন্টের একটি তালিকা তৈরি করবে।
HTTP
POST https://analyticsadmin.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runAccessReport
{
"dateRanges": [
{
"startDate": "7daysAgo",
"endDate": "today"
}
],
"dimensions": [
{
"dimensionName": "mostRecentAccessEpochTimeMicros"
},
{
"dimensionName": "userEmail"
}
],
"metrics": [
{
"metricName": "accessCount"
}
]
}
প্রতিক্রিয়াটি পড়ুন
ডেটা অ্যাক্সেস রিপোর্টের প্রতিক্রিয়া মূলত একটি হেডার এবং কয়েকটি সারি নিয়ে গঠিত। হেডারে AccessDimensionHeaders এবং AccessMetricHeaders থাকে, যেগুলোতে রিপোর্টের কলামগুলোর তালিকা দেওয়া থাকে।
অ্যাক্সেস রিপোর্টের প্রতিটি সারিতে রিপোর্টের কলামগুলোর জন্য AccessDimensionValues এবং AccessMetricValues থাকে। রিকোয়েস্ট, হেডার এবং প্রতিটি সারিতে কলামগুলোর ক্রম একই থাকে।
পূর্ববর্তী নমুনা অনুরোধের জন্য এখানে একটি নমুনা প্রতিক্রিয়া দেওয়া হল:
{
"dimensionHeaders": [
{
"dimensionName": "mostRecentAccessEpochTimeMicros"
},
{
"dimensionName": "userEmail"
}
],
"metricHeaders": [
{
"metricName": "accessCount"
}
],
"rows": [
{
"dimensionValues": [
{
"value": "1667591408427733"
},
{
"value": "Bola@example.net"
}
],
"metricValues": [
{
"value": "1238"
}
]
},
{
"dimensionValues": [
{
"value": "1667710959827161"
},
{
"value": "Alex@example.net"
}
],
"metricValues": [
{
"value": "475"
}
]
},
{
"dimensionValues": [
{
"value": "1667868650762743"
},
{
"value": "Mahan@example.net"
}
],
"metricValues": [
{
"value": "96"
}
]
}
],
"rowCount": 3
}
অ্যাক্সেস রেকর্ডের উপর ফিল্টার করুন
ফিল্টারের সাথে মেলে এমন নির্দিষ্ট ডাইমেনশন ভ্যালুগুলোর মধ্যে রিপোর্টের প্রতিক্রিয়া সীমাবদ্ধ করতে RunAccessReportRequest অবজেক্টের dimensionFilter ফিল্ডটি ব্যবহার করুন।
নিম্নলিখিত উদাহরণটি Alex@example.net ইমেল ঠিকানার একজন ব্যবহারকারীর অ্যাক্সেস রেকর্ড ফিল্টার করে স্বতন্ত্র ডেটা অ্যাক্সেস রেকর্ডের উপর ভিত্তি করে একটি রিপোর্ট তৈরি করে। রিপোর্টটিতে প্রতিটি অ্যাক্সেস রেকর্ডের সময়, ব্যবহারকারীর ইমেল এবং আইপি ঠিকানা অন্তর্ভুক্ত থাকে।
HTTP
POST https://analyticsadmin.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runAccessReport
{
"dateRanges": [
{
"startDate": "7daysAgo",
"endDate": "today"
}
],
"dimensions": [
{
"dimensionName": "epochTimeMicros"
},
{
"dimensionName": "userEmail"
},
{
"dimensionName": "userIP"
}
],
"dimensionFilter": {
"accessFilter": {
"fieldName": "userEmail",
"stringFilter": {
"matchType": "EXACT",
"value": "Alex@example.net"
}
}
}
}
একইভাবে, RunAccessReportRequest অবজেক্টের metricFilter ফিল্ডটি ব্যবহার করে রিপোর্টের প্রতিক্রিয়াকে ফিল্টারের সাথে মেলে এমন নির্দিষ্ট মেট্রিক মানগুলিতে সীমাবদ্ধ করা যেতে পারে।
নিম্নলিখিত উদাহরণটি এমন একটি প্রতিবেদন তৈরি করে, যেখানে সেই সমস্ত ব্যবহারকারীর ইমেল এবং অ্যাক্সেস সংখ্যা অন্তর্ভুক্ত থাকে, যারা নির্দিষ্ট প্রপার্টিটি ১০০ বারের বেশি অ্যাক্সেস করেছেন।
HTTP
{
"dateRanges": [
{
"startDate": "7daysAgo",
"endDate": "today"
}
],
"dimensions": [
{
"dimensionName": "userEmail"
}
],
"metricFilter": {
"accessFilter": {
"numericFilter": {
"operation": "GREATER_THAN",
"value": {
"int64Value": 100
}
},
"fieldName": "accessCount"
}
},
"metrics": [
{
"metricName": "accessCount"
}
]
}
উদাহরণ প্রতিবেদন
এখানে কয়েকটি নমুনা রিপোর্ট দেওয়া হলো, যা আপনি চেষ্টা করে দেখতে পারেন।
সর্বশেষ অ্যাক্সেস
নিম্নলিখিত নমুনা অ্যাক্সেস রিপোর্টটি runAccessReport ব্যবহার করে তৈরি করা যেতে পারে:
| সর্বশেষ অ্যাক্সেস ইউনিক্স ইপক টাইম মাইক্রোস | ব্যবহারকারীর ইমেল | অ্যাক্সেস সংখ্যা |
|---|---|---|
| ১৫২৫২২০২১৫০২৫৩৭১ | Bola@example.net | ৫ |
| ১৫২৫২২০২১৫০২৮৩৬১ | Alex@example.net | ৩৬ |
| ১৫২৫২২০২১৫০২৭৬৭১ | Charlie@example.net | ১১৫৩ |
| ১৫২৫২২০২১৫০২৭৩৪১ | Mahan@example.net | ১ |
mostRecentAccessEpochTimeMicros , userEmail এবং accessCount মেট্রিক-এর মতো ডাইমেনশনগুলো কোয়েরি করে এই রিপোর্টটি তৈরি করা যায়। রিপোর্টটিতে প্রতিটি ব্যবহারকারীর জন্য একটি করে সারি থাকে: mostRecentAccessEpochTimeMicros ডাইমেনশনটি প্রপার্টি অ্যাক্সেসকারী প্রতিটি ব্যবহারকারীর ডেটা অ্যাক্সেস রেকর্ড একত্রিত করে এবং প্রতিটি সারির জন্য সর্বশেষ অ্যাক্সেসের সময় ( ইপক থেকে ইউনিক্স মাইক্রোসেকেন্ডে ) ফেরত দেয়।
ব্যবহারকারীর অ্যাক্সেস বিভাজন
একটি দরকারি রিপোর্টের আরেকটি উদাহরণ হলো অ্যাক্সেস মেকানিজম (যেমন গুগল অ্যানালিটিক্স ইউজার ইন্টারফেস, এপিআই, ইত্যাদি) অনুযায়ী ব্যবহারকারীর অ্যাক্সেসের বিশদ বিবরণ।
| সর্বশেষ অ্যাক্সেস ইউনিক্স ইপক টাইম মাইক্রোস | ব্যবহারকারীর ইমেল | প্রবেশ প্রক্রিয়া | অ্যাক্সেস সংখ্যা |
|---|---|---|---|
| ১৫২৫২২০২১৫০২৮৩৬৭ | Alex@example.net | ফায়ারবেস | ৩১ |
| ১৫২৫২২০২১৫৫৫৫৭৭৮ | Alex@example.net | গুগল অ্যানালিটিক্স ইউজার ইন্টারফেস | ১ |
| ১৫২৫২২০২১৫০২২৩৭৮ | Bola@example.net | গুগল অ্যানালিটিক্স ইউজার ইন্টারফেস | ৬৫ |
| ১৫২৫২২০২১৫০২৬৩৮৯ | Bola@example.net | গুগল অ্যানালিটিক্স এপিআই | ৮৯৪ |
| ১৫২৫২২০২১৫০২৫৬৩১ | Charlie@example.net | গুগল অ্যানালিটিক্স এপিআই | ৬৭ |
| ১৫২৫২২০২১৫০৬৮৩২৫ | Mahan@example.net | গুগল বিজ্ঞাপন | ৩ |
mostRecentAccessEpochTimeMicros , userEmail , accessMechanism ডাইমেনশন এবং accessCount মেট্রিক কোয়েরি করার মাধ্যমে এই রিপোর্টটি তৈরি করা যায়।
রিপোর্টটিতে প্রতিটি ব্যবহারকারী/অ্যাক্সেস পদ্ধতির সমন্বয়ের জন্য একটি করে সারি রয়েছে। mostRecentAccessEpochTimeMicros ডাইমেনশনটিতে সেই শেষ সময়টি থাকে, যখন কোনো ব্যবহারকারী নির্দিষ্ট অ্যাক্সেস পদ্ধতি ব্যবহার করে প্রপার্টিটি অ্যাক্সেস করেছিলেন।
সম্পত্তিতে প্রবেশের সংক্ষিপ্ত বিবরণ
স্বতন্ত্র ব্যবহারকারীদের তথ্য আলাদাভাবে না দেখিয়েও কোনো একটি প্রপার্টির জন্য রিপোর্ট তৈরি করা সম্ভব। উদাহরণস্বরূপ, নিম্নলিখিত রিপোর্টটিতে বলা হয়েছে যে বিভিন্ন অ্যাক্সেস পদ্ধতি ব্যবহার করে একটি প্রপার্টি কতবার অ্যাক্সেস করা হয়:
| অ্যাক্সেস করা প্রপার্টি আইডি | অ্যাক্সেস করা সম্পত্তির নাম | প্রবেশ প্রক্রিয়া | অ্যাক্সেস সংখ্যা |
|---|---|---|---|
| ১২৩৪৫৬৭৮ | ডেমোঅ্যাপ | ফায়ারবেস | ৩১ |
| ১২৩৪৫৬৭৮ | ডেমোঅ্যাপ | গুগল অ্যানালিটিক্স ইউজার ইন্টারফেস | ৬২৪ |
| ১২৩৪৫৬৭৮ | ডেমোঅ্যাপ | গুগল বিজ্ঞাপন | ৮৩ |
| ১২৩৪৫৬৭৮ | ডেমোঅ্যাপ | গুগল অ্যানালিটিক্স এপিআই | ১৭৪৪ |
accessedPropertyId , accessedPropertyName , accessMechanism ডাইমেনশন এবং accessCount মেট্রিক কোয়েরি করার মাধ্যমে এই রিপোর্টটি তৈরি করা যায়।
রিপোর্টটিতে প্রতিটি প্রপার্টি আইডি/অ্যাক্সেস মেকানিজম কম্বিনেশনের জন্য একটি করে সারি রয়েছে।
ব্যক্তিগত ডেটা অ্যাক্সেস
এমন একটি রিপোর্ট তৈরি করতে যেখানে প্রতিটি সারি একটি স্বতন্ত্র ডেটা অ্যাক্সেস রেকর্ডের উপর ভিত্তি করে তৈরি হবে, কোয়েরি থেকে mostRecentAccessEpochTimeMicros ডাইমেনশনটি বাদ দিন এবং এর পরিবর্তে epochTimeMicros ডাইমেনশনটি ব্যবহার করুন। accessCount মেট্রিকটি কোয়েরি করার প্রয়োজন নেই, কারণ রিপোর্টের প্রতিটি সারিতে একটিমাত্র ডেটা অ্যাক্সেস ঘটনার তথ্য থাকে।
নিম্নলিখিত প্রতিবেদনে কোনো ব্যবহারকারী যতবার নির্দিষ্ট প্রপার্টিটি অ্যাক্সেস করেছেন, তার বিস্তারিত তথ্য রয়েছে।
| ইউনিক্স ইপক টাইম মাইক্রোস | ব্যবহারকারীর ইমেল | অ্যাক্সেস করা প্রপার্টি আইডি | অ্যাক্সেস করা সম্পত্তির নাম | ব্যবহারকারীর আইপি | প্রবেশ প্রক্রিয়া | খরচের তথ্য ফেরত দেওয়া হয়েছে | রাজস্ব তথ্য ফেরত দেওয়া হয়েছে |
|---|---|---|---|---|---|---|---|
| ১৫২৫২২০২১৫০২৫৩৭১ | Bola@example.net | ১২৩৪৫৬৭৮ | ডেমোঅ্যাপ | ১.২.৩.১ | গুগল অ্যানালিটিক্স ইউজার ইন্টারফেস | সত্য | সত্য |
| ১৫২৫২২০৬৪৫৬৪৫৬৪৫ | Mahan@example.net | ১২৩৪৫৬৭৮ | ডেমোঅ্যাপ | ১.২.৩.৫ | গুগল অ্যানালিটিক্স ইউজার ইন্টারফেস | মিথ্যা | মিথ্যা |
| ১৫২৫২২০২১১৩১২৩২২ | Bola@example.net | ১২৩৪৫৬৭৮ | ডেমোঅ্যাপ | ১১.২২.৩৩.১১ | গুগল বিজ্ঞাপন | সত্য | মিথ্যা |
| ১৫২৫২২০২১০২৩৪২২১ | Alex@example.net | ১২৩৪৫৬৭৮ | ডেমোঅ্যাপ | ১১.২২.৩৩.২২ | ফায়ারবেস | মিথ্যা | মিথ্যা |
| ১৫২৫২২০২১৫০২৮৩৬৮ | Alex@example.net | ১২৩৪৫৬৭৮ | ডেমোঅ্যাপ | ১.২.৩.২ | গুগল বিজ্ঞাপন | মিথ্যা | মিথ্যা |
| ১৫২৫২২০২১৪২৩৪২৩১ | Mahan@example.net | ১২৩৪৫৬৭৮ | ডেমোঅ্যাপ | ১১.২২.৩৩.৫৫ | গুগল বিজ্ঞাপন | সত্য | সত্য |
| ১৫২৫২২০৪২৩৪২৩৪৫২ | Charlie@example.net | ১২৩৪৫৬৭৮ | ডেমোঅ্যাপ | ১.২.৩.৩ | গুগল অ্যানালিটিক্স এপিআই | সত্য | মিথ্যা |
| ১৫২৫২২০১৩২৩১২৩৩৩ | Mahan@example.net | ১২৩৪৫৬৭৮ | ডেমোঅ্যাপ | ১.২.৩.৫ | গুগল বিজ্ঞাপন | সত্য | সত্য |
epochTimeMicros , userEmail , accessedPropertyId , accessedPropertyName , userIP , accessMechanism , costDataReturned , revenueDataReturned ডাইমেনশনগুলো কোয়েরি করার মাধ্যমে এই রিপোর্টটি তৈরি করা যায়।