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

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

পরিবহন

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

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

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

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

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 সিক্রেট।

অ্যাডমিন > ডেটা স্ট্রিম > আপনার স্ট্রিম বেছে নিন > Measurement Protocol > তৈরি করুন বিকল্পে গিয়ে এটি খুঁজে পাবেন।

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

firebase_app_id

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

Firebase কনসোলে প্রোজেক্ট সেটিংস > সাধারণ > আপনার অ্যাপ > অ্যাপ আইডি বিকল্পে গিয়ে এটি খুঁজে পাবেন।

JSON POST বডি

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

কী ধরন বিবরণ

app_instance_id

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

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

Firebase SDK ব্যবহার করে অবশ্যই উদ্ধার করতে হবে:

user_id

string

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

timestamp_micros

number

ঐচ্ছিক। একটি Unix টাইমস্ট্যাম্প, মাইক্রোসেকেন্ড, মিলিসেকেন্ড নয়। ইভেন্টের সময় দেখায়। শুধুমাত্র অতীতে ঘটে যাওয়া ইভেন্ট রেকর্ড করার জন্য সেট করা উচিত। 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 প্রপার্টির জন্য ৫০০টি অক্ষর বা তার কম হতে হবে।

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

Measurement Protocol-এ নিম্নলিখিত সাধারণ ইভেন্ট প্যারামিটার আছে:

কী ধরন বিবরণ

session_id

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

Firebase SDK ব্যবহার করে অবশ্যই উদ্ধার করতে হবে:

engagement_time_msec

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

timestamp_micros

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

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

কী ধরন বিবরণ

ad_user_data

string

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

GRANTED অথবা DENIED।

ad_personalization

string

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

GRANTED অথবা DENIED।

ভৌগোলিক তথ্য

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

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 ঐচ্ছিক। UN 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-এ সেট করুন।

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

আপনি Measurement Protocol পেলোডে কাস্টম ব্যবহারকারী-স্কোপড, ইভেন্ট-স্কোপড এবং আইটেম-স্কোপড প্যারামিটার যোগ করতে পারবেন।

  • 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_