Google Analytics অ্যাডমিন API v1 আপনাকে runAccessReport
পদ্ধতি ব্যবহার করে ডেটা অ্যাক্সেস রিপোর্ট করতে দেয়। প্রতিবেদনটি প্রতিটি ব্যবহারকারীর Google Analytics রিপোর্টিং ডেটা পড়ার রেকর্ড সরবরাহ করে। অ্যাক্সেস রেকর্ড 2 বছর পর্যন্ত ধরে রাখা হয়। ডেটা অ্যাক্সেস রিপোর্ট শুধুমাত্র প্রশাসকের ভূমিকা সহ ব্যবহারকারীদের জন্য উপলব্ধ।
একটি ডেটা অ্যাক্সেস রিপোর্ট তৈরি করা
ডেটা অ্যাক্সেস রিপোর্টিং runAccessReport পদ্ধতি দ্বারা প্রদান করা হয়।
মূল প্রতিবেদনের সাথে ভাগ করা বৈশিষ্ট্য
অনেক শেয়ার করা বৈশিষ্ট্যের জন্য ডেটা অ্যাক্সেস রিপোর্ট অনুরোধের মূল রিপোর্ট অনুরোধের সাথে একই শব্দার্থ আছে। উদাহরণ স্বরূপ পেজিনেশন , ডাইমেনশন ফিল্টার , ডেট রেঞ্জ স্পেসিফিকেশন ডাটা এক্সেস রিপোর্টে মূল রিপোর্ট হিসাবে একই আচরণ করে।
ডেটা এপিআই v1 এর মূল রিপোর্টিং কার্যকারিতার ওভারভিউয়ের সাথে নিজেকে পরিচিত করুন, কারণ এই নথির অবশিষ্টাংশ ডেটা অ্যাক্সেস রিপোর্ট অনুরোধের জন্য নির্দিষ্ট বৈশিষ্ট্যগুলিতে ফোকাস করবে৷
একটি রিপোর্টিং সত্তা নির্বাচন করা
ডেটা API v1-এর মূল রিপোর্টিং কার্যকারিতার মতো, Google Analytics অ্যাডমিন API v1-এর runAccessReport পদ্ধতির জন্য Google Analytics প্রপার্টি আইডেন্টিফায়ারকে properties/GA_PROPERTY_ID
আকারে URL রিকোয়েস্ট পাথের মধ্যে নির্দিষ্ট করতে হবে, যেমন:
POST https://analyticsadmin.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runAccessReport
নির্দিষ্ট Google Analytics সম্পত্তির জন্য Google Analytics ডেটা অ্যাক্সেস রেকর্ডের উপর ভিত্তি করে ফলাফল ডেটা অ্যাক্সেস রিপোর্ট তৈরি করা হবে।
আপনি যদি অ্যাডমিন API ক্লায়েন্ট লাইব্রেরিগুলির একটি ব্যবহার করেন, তাহলে অনুরোধ URL পাথটি ম্যানুয়ালি ম্যানিপুলেট করার দরকার নেই৷ বেশিরভাগ API ক্লায়েন্ট একটি property
প্যারামিটার প্রদান করে যা properties/GA_PROPERTY_ID
আকারে একটি স্ট্রিং আশা করে। ক্লায়েন্ট লাইব্রেরি ব্যবহার করার উদাহরণের জন্য এই গাইডের শেষে কোড স্নিপেট দেখুন।
মাত্রা এবং মেট্রিক্স
মাত্রা বর্ণনা করে এবং আপনার সম্পত্তির জন্য অ্যাক্সেস ডেটা গ্রুপ করে। উদাহরণস্বরূপ, ডাইমেনশন userEmail
সেই ব্যবহারকারীর ইমেল নির্দেশ করে যে রিপোর্টিং ডেটা অ্যাক্সেস করেছে। রিপোর্ট প্রতিক্রিয়ায় মাত্রা মান হল স্ট্রিং।
মেট্রিক্স একটি রিপোর্টের পরিমাণগত পরিমাপের প্রতিনিধিত্ব করে। accessCount
মেট্রিক ডেটা অ্যাক্সেস রেকর্ডের মোট সংখ্যা প্রদান করে।
ডেটা অ্যাক্সেস রিপোর্ট অনুরোধে উপলব্ধ মাত্রা এবং মেট্রিক নামের সম্পূর্ণ তালিকার জন্য ডেটা অ্যাক্সেস স্কিমা দেখুন।
ডেটা অ্যাক্সেস রিপোর্ট অনুরোধ
ডেটা অ্যাক্সেস রিপোর্টের অনুরোধ করতে, একটি RunAccessReportRequest অবজেক্ট তৈরি করুন। আমরা এই অনুরোধের পরামিতিগুলি দিয়ে শুরু করার পরামর্শ দিই:
- তারিখ রেঞ্জ ক্ষেত্রে অন্তত একটি বৈধ এন্ট্রি।
- মাত্রা ক্ষেত্রে অন্তত একটি বৈধ এন্ট্রি।
-
epochTimeMicros
মাত্রা ব্যবহার না করলে, একটি রিপোর্টে প্রতিটি মাত্রার মানগুলির সংমিশ্রণের জন্য পরিমাণগত ডেটা পেতে মেট্রিক্স ক্ষেত্রে অন্তত একটি বৈধ এন্ট্রি।
এখানে প্রস্তাবিত ক্ষেত্রগুলির সাথে একটি নমুনা অনুরোধ রয়েছে৷ এই ক্যোয়ারীটি ব্যবহারকারীর ইমেলগুলির একটি তালিকা তৈরি করবে, গত 7 দিনের পরিসরে তারা সবচেয়ে সাম্প্রতিক সময়ে নির্দিষ্ট সম্পত্তি অ্যাক্সেস করেছে এবং সংশ্লিষ্ট অ্যাক্সেসের সংখ্যা।
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"
}
]
}
রিপোর্ট প্রতিক্রিয়া
ধারণাগতভাবে ডেটা API v1-এর মূল রিপোর্টিং কার্যকারিতার অনুরূপ, অ্যাক্সেস রিপোর্ট অনুরোধের ডেটা অ্যাক্সেস রিপোর্ট প্রতিক্রিয়া প্রাথমিকভাবে একটি শিরোনাম এবং সারি। হেডারে 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 অবজেক্টের ডাইমেনশন ফিল্টার ক্ষেত্র ব্যবহার করুন।
নিম্নলিখিত উদাহরণটি পৃথক ডেটা অ্যাক্সেস রেকর্ডের উপর ভিত্তি করে একটি প্রতিবেদন তৈরি করে, ইমেল 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
ক্ষেত্রটি ফিল্টারের সাথে মেলে এমন নির্দিষ্ট মেট্রিক মানগুলিতে রিপোর্ট প্রতিক্রিয়া সীমাবদ্ধ করতে ব্যবহার করা যেতে পারে।
নিম্নলিখিত উদাহরণটি ইমেল এবং সমস্ত ব্যবহারকারীর অ্যাক্সেসের সংখ্যা সম্বলিত একটি প্রতিবেদন তৈরি করে, যারা নির্দিষ্ট সম্পত্তি 100 বারের বেশি অ্যাক্সেস করেছে।
HTTP
{
"dateRanges": [
{
"startDate": "7daysAgo",
"endDate": "today"
}
],
"dimensions": [
{
"dimensionName": "userEmail"
}
],
"metricFilter": {
"accessFilter": {
"numericFilter": {
"operation": "GREATER_THAN",
"value": {
"int64Value": 100
}
},
"fieldName": "accessCount"
}
},
"metrics": [
{
"metricName": "accessCount"
}
]
}
উদাহরণ রিপোর্ট
এখানে কিছু নমুনা প্রতিবেদন রয়েছে যা আপনি চেষ্টা করতে পারেন।
প্রতি ব্যবহারকারীর রিপোর্টে সবচেয়ে সাম্প্রতিক অ্যাক্সেস
নিম্নলিখিত নমুনা অ্যাক্সেস রিপোর্ট যা runAccessReport
ব্যবহার করে তৈরি করা যেতে পারে:
অতি সাম্প্রতিক অ্যাক্সেস ইপোচ টাইম মাইক্রোস | ব্যবহারকারীর ইমেইল | অ্যাক্সেস গণনা |
---|---|---|
1525220215025371 | Bola@example.net | 5 |
1525220215028361 | Alex@example.net | 36 |
1525220215027671 | Charlie@example.net | 1153 |
1525220215027341 | Mahan@example.net | 1 |
mostRecentAccessEpochTimeMicros
, userEmail
এবং accessCount
মেট্রিকের মাত্রাগুলি অনুসন্ধান করে এই প্রতিবেদনটি তৈরি করা যেতে পারে। রিপোর্টে প্রতি ব্যবহারকারীর জন্য একটি সারি রয়েছে: mostRecentAccessEpochTimeMicros
মাত্রা প্রতিটি ব্যবহারকারীর সম্পত্তি অ্যাক্সেস করার জন্য ডেটা অ্যাক্সেস রেকর্ড একত্রিত করে এবং প্রতিটি সারির জন্য শেষ অ্যাক্সেসের সময় ( যুগ থেকে ইউনিক্স মাইক্রোসেকেন্ডে ) প্রদান করে।
ব্যবহারকারীর অ্যাক্সেস ব্রেকডাউন রিপোর্ট
একটি দরকারী প্রতিবেদনের আরেকটি উদাহরণ হল অ্যাক্সেস মেকানিজম (যেমন গুগল অ্যানালিটিক্স ইউজার ইন্টারফেস, API, ইত্যাদি) দ্বারা ব্যবহারকারীর অ্যাক্সেসের ভাঙ্গন।
অতি সাম্প্রতিক অ্যাক্সেস ইপোচ টাইম মাইক্রোস | ব্যবহারকারীর ইমেইল | অ্যাক্সেস মেকানিজম | অ্যাক্সেস গণনা |
---|---|---|---|
1525220215028367 | Alex@example.net | ফায়ারবেস | 31 |
1525220215555778 | Alex@example.net | গুগল অ্যানালিটিক্স ইউজার ইন্টারফেস | 1 |
1525220215022378 | Bola@example.net | গুগল অ্যানালিটিক্স ইউজার ইন্টারফেস | 65 |
1525220215026389 | Bola@example.net | Google Analytics API | 894 |
1525220215025631 | Charlie@example.net | Google Analytics API | 67 |
1525220215068325 | Mahan@example.net | গুগল বিজ্ঞাপন | 3 |
মোস্ট mostRecentAccessEpochTimeMicros
, userEmail
, accessMechanism
, এবং accessCount
মেট্রিক নিয়ে অনুসন্ধানের মাধ্যমে এই প্রতিবেদনটি তৈরি করা যেতে পারে।
প্রতিবেদনটিতে প্রতিটি ব্যবহারকারী/অ্যাক্সেস মেকানিজম সমন্বয়ে একটি সারি রয়েছে। mostRecentAccessEpochTimeMicros
ডাইমেনশনে কোনো ব্যবহারকারী শেষবার নির্দিষ্ট অ্যাক্সেস মেকানিজম ব্যবহার করে প্রপার্টি অ্যাক্সেস করেছে।
সম্পত্তি অ্যাক্সেস ওভারভিউ রিপোর্ট
পৃথক ব্যবহারকারীদের উপর ভাঙ্গন ছাড়াই একটি সম্পত্তির জন্য একটি প্রতিবেদন তৈরি করা সম্ভব। উদাহরণ স্বরূপ, নিম্নলিখিত প্রতিবেদনে বলা হয়েছে যে বিভিন্ন অ্যাক্সেস মেকানিজম ব্যবহার করে কত ঘন ঘন একটি সম্পত্তি অ্যাক্সেস করা হয়:
অ্যাক্সেস করা সম্পত্তি আইডি | অ্যাক্সেস করা সম্পত্তির নাম | অ্যাক্সেস মেকানিজম | অ্যাক্সেস গণনা |
---|---|---|---|
12345678 | ডেমোঅ্যাপ | ফায়ারবেস | 31 |
12345678 | ডেমোঅ্যাপ | গুগল অ্যানালিটিক্স ইউজার ইন্টারফেস | 624 |
12345678 | ডেমোঅ্যাপ | গুগল বিজ্ঞাপন | 83 |
12345678 | ডেমোঅ্যাপ | Google Analytics API | 1744 |
এই রিপোর্টটি এক্সেসডপ্রপার্টিআইডি , accessedPropertyName
, accessMechanism
এবং accessCount
মেট্রিক অনুসন্ধান করে তৈরি করা যেতে পারে accessedPropertyId
রিপোর্টে প্রতিটি প্রপার্টি আইডি/অ্যাক্সেস মেকানিজম কম্বিনেশনের জন্য একটি সারি রয়েছে।
ব্যক্তিগত ডেটা অ্যাক্সেস রিপোর্ট
একটি প্রতিবেদন তৈরি করতে যেখানে প্রতিটি সারি একটি পৃথক ডেটা অ্যাক্সেস রেকর্ডের উপর ভিত্তি করে, একটি ক্যোয়ারী থেকে mostRecentAccessEpochTimeMicros
মাত্রা বাদ দিন এবং পরিবর্তে epochTimeMicros
মাত্রা ব্যবহার করুন৷ accessCount
মেট্রিকটি জিজ্ঞাসা করার প্রয়োজন নেই, যেহেতু রিপোর্টের প্রতিটি সারিতে একটি একক ডেটা অ্যাক্সেস ঘটনার তথ্য রয়েছে।
নিম্নলিখিত প্রতিবেদনে প্রতিটি ব্যবহারকারী নির্দিষ্ট সম্পত্তি অ্যাক্সেস করার বিষয়ে বিস্তারিত তথ্য রয়েছে।
ইউনিক্স এপোচ টাইম মাইক্রোস | ব্যবহারকারীর ইমেইল | অ্যাক্সেস করা সম্পত্তি আইডি | অ্যাক্সেস করা সম্পত্তির নাম | ব্যবহারকারীর আইপি | অ্যাক্সেস মেকানিজম | খরচ তথ্য ফেরত | রাজস্ব তথ্য ফেরত |
---|---|---|---|---|---|---|---|
1525220215025371 | Bola@example.net | 12345678 | ডেমোঅ্যাপ | 1.2.3.1 | গুগল অ্যানালিটিক্স ইউজার ইন্টারফেস | সত্য | সত্য |
1525220645645645 | Mahan@example.net | 12345678 | ডেমোঅ্যাপ | 1.2.3.5 | গুগল অ্যানালিটিক্স ইউজার ইন্টারফেস | মিথ্যা | মিথ্যা |
1525220211312322 | Bola@example.net | 12345678 | ডেমোঅ্যাপ | 11.22.33.11 | গুগল বিজ্ঞাপন | সত্য | মিথ্যা |
1525220210234221 | Alex@example.net | 12345678 | ডেমোঅ্যাপ | 11.22.33.22 | ফায়ারবেস | মিথ্যা | মিথ্যা |
1525220215028368 | Alex@example.net | 12345678 | ডেমোঅ্যাপ | 1.2.3.2 | গুগল বিজ্ঞাপন | মিথ্যা | মিথ্যা |
1525220214234231 | Mahan@example.net | 12345678 | ডেমোঅ্যাপ | 11.22.33.55 | গুগল বিজ্ঞাপন | সত্য | সত্য |
1525220423423452 | Charlie@example.net | 12345678 | ডেমোঅ্যাপ | 1.2.3.3 | Google Analytics API | সত্য | মিথ্যা |
1525220132312333 | Mahan@example.net | 12345678 | ডেমোঅ্যাপ | 1.2.3.5 | গুগল বিজ্ঞাপন | সত্য | সত্য |
এই প্রতিবেদনটি epochTimeMicros
, userEmail
, accessedPropertyId
, accessedPropertyName
, userIP
, accessMechanism
, costDataReturned
, revenueDataReturned
এ অনুসন্ধান করে তৈরি করা যেতে পারে।
ক্লায়েন্ট লাইব্রেরি
কিভাবে ক্লায়েন্ট লাইব্রেরি ইনস্টল এবং কনফিগার করতে হয় তার ব্যাখ্যার জন্য দ্রুত শুরু নির্দেশিকা দেখুন।
এখানে পাইথন ক্লায়েন্ট লাইব্রেরি ব্যবহার করে একটি উদাহরণ রয়েছে যা একটি ডেটা অ্যাক্সেস ক্যোয়ারী চালায় এবং প্রতিক্রিয়া প্রিন্ট করে।
পাইথন
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}")