এই নির্দেশিকাটি ব্যাখ্যা করে যে কীভাবে আপনি Google Analytics Measurement Protocol ওয়েব এবং অ্যাপ স্ট্রিম ইভেন্টগুলিকে Google Analytics সার্ভারে পাঠাতে পারেন, যাতে আপনি আপনার Google Analytics রিপোর্টে Measurement Protocol ইভেন্টগুলি দেখতে পারেন।
এই নির্দেশিকাটিতে আপনি যে প্ল্যাটফর্মটি দেখতে চান তা বেছে নিন:
অনুরোধটি ফর্ম্যাট করুন
গুগল অ্যানালিটিক্স মেজারমেন্ট প্রোটোকল শুধুমাত্র HTTP POST অনুরোধ সমর্থন করে।
একটি ইভেন্ট পাঠাতে, নিম্নলিখিত ফর্ম্যাটটি ব্যবহার করুন:
POST /mp/collect HTTP/1.1
HOST: www.google-analytics.com
Content-Type: application/json
PAYLOAD_DATA
অনুরোধের URL-এ আপনাকে নিম্নলিখিত তথ্যগুলি অবশ্যই দিতে হবে:
api_secret: গুগল অ্যানালিটিক্স UI-তে তৈরি API SECRET ।একটি নতুন গোপনীয়তা তৈরি করতে, অ্যাডমিন > ডেটা সংগ্রহ এবং পরিবর্তন > ডেটা স্ট্রিম > আপনার স্ট্রিম নির্বাচন করুন > পরিমাপ প্রোটোকল API গোপনীয়তা > তৈরি করুন -এ নেভিগেট করুন।
firebase_app_id: Firebase অ্যাপ আইডি, যা Firebase কনসোলে Project Settings > General > Your Apps > App ID এর অধীনে পাওয়া যায়।firebase_app_idএবংapp_instance_idএক নয়।firebase_app_idআপনার অ্যাপটিকে শনাক্ত করে, যেখানেapp_instance_idঅ্যাপটির একটি মাত্র ইনস্টলেশনকে শনাক্ত করে।
পরিমাপ প্রোটোকলের জন্য আপনাকে অবশ্যই JSON POST বডি ফর্ম্যাটে একটি অনুরোধের বডি প্রদান করতে হবে। এখানে একটি উদাহরণ দেওয়া হল:
{
"app_instance_id": "APP_INSTANCE_ID",
"events": [
{
"name": "login",
"params": {
"method": "Google",
"session_id": "SESSION_ID",
"engagement_time_msec": 100
}
}
]
}
session_start একটি সংরক্ষিত ইভেন্টের নাম হলেও, একটি নতুন session_id তৈরি করলে session_start পাঠানোর প্রয়োজন ছাড়াই একটি নতুন session তৈরি হয়। সেশনগুলি কীভাবে গণনা করা হয় তা বুঝুন।
চেষ্টা করে দেখুন
এখানে একটি উদাহরণ দেওয়া হল যা ব্যবহার করে আপনি একসাথে একাধিক ইভেন্ট পাঠাতে পারেন। এই উদাহরণটি আপনার Google Analytics সার্ভারে একটি tutorial_begin ইভেন্ট এবং একটি join_group ইভেন্ট পাঠায়, user_location ফিল্ড ব্যবহার করে ভৌগোলিক তথ্য অন্তর্ভুক্ত করে এবং device ফিল্ড ব্যবহার করে ডিভাইসের তথ্য অন্তর্ভুক্ত করে।
const firebaseAppId = "FIREBASE_APP_ID";
const apiSecret = "API_SECRET";
fetch(`https://www.google-analytics.com/mp/collect?firebase_app_id=${firebaseAppId}&api_secret=${apiSecret}`, {
method: "POST",
body: JSON.stringify({
app_instance_id: "APP_INSTANCE_ID",
events: [
{
name: "tutorial_begin",
params: {
"session_id": "SESSION_ID",
"engagement_time_msec": 100
}
},
{
name: "join_group",
params: {
"group_id": "G_12345",
"session_id": "SESSION_ID",
"engagement_time_msec": 150
}
}
],
user_location: {
city: "Mountain View",
region_id: "US-CA",
country_id: "US",
subcontinent_id: "021",
continent_id: "019"
},
device: {
category: "mobile",
language: "en",
screen_resolution: "1280x2856",
operating_system: "Android",
operating_system_version: "14",
model: "Pixel 9 Pro",
brand: "Google",
browser: "Chrome",
browser_version: "136.0.7103.60"
}
})
});
firebase_app_id এর ফর্ম্যাটটি প্ল্যাটফর্ম-ভিত্তিক। Firebase কনফিগারেশন ফাইল এবং অবজেক্টের অধীনে অ্যাপ্লিকেশন আইডি দেখুন।
টাইমস্ট্যাম্প ওভাররাইড করুন
পরিমাপ প্রোটোকল অনুরোধের প্রতিটি ইভেন্ট এবং ব্যবহারকারীর সম্পত্তির জন্য নিম্নলিখিত তালিকায় পাওয়া প্রথম টাইমস্ট্যাম্পটি ব্যবহার করে:
- ইভেন্ট বা ব্যবহারকারীর সম্পত্তির
timestamp_micros। - অনুরোধের
timestamp_micros। - পরিমাপ প্রোটোকল অনুরোধ গ্রহণের সময়।
নিম্নলিখিত উদাহরণটি একটি অনুরোধ-স্তরের টাইমস্ট্যাম্প পাঠায় যা অনুরোধের সমস্ত ইভেন্ট এবং ব্যবহারকারীর বৈশিষ্ট্যের জন্য প্রযোজ্য। ফলস্বরূপ, পরিমাপ প্রোটোকল tutorial_begin এবং join_group ইভেন্ট এবং customer_tier ব্যবহারকারী বৈশিষ্ট্যের জন্য requestUnixEpochTimeInMicros এর একটি টাইমস্ট্যাম্প বরাদ্দ করে।
{
"timestamp_micros": requestUnixEpochTimeInMicros,
"events": [
{
"name": "tutorial_begin"
},
{
"name": "join_group",
"params": {
"group_id": "G_12345",
}
}
],
"user_properties": {
"customer_tier": {
"value": "PREMIUM"
}
}
}
নিম্নলিখিত উদাহরণটি একটি অনুরোধ-স্তরের টাইমস্ট্যাম্প, একটি ইভেন্ট-স্তরের টাইমস্ট্যাম্প এবং একটি ব্যবহারকারীর সম্পত্তি-স্তরের টাইমস্ট্যাম্প পাঠায়। ফলস্বরূপ, পরিমাপ প্রোটোকল নিম্নলিখিত টাইমস্ট্যাম্পগুলি বরাদ্দ করে:
-
tutorial_beginইভেন্টের জন্যtutorialBeginUnixEpochTimeInMicros -
customer_tierব্যবহারকারী সম্পত্তির জন্যcustomerTierUnixEpochTimeInMicros -
join_groupইভেন্ট এবংnewsletter_readerব্যবহারকারী সম্পত্তির জন্যrequestUnixEpochTimeInMicros।
{
"timestamp_micros": requestUnixEpochTimeInMicros,
"events": [
{
"name": "tutorial_begin",
"timestamp_micros": tutorialBeginUnixEpochTimeInMicros
},
{
"name": "join_group",
"params": {
"group_id": "G_12345",
}
}
],
"user_properties": {
"customer_tier": {
"value": "PREMIUM",
"timestamp_micros": customerTierUnixEpochTimeInMicros
},
"newsletter_reader": {
"value": "true"
}
}
}
অতীতের ইভেন্ট এবং ব্যবহারকারীর বৈশিষ্ট্যের জন্য বৈধতা আচরণ
ইভেন্ট এবং ব্যবহারকারীর বৈশিষ্ট্য ৭২ ঘন্টা পর্যন্ত ব্যাকডেট করা যেতে পারে। যদি timestamp_micros মান ৭২ ঘন্টা আগের হয়, তাহলে পরিমাপ প্রোটোকল নিম্নলিখিতভাবে ইভেন্ট বা ব্যবহারকারীর বৈশিষ্ট্য গ্রহণ বা প্রত্যাখ্যান করে:
- যদি
validation_behaviorসেট না করা থাকে অথবাRELAXEDতে সেট করা থাকে, তাহলে পরিমাপ প্রোটোকল ইভেন্ট বা ব্যবহারকারীর সম্পত্তি গ্রহণ করে কিন্তু এর টাইমস্ট্যাম্পকে 72 ঘন্টা আগে ওভাররাইড করে। - যদি
validation_behaviorENFORCE_RECOMMENDATIONSতে সেট করা থাকে, তাহলে পরিমাপ প্রোটোকল ইভেন্ট বা ব্যবহারকারীর সম্পত্তি প্রত্যাখ্যান করে।
সীমাবদ্ধতা
Google Analytics-এ পরিমাপ প্রোটোকল ইভেন্ট পাঠানোর ক্ষেত্রে নিম্নলিখিত সীমাবদ্ধতাগুলি প্রযোজ্য:
- অনুরোধে সর্বাধিক ২৫টি ইভেন্ট থাকতে পারে।
- ইভেন্টগুলিতে সর্বাধিক ২৫টি প্যারামিটার থাকতে পারে।
- ইভেন্টে সর্বাধিক ২৫টি ব্যবহারকারীর বৈশিষ্ট্য থাকতে পারে।
- ব্যবহারকারীর সম্পত্তির নাম অবশ্যই ২৪ অক্ষর বা তার কম হতে হবে।
- ব্যবহারকারীর সম্পত্তির মান অবশ্যই ৩৬ অক্ষর বা তার কম হতে হবে।
- ইভেন্টের নামগুলি অবশ্যই ৪০টি অক্ষর বা তার কম হতে হবে, শুধুমাত্র বর্ণসাংখ্যিক অক্ষর এবং আন্ডারস্কোর থাকতে পারে এবং একটি বর্ণানুক্রমিক অক্ষর দিয়ে শুরু হতে হবে।
- আইটেম প্যারামিটার সহ প্যারামিটারের নামগুলি অবশ্যই 40 অক্ষর বা তার কম হতে হবে, শুধুমাত্র বর্ণসাংখ্যিক অক্ষর এবং আন্ডারস্কোর থাকতে পারে এবং একটি বর্ণানুক্রমিক অক্ষর দিয়ে শুরু হতে হবে।
একটি স্ট্যান্ডার্ড Google Analytics প্রপার্টির জন্য আইটেম প্যারামিটার মান সহ প্যারামিটার মান ১০০ অক্ষর বা তার কম হতে হবে এবং একটি Google Analytics 360 প্রপার্টির জন্য ৫০০ অক্ষর বা তার কম হতে হবে।
এই সীমা
session_idএবংsession_numberপ্যারামিটারের ক্ষেত্রে প্রযোজ্য নয় যখন তাদের মানগুলি Google Tag Manager-এ সংশ্লিষ্ট Analytics Session ID এবং Analytics Session Number বিল্ট-ইন ভেরিয়েবল দ্বারা সরবরাহ করা হয়।আইটেম প্যারামিটারে সর্বাধিক ১০টি কাস্টম প্যারামিটার থাকতে পারে।
পোস্টের বডি অবশ্যই ১৩০kB এর চেয়ে ছোট হতে হবে।
টাইমস্ট্যাম্পটি অবশ্যই গত ৭২ ঘন্টার মধ্যে হতে হবে। বিস্তারিত জানার জন্য অতীতের ইভেন্টগুলির জন্য বৈধতা আচরণ দেখুন।
গুগল অ্যানালিটিক্সে পাঠানো অ্যাপ পরিমাপ প্রোটোকল ইভেন্টগুলি অ্যাপ ব্যবহারকারীদের জন্য গুগল বিজ্ঞাপনে অনুসন্ধান দর্শকদের পূরণ করে না।
প্রতিটি ব্যবহারের ক্ষেত্রে অতিরিক্ত প্রয়োজনীয়তার জন্য, সাধারণ ব্যবহারের ক্ষেত্রে দেখুন।