এই নির্দেশিকাটি ব্যাখ্যা করে কিভাবে আপনি Google Analytics পরিমাপ প্রোটোকল ওয়েব এবং অ্যাপ স্ট্রিম ইভেন্টগুলি একটি Google Analytics সার্ভারে পাঠাতে পারেন, যাতে আপনি আপনার Google Analytics রিপোর্টে পরিমাপ প্রোটোকল ইভেন্টগুলি দেখতে পারেন।
এই নির্দেশিকাটিতে আপনি যে প্ল্যাটফর্মটি দেখতে চান তা চয়ন করুন:
অনুরোধ ফরম্যাট করুন
Google Analytics পরিমাপ প্রোটোকল শুধুমাত্র HTTP POST
অনুরোধ সমর্থন করে।
একটি ইভেন্ট পাঠাতে, নিম্নলিখিত বিন্যাস ব্যবহার করুন:
POST /mp/collect HTTP/1.1
HOST: www.google-analytics.com
Content-Type: application/json
PAYLOAD_DATA
অনুরোধ URL-এ আপনাকে অবশ্যই নিম্নলিখিতগুলি প্রদান করতে হবে:
api_secret
: এপিআই সিক্রেট গুগল অ্যানালিটিক্স UI-তে তৈরি হয়।একটি নতুন গোপনীয়তা তৈরি করতে, অ্যাডমিন > ডেটা সংগ্রহ এবং পরিবর্তন > ডেটা স্ট্রীম > আপনার স্ট্রিম চয়ন করুন > পরিমাপ প্রোটোকল API গোপনীয়তা > তৈরি করুন এ নেভিগেট করুন।
measurement_id
: একটি স্ট্রীমের সাথে সম্পর্কিত পরিমাপ আইডি, অ্যাডমিন > ডেটা স্ট্রীম > আপনার স্ট্রীম বেছে নিন > পরিমাপ আইডির অধীনে Google Analytics UI-তে পাওয়া যায়।measurement_id
আপনার স্ট্রিম আইডি নয়।
আপনাকে অবশ্যই পরিমাপ প্রোটোকলের জন্য JSON POST বডি ফরম্যাটে একটি অনুরোধের বডি প্রদান করতে হবে। এখানে একটি উদাহরণ:
{
"client_id": "CLIENT_ID",
"events": [
{
"name": "login",
"params": {
"method": "Google",
"session_id": "SESSION_ID",
"engagement_time_msec": 100
}
}
]
}
যদিও session_start
একটি সংরক্ষিত ইভেন্টের নাম , একটি নতুন session_id
তৈরি করা হলে session_start
পাঠানোর প্রয়োজন ছাড়াই একটি নতুন সেশন তৈরি হয়। সেশনগুলি কীভাবে গণনা করা হয় তা বুঝুন।
চেষ্টা করে দেখুন
এখানে একটি উদাহরণ রয়েছে যা আপনি একবারে একাধিক ইভেন্ট পাঠাতে ব্যবহার করতে পারেন৷ এই উদাহরণটি আপনার Google Analytics সার্ভারে একটি tutorial_begin
ইভেন্ট এবং একটি join_group
ইভেন্ট পাঠায়, user_location
ক্ষেত্র ব্যবহার করে ভৌগলিক তথ্য অন্তর্ভুক্ত করে এবং device
ক্ষেত্র ব্যবহার করে ডিভাইসের তথ্য অন্তর্ভুক্ত করে।
const measurementId = "MEASUREMENT_ID";
const apiSecret = "API_SECRET";
fetch(`https://www.google-analytics.com/mp/collect?measurement_id=${measurementId}&api_secret=${apiSecret}`, {
method: "POST",
body: JSON.stringify({
client_id: "CLIENT_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"
}
})
});
টাইমস্ট্যাম্প ওভাররাইড করুন
পরিমাপ প্রোটোকল অনুরোধে প্রতিটি ইভেন্ট এবং ব্যবহারকারীর সম্পত্তির জন্য নিম্নলিখিত তালিকায় পাওয়া প্রথম টাইমস্ট্যাম্প ব্যবহার করে:
- ইভেন্ট বা ব্যবহারকারীর সম্পত্তির
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"
}
}
}
অতীতের ঘটনা এবং ব্যবহারকারীর বৈশিষ্ট্যের জন্য বৈধতা আচরণ
ইভেন্ট এবং ব্যবহারকারী বৈশিষ্ট্য 72 ঘন্টা পর্যন্ত ব্যাকডেট করা যেতে পারে. যদি timestamp_micros
মান 72 ঘন্টা আগের হয়, তাহলে পরিমাপ প্রোটোকল ইভেন্ট বা ব্যবহারকারীর সম্পত্তি নিম্নরূপ গ্রহণ বা প্রত্যাখ্যান করে:
- যদি
validation_behavior
সেট করা না থাকে বাRELAXED
তে সেট করা থাকে, তাহলে পরিমাপ প্রোটোকল ইভেন্ট বা ব্যবহারকারীর সম্পত্তি গ্রহণ করে কিন্তু 72 ঘন্টা আগে এর টাইমস্ট্যাম্প ওভাররাইড করে। - যদি
validation_behavior
ENFORCE_RECOMMENDATIONS
এ সেট করা থাকে, তাহলে পরিমাপ প্রোটোকল ইভেন্ট বা ব্যবহারকারীর সম্পত্তি প্রত্যাখ্যান করে।
সীমাবদ্ধতা
Google Analytics-এ পরিমাপ প্রোটোকল ইভেন্ট পাঠানোর ক্ষেত্রে নিম্নলিখিত সীমাবদ্ধতাগুলি প্রযোজ্য:
- অনুরোধে সর্বাধিক 25টি ইভেন্ট থাকতে পারে।
- ইভেন্টে সর্বাধিক 25টি প্যারামিটার থাকতে পারে।
- ইভেন্টে সর্বাধিক 25টি ব্যবহারকারীর বৈশিষ্ট্য থাকতে পারে।
- ব্যবহারকারীর সম্পত্তির নাম অবশ্যই 24 অক্ষর বা তার কম হতে হবে।
- ব্যবহারকারীর সম্পত্তির মান অবশ্যই 36 অক্ষর বা তার কম হতে হবে।
- ইভেন্টের নাম অবশ্যই 40 অক্ষর বা তার কম হতে হবে, শুধুমাত্র বর্ণসংখ্যার অক্ষর এবং আন্ডারস্কোর থাকতে পারে এবং একটি বর্ণানুক্রমিক অক্ষর দিয়ে শুরু করতে হবে।
- আইটেম প্যারামিটার সহ প্যারামিটারের নামগুলি অবশ্যই 40 অক্ষর বা তার কম হতে হবে, শুধুমাত্র বর্ণসংখ্যার অক্ষর এবং আন্ডারস্কোর থাকতে পারে এবং একটি বর্ণানুক্রমিক অক্ষর দিয়ে শুরু করতে হবে।
- আইটেম প্যারামিটার মান সহ প্যারামিটার মান একটি আদর্শ Google Analytics প্রপার্টির জন্য 100 অক্ষর বা তার কম এবং একটি Google Analytics 360 প্রপার্টির জন্য 500 বা তার কম অক্ষর হতে হবে।
- আইটেম প্যারামিটারে সর্বাধিক 10টি কাস্টম প্যারামিটার থাকতে পারে।
- পোস্ট বডি অবশ্যই 130kB এর থেকে ছোট হতে হবে।
- টাইমস্ট্যাম্প অবশ্যই শেষ 72 ঘন্টার মধ্যে হতে হবে। বিশদ বিবরণের জন্য অতীতের ঘটনাগুলির জন্য বৈধতা আচরণ দেখুন।
- Google Analytics-এ পাঠানো অ্যাপ মেজারমেন্ট প্রোটোকল ইভেন্ট অ্যাপ ব্যবহারকারীদের জন্য Google বিজ্ঞাপনে সার্চ অডিয়েন্স তৈরি করে না।
প্রতিটি ব্যবহারের ক্ষেত্রে অতিরিক্ত প্রয়োজনীয়তার জন্য, সাধারণ ব্যবহারের ক্ষেত্রে দেখুন।