ব্যবহারকারীর বৈশিষ্ট্যগুলো আপনার ব্যবহারকারী গোষ্ঠীর বিভিন্ন অংশের বর্ণনা দেয়, যেমন ভাষার পছন্দ বা ভৌগোলিক অবস্থান। অ্যানালিটিক্স স্বয়ংক্রিয়ভাবে কিছু ব্যবহারকারীর বৈশিষ্ট্য লগ করে । আপনি যদি অতিরিক্ত বৈশিষ্ট্য সংগ্রহ করতে চান, তবে প্রতিটি প্রজেক্টের জন্য ২৫টি পর্যন্ত অতিরিক্ত ব্যবহারকারীর বৈশিষ্ট্য সেট করতে পারেন। ব্যবহারকারীর বৈশিষ্ট্যগুলো কীভাবে সেট এবং রেজিস্টার করতে হয় তা জানতে ‘কাস্টম ব্যবহারকারীর বৈশিষ্ট্য’ দেখুন।
ব্যবহারকারীর বৈশিষ্ট্যগুলো ব্যবহারকারী বিভাজনকে উন্নত করে, কিন্তু ব্যবহারকারীর বৈশিষ্ট্যের ডেটা প্রায়শই শুধুমাত্র সার্ভার-সাইডে পাওয়া যায়। মেজারমেন্ট প্রোটোকল আপনাকে সার্ভার-সাইড ডেটা দিয়ে ক্লায়েন্ট-সাইড পরিমাপকে সমৃদ্ধ করার সুযোগ দেয়, যা সাধারণত শুধুমাত্র ক্লায়েন্ট-সাইড সমাধান ব্যবহার করে সম্ভব হয় না।
সংরক্ষিত নাম
কিছু ব্যবহারকারী প্রপার্টির নাম সংরক্ষিত এবং পরিমাপের ক্ষেত্রে ব্যবহার করা যায় না:
-
first_open_time -
first_visit_time -
last_deep_link_referrer -
user_id -
first_open_after_install
এছাড়াও, ব্যবহারকারীর প্রপার্টির নাম নিম্নলিখিত অক্ষর দিয়ে শুরু হতে পারবে না:
-
google_ -
ga_ -
firebase_
উদাহরণ ব্যবহার
নিম্নলিখিত উদাহরণে, আপনার CRM-এ একটি ইউজার প্রপার্টি ( customer_tier ) আছে যা আপনি আপনার মেজারমেন্টে যোগ করতে চান। customer_tier premium বা standard এর যেকোনো একটিতে সেট করা যেতে পারে। আপনার রিপোর্টে এই ইউজার প্রপার্টিটি পেতে, আপনাকে নিম্নলিখিত পদক্ষেপগুলো অনুসরণ করতে হবে:
প্রথমে, ক্লায়েন্টকে একটি add_payment_info ইভেন্ট পাঠানোর পাশাপাশি এমন একটি সার্ভার API-তে কল করতে বলুন, যেটির আপনার CRM সিস্টেমে অ্যাক্সেস আছে:
ক্লায়েন্ট কোড
FirebaseAnalytics.logEvent("add_payment_info")
ServerAPI.addCustomerTier(
FirebaseAnalytics.getAppInstanceId(),
"[{name: \"add_payment_info\"}"]
);
এরপর আপনার সার্ভার মেজারমেন্ট প্রোটোকল ব্যবহার করে customer_tier ইউজার প্রপার্টির মাধ্যমে পরিমাপটিকে বর্ধিত করে:
সার্ভার কোড
const firebaseAppId = "FIREBASE_APP_ID";
const apiSecret = "API_SECRET";
function addCustomerTier(appInstanceId, events) {
// Request the customer tier from the CRM.
const customerTier = getCustomerTier(appInstanceId);
const queryParams = `?firebase_app_id=${firebaseAppId}&api_secret=${apiSecret}`;
fetch(`https://www.google-analytics.com/mp/collect${queryParams}`, {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({
"app_instance_id": "APP_INSTANCE_ID",
"user_properties": {
"customer_tier": {
"value": "CUSTOMER_TIER"
}
},
"events": JSON.parse(events)
})
});
}
এই ব্যবহারকারী প্রপার্টিটি premium এবং standard এই দুটি সেগমেন্ট রিপোর্ট করে।
মেজারমেন্ট প্রোটোকল ব্যবহার করে কীভাবে ইভেন্ট পাঠাতে হয়, তার সম্পূর্ণ বিবরণের জন্য “ইভেন্ট পাঠানো” দেখুন।
টাইমস্ট্যাম্প ওভাররাইড করুন
মেজারমেন্ট প্রোটোকল অনুরোধের প্রতিটি ব্যবহারকারী প্রপার্টির জন্য নিম্নলিখিত তালিকা থেকে খুঁজে পাওয়া প্রথম টাইমস্ট্যাম্পটি ব্যবহার করে:
-
user_propertiesএর এন্ট্রিরtimestamp_micros। - অনুরোধের
timestamp_micros। - যে সময়ে পরিমাপ প্রোটোকল অনুরোধটি গ্রহণ করে।
নিম্নলিখিত উদাহরণটি একটি অনুরোধ-স্তরের টাইমস্ট্যাম্প পাঠায় যা অনুরোধের সমস্ত ব্যবহারকারী প্রপার্টিতে প্রযোজ্য। ফলস্বরূপ, মেজারমেন্ট প্রোটোকল customer_tier এবং customer_group উভয় ব্যবহারকারী প্রপার্টিকে requestUnixEpochTimeInMicros টাইমস্ট্যাম্পটি বরাদ্দ করে।
{
"timestamp_micros": requestUnixEpochTimeInMicros,
"user_properties": {
"customer_tier": {
"value": customerTierValue
},
"customer_group": {
"value": customerGroupValue
}
}
}
নিম্নলিখিত উদাহরণটি একটি অনুরোধ-স্তরের টাইমস্ট্যাম্প এবং customer_tier ব্যবহারকারী প্রপার্টির জন্য একটি টাইমস্ট্যাম্প উভয়ই পাঠায়। ফলস্বরূপ, মেজারমেন্ট প্রোটোকল customer_tier customerTierUnixEpochTimeInMicros টাইমস্ট্যাম্প এবং customer_group requestUnixEpochTimeInMicros টাইমস্ট্যাম্প বরাদ্দ করে।
"timestamp_micros": requestUnixEpochTimeInMicros,
"user_properties": {
"customer_tier": {
"value": customerTierValue,
"timestamp_micros": customerTierUnixEpochTimeInMicros
},
"customer_group": {
"value": customerGroupValue
}
}