পরিমাপের প্রোটোকল রেফারেন্স

এই পৃষ্ঠায়, মেজারমেন্ট প্রোটোকলের ট্রান্সপোর্ট মেকানিজম ও ডেটা প্যারামিটার বর্ণনা করা হয়েছে।

পরিবহন

HTTPS POST অনুরোধ ব্যবহার করে সব ডেটা নিরাপদে পাঠাতে হবে।

নিম্নলিখিত এন্ডপয়েন্টে অনুরোধ পাঠান:

https://www.google-analytics.com/mp/collect

আপনি যদি চান যে আপনার ডেটা EU-তে সংগ্রহ করা হোক, তাহলে এর পরিবর্তে নিম্নলিখিত এন্ডপয়েন্ট ব্যবহার করুন:

https://region1.google-analytics.com/mp/collect

এখানে POST অনুরোধের নমুনা দেওয়া হল:

POST /mp/collect HTTP/1.1
HOST: www.google-analytics.com
Content-Type: application/json
PAYLOAD_DATA

অনুরোধের পে-লোড দিয়ে PAYLOAD_DATA-কে পাল্টে দিন।

HTTP অনুরোধ পেলে, Measurement Protocol একটি 2xx স্ট্যাটাস কোড রিটার্ন করে। পে-লোড ভুল ফর্ম্যাটে থাকলে অথবা ডেটা ভুল হলে বা Google Analytics-এর মাধ্যমে প্রসেস করা না হলে, Measurement Protocol কোনও সমস্যা কোড রিটার্ন করে না।

পেলোড

পে লোডের দুটি অংশ আছে:

  1. কোয়েরি প্যারামিটার।
  2. JSON POST বডি।

কোয়েরি প্যারামিটার

প্যারামিটারের নাম বিবরণ

api_secret

প্রয়োজনীয়। Google Analytics UI থেকে API সিক্রেট।

অ্যাডমিন > ডেটা স্ট্রিম > আপনার স্ট্রিম বেছে নিন > পরিমাপ প্রোটোকল > তৈরি করুন বিকল্পের মধ্যে পাওয়া যায়।

আপনার প্রতিষ্ঠানের জন্য ব্যক্তিগত। অতিরিক্ত স্প্যাম এড়াতে নিয়মিত আপডেট করতে হবে।

firebase_app_id

প্রয়োজনীয়। Firebase অ্যাপ আইডি। Firebase অ্যাপের শনাক্তকারী।

প্রোজেক্ট সেটিংস > সাধারণ > আপনার অ্যাপ > অ্যাপ আইডি বিকল্পের মধ্যে Firebase কনসোলে পাওয়া যায়।

JSON POST বডি

JSON POST বডির সাইজ ১৩০ কেবির কম হতে হবে।

কী ধরন বিবরণ

app_instance_id

string প্রয়োজনীয়। Firebase অ্যাপের নির্দিষ্ট ইনস্টলেশনের জন্য অনন্য শনাক্তকারী।

ওয়েব client_id-এর মতো নয়।

Firebase SDK ব্যবহার করে অবশ্যই রিট্রিভ করতে হবে:

user_id

string

ঐচ্ছিক। ব্যবহারকারীর জন্য অনন্য শনাক্তকারী। এই শনাক্তকারী সম্পর্কে আরও তথ্যের জন্য ক্রস-প্ল্যাটফর্ম বিশ্লেষণের জন্য User-ID দেখুন। শুধুমাত্র utf-8 অক্ষর অন্তর্ভুক্ত করতে পারে।

timestamp_micros

number

ঐচ্ছিক। Unix টাইমস্ট্যাম্প, মাইক্রোসেকেন্ড, not মিলিসেকেন্ড. ইভেন্টের সময়কে বোঝায়। শুধুমাত্র অতীতে ঘটে যাওয়া ইভেন্ট রেকর্ড করার জন্য সেট করা উচিত। এর পরিবর্তে user_property বা ইভেন্ট টাইমস্ট্যাম্প ব্যবহার করা যেতে পারে। ইভেন্টকে ৭২ ঘণ্টা পর্যন্ত ব্যাকডেটেড করা যেতে পারে।

user_properties

object ঐচ্ছিক। পরিমাপের জন্য ব্যবহারকারীর প্রপার্টি। প্রতিটি অনুরোধে সর্বাধিক ২৫টি ব্যবহারকারীর প্রপার্টি পাঠানো যেতে পারে। ব্যবহারকারীর প্রপার্টির নাম ২৪টি বা তার কম অক্ষরের হতে হবে এবং ব্যবহারকারীর প্রপার্টির মান ৩৬টি বা তার কম অক্ষরের হতে হবে।

user_data

object ঐচ্ছিক। ব্যবহারকারীর দেওয়া ডেটা।
object ঐচ্ছিক। অনুরোধের জন্য সম্মতি সেটিংস। আরও তথ্যের জন্য সম্মতি বিভাগ দেখুন।

non_personalized_ads

boolean ঐচ্ছিক। true-এ সেট করা থাকলে বুঝতে হবে যে ব্যবহারকারীর ডেটা পছন্দমতো বিজ্ঞাপন দেখানোর জন্য ব্যবহার করা যাবে না।

user_location

object ঐচ্ছিক। অনুরোধের জন্য ভৌগোলিক তথ্য একটি স্ট্রাকচার্ড ফর্ম্যাটে সেট করে।

ip_override

string ঐচ্ছিক। অনুরোধের জন্য ভৌগোলিক তথ্য পেতে Google Analytics যে IP অ্যাড্রেস ব্যবহার করে।

device

object ঐচ্ছিক। অনুরোধের জন্য ডিভাইসের তথ্য একটি স্ট্রাকচার্ড ফর্ম্যাটে সেট করে।

validation_behavior

string

ঐচ্ছিক। অনুরোধের জন্য যাচাইকরণ আচরণ সেট করে।

RELAXED অথবা ENFORCE_RECOMMENDATIONS. নির্দিষ্ট করা না থাকলে ডিফল্ট হিসেবে RELAXED থাকে।

events[]

array প্রয়োজনীয়। eventটি আইটেমের একটি অ্যারে। প্রতিটি অনুরোধে সর্বাধিক ২৫টি ইভেন্ট পাঠানো যায়। সাজেস্ট করা ইভেন্টের জন্য ইভেন্ট রেফারেন্স দেখুন।

events[].name

string প্রয়োজনীয়। ইভেন্টের নাম। ইভেন্টের নাম ৪০ অক্ষর বা তার কম হতে হবে। সাজেস্ট করা ইভেন্ট দেখতে ইভেন্ট দেখুন।

events[].params

object ঐচ্ছিক। ইভেন্টের প্যারামিটার। প্রতিটি ইভেন্টের জন্য সর্বাধিক ২৫টি প্যারামিটার পাঠানো যেতে পারে। প্রতিটি ইভেন্টের জন্য সাজেস্ট করা প্যারামিটার এবং সাধারণ ইভেন্ট প্যারামিটার সম্পর্কে জানতে ইভেন্ট দেখুন।

প্যারামিটারের নাম ৪০টি বা তার কম অক্ষরের হতে হবে। প্যারামিটার ভ্যালু স্ট্যান্ডার্ড Google Analytics প্রপার্টির ক্ষেত্রে ১০০ অক্ষর বা তার কম হতে হবে, এবং Google Analytics 360 প্রপার্টির ক্ষেত্রে ৫০০ অক্ষর বা তার কম হতে হবে।

সাধারণ ইভেন্ট প্যারামিটার

মেজারমেন্ট প্রোটোকলে নিম্নলিখিত সাধারণ ইভেন্ট প্যারামিটার আছে:

কী ধরন বিবরণ

session_id

number ব্যবহারকারীর সেশন শনাক্ত করে এমন একটি ধনাত্মক সংখ্যা। বিভিন্ন সাধারণ ব্যবহারের ক্ষেত্রে প্রয়োজন। ^\d+$ রেগুলার এক্সপ্রেশনের সাথে ম্যাচ করতে হবে।

Firebase SDK ব্যবহার করে অবশ্যই রিট্রিভ করতে হবে:

engagement_time_msec

number ইভেন্টের জন্য ব্যবহারকারীর এনগেজমেন্টের সময়সীমা, মিলি সেকেন্ডে। আগের ইভেন্ট থেকে ব্যবহারকারীর এনগেজমেন্টের সময়সীমা প্রতিফলিত করে এমন একটি ভ্যালু ব্যবহার করুন।

timestamp_micros

number ইভেন্টের জন্য মাইক্রোসেকেন্ডে Unix সময়। ইভেন্টের টাইমস্ট্যাম্প ওভাররাইড করতে এই প্যারামিটার ব্যবহার করুন।

consent অ্যাট্রিবিউট সম্মতির ধরন ও স্ট্যাটাস কনফিগার করে। আপনি consent নির্দিষ্ট না করলে, Google Analytics ক্লায়েন্ট বা অ্যাপ ইনস্ট্যান্সের জন্য অনলাইন ইন্টার‍্যাকশন থেকে সম্মতি সেটিংস ব্যবহার করে।

কী ধরন বিবরণ

ad_user_data

string

ঐচ্ছিক। বিজ্ঞাপনের উদ্দেশ্যে অনুরোধের ইভেন্ট ও ব্যবহারকারীর প্রপার্টি থেকে Google-এ ব্যবহারকারীর ডেটা পাঠানোর সম্মতি।

GRANTED অথবা DENIED।

ad_personalization

string

ঐচ্ছিক। ব্যবহারকারীর জন্য পছন্দমতো বিজ্ঞাপন সংক্রান্ত সম্মতি।

GRANTED অথবা DENIED।

ভৌগোলিক তথ্য

user_location ও ip_override অ্যাট্রিবিউট ভৌগোলিক তথ্য প্রদান করে। ip_override-এর চেয়ে user_location-কে বেশি গুরুত্ব দেওয়া হয়।

user_location ফিল্ডের স্ট্রাকচার এখানে দেওয়া হল। যত বেশি সম্ভব অ্যাট্রিবিউট প্রদান করুন। আমরা কমপক্ষে country_id ও region_id ব্যবহার করার সাজেশন দিই।

কী ধরন বিবরণ

city

string ঐচ্ছিক। শহরের নাম। শহরটি মার্কিন যুক্তরাষ্ট্রে অবস্থিত হলে, country_id এবং region_id-ও সেট করুন, যাতে Google Analytics সঠিকভাবে শহরের নাম শহর আইডির সাথে ম্যাপ করতে পারে।

region_id

string ঐচ্ছিক। ISO 3166 দেশ ও উপবিভাগ। যেমন, US-CA, US-AR, CA-BC, GB-LND, CN-HK.

country_id

string ঐচ্ছিক। ISO 3166-1 alpha-2 ফর্ম্যাটে দেশের নাম। যেমন, US, AU, ES, FR.

subcontinent_id

string ঐচ্ছিক। জাতিসংঘের M49 ফর্ম্যাটে উপ-মহাদেশ। যেমন, 011, 021, 030, 039.

continent_id

string ঐচ্ছিক। UN M49 ফর্ম্যাটে মহাদেশ। যেমন, 002, 019, 142, 150.

এখানে user_location-এর একটি নমুনা দেওয়া হল:

"user_location": {
  "city": "Mountain View",
  "region_id": "US-CA",
  "country_id": "US",
  "subcontinent_id": "021",
  "continent_id": "019"
}

ip_override হল user_location-এর বিকল্প। আপনি এর পরিবর্তে ip_override পাঠালে, Google Analytics IP অ্যাড্রেস থেকে ভৌগোলিক তথ্য সংগ্রহ করে। আপনি user_location পাঠালে, Google Analytics ip_override উপেক্ষা করে।

আপনি user_location বা ip_override না পাঠালে, Google Analytics, app_instance_id ব্যবহার করে ট্যাগ করা ইভেন্ট থেকে ভৌগোলিক তথ্য পায়।

Google Analytics, পাঠানো ভৌগোলিক তথ্য নির্বিশেষে, অনুরোধে প্রপার্টির গ্র্যানুলার লোকেশন ডেটা সেটিংস প্রয়োগ করে।

ডিভাইসের তথ্য

ডিভাইসের তথ্য পাঠাতে, device ফিল্ড ব্যবহার করুন। device ফিল্ডের স্ট্রাকচার এখানে দেওয়া হল। যত বেশি সম্ভব অ্যাট্রিবিউট প্রদান করুন। আমরা কমপক্ষে category সাজেস্ট করি।

কী ধরন বিবরণ

category

string ঐচ্ছিক। ডিভাইসের বিভাগ। যেমন, desktop, tablet, mobile, smart TV.

language

string ঐচ্ছিক। ISO 639-1 ফর্ম্যাটে ভাষা। যেমন, en, en-US।

screen_resolution

string ঐচ্ছিক। ডিভাইসের রেজোলিউশন, যা WIDTHxHEIGHT হিসেবে ফর্ম্যাট করা হয়। যেমন, 1280x2856, 1080x2340.

operating_system

string ঐচ্ছিক। অপারেটিং সিস্টেম বা প্ল্যাটফর্ম। যেমন, MacOS.

operating_system_version

string ঐচ্ছিক। অপারেটিং সিস্টেম বা প্ল্যাটফর্মের ভার্সন। যেমন, 13.5।

model

string ঐচ্ছিক। ডিভাইসের মডেল। যেমন, Pixel 9 Pro, Samsung Galaxy S24.

brand

string ঐচ্ছিক। ডিভাইসের ব্র্যান্ড। যেমন, Google, Samsung.

browser

string ঐচ্ছিক। ব্রাউজারের ব্র্যান্ড বা ধরন। যেমন, Chrome, Firefox.

browser_version

string ঐচ্ছিক। ব্রাউজারের ভার্সন। যেমন, 136.0.7103.60, 5.0.

নিচে দেওয়া স্নিপেটে device সেটিংসের একটি উদাহরণ দেখানো হয়েছে:

"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"
}
কোনও অনুরোধে device উল্লেখ করা না থাকলে, Google Analytics app_instance_id ব্যবহার করে ট্যাগিং ইভেন্ট থেকে ডিভাইস সম্পর্কিত তথ্য পায়।

আপনি device, যাই উল্লেখ করুন না কেন, Google Analytics অনুরোধে প্রপার্টির গ্র্যানুলার ডিভাইস ডেটা সেটিংস প্রয়োগ করে।

যাচাইকরণ সংক্রান্ত আচরণ

validation_behavior অ্যাট্রিবিউট নিয়ন্ত্রণ করে যে কীভাবে Measurement Protocol অনুরোধের কন্টেন্ট যাচাই করে।

  • RELAXED যাচাইকরণ শুধুমাত্র ভুল ফর্ম্যাটযুক্ত অনুরোধ প্রত্যাখ্যান করে। এটি এখনও ভুল ফিল্ডের নাম বা ভুল ধরনের ডেটা সহ ইভেন্ট ও প্যারামিটার গ্রহণ করতে পারে, কিন্তু সীমা অতিক্রম করা প্যারামিটার উপেক্ষা করে। Measurement Protocol ডিফল্ট হিসেবে RELAXED যাচাইকরণ ব্যবহার করে।
  • ENFORCE_RECOMMENDATIONS ভ্যালিডেশন, ইভেন্ট ও আইটেম প্যারামিটার বাতিল করে দেয় যেগুলি সঠিক ধরনের নয় অথবা যেগুলিতে এমন প্যারামিটার থাকে যা সীমা অতিক্রম করে যায়। এছাড়াও, ENFORCE_RECOMMENDATIONS গত ৭২ ঘণ্টার মধ্যে নেই এমন টাইমস্ট্যাম্প সহ যেকোনও ইভেন্ট বা ব্যবহারকারীর প্রপার্টি বাতিল করে দেয়।

আমরা নিম্নলিখিত পদ্ধতি সাজেস্ট করি:

  • আপনার অনুরোধে সম্ভাব্য সমস্যা সম্পর্কে যতটা সম্ভব ফিডব্যাক পেতে, ইভেন্ট যাচাই করার সময় ENFORCE_RECOMMENDATIONS ব্যবহার করুন।

    এছাড়াও, আপনি ইভেন্ট বিল্ডার ব্যবহার করে অনুরোধ যাচাই করতে পারবেন, কারণ এটি অনুরোধ যাচাই করার সময় ENFORCE_RECOMMENDATIONS নির্দিষ্ট করে।

  • মেজারমেন্ট প্রোটোকল দ্বারা বাতিল করা ডেটা কমাতে, ইভেন্ট পাঠানোর সময় validation_behavior উল্লেখ করবেন না।

    নির্দিষ্ট অনুরোধ পাঠানোর সময় ডেটা সংগ্রহের চেয়ে কঠোর যাচাইকরণকে বেশি গুরুত্ব দিতে চাইলে, validation_behavior ফিল্ড যোগ করে ENFORCE_RECOMMENDATIONS হিসেবে সেট করুন।

কাস্টম প্যারামিটার

আপনি মেজারমেন্ট প্রোটোকল পেলোডে কাস্টম ব্যবহারকারী-স্কোপ, ইভেন্ট-স্কোপ ও আইটেম-স্কোপ প্যারামিটার অন্তর্ভুক্ত করতে পারবেন।

  • user_properties-এ ব্যবহারকারী-স্কোপ করা কাস্টম প্যারামিটার অন্তর্ভুক্ত করা যেতে পারে।
  • ইভেন্ট-স্কোপড কাস্টম প্যারামিটার events[].params-এ অন্তর্ভুক্ত করা যেতে পারে।
  • আইটেম-স্কোপ করা কাস্টম প্যারামিটার items-এ অন্তর্ভুক্ত করা যেতে পারে।

কিছু ইভেন্টের জন্য সাজেস্ট করা প্যারামিটার আছে। সব কাজ করে এমন ইভেন্টের জন্য সাজেস্ট করা প্যারামিটারের ইভেন্ট দেখুন।

রিজার্ভ করা নাম

কিছু ইভেন্ট, প্যারামিটার ও ব্যবহারকারীর প্রপার্টির নাম রিজার্ভ করা থাকে এবং সেগুলি ব্যবহার করা যায় না:

রিজার্ভ করা ইভেন্টের নাম

নিম্নলিখিত ইভেন্টের নাম রিজার্ভ করা আছে এবং ব্যবহার করা যাবে না:

  • ad_activeview
  • ad_click
  • ad_exposure
  • ad_query
  • ad_reward
  • adunit_exposure
  • app_clear_data
  • app_exception
  • app_install
  • app_remove
  • app_store_refund
  • app_update
  • app_upgrade
  • dynamic_link_app_open
  • dynamic_link_app_update
  • dynamic_link_first_open
  • error
  • firebase_campaign
  • firebase_in_app_message_action
  • firebase_in_app_message_dismiss
  • firebase_in_app_message_impression
  • first_open
  • first_visit
  • notification_dismiss
  • notification_foreground
  • notification_open
  • notification_receive
  • notification_send
  • os_update
  • session_start
  • user_engagement

এছাড়াও, ad_impression, in_app_purchase এবং screen_view ইভেন্ট শুধুমাত্র অ্যাপ স্ট্রিমের জন্য অনুমোদিত।

সংরক্ষিত প্যারামিটারের নাম

নিম্নলিখিত প্যারামিটারের নাম রিজার্ভ করা আছে এবং ব্যবহার করা যাবে না:

  • firebase_conversion

প্যারামিটারের নাম নিম্নলিখিত অক্ষর দিয়ে শুরু করা যাবে না:

  • _ (underscore)
  • firebase_
  • ga_
  • google_
  • gtag.

সংরক্ষিত ব্যবহারকারীর প্রপার্টির নাম

নিচে উল্লেখ করা ব্যবহারকারীর প্রপার্টির নাম রিজার্ভ করা আছে এবং ব্যবহার করা যাবে না:

  • first_open_time
  • first_visit_time
  • last_deep_link_referrer
  • user_id
  • first_open_after_install

এছাড়াও, ব্যবহারকারীর প্রপার্টির নাম এগুলি দিয়ে শুরু করা যাবে না:

  • _ (underscore)
  • firebase_
  • ga_
  • google_