उपयोगकर्ता प्रॉपर्टी भेजें

उपयोगकर्ता प्रॉपर्टी से आपके उपयोगकर्ताओं के ग्रुप के सेगमेंट के बारे में पता चलता है. जैसे, भाषा से जुड़ी प्राथमिकता या भौगोलिक जगह. Analytics, कुछ उपयोगकर्ता प्रॉपर्टी अपने-आप लॉग करता है. अगर आपको अतिरिक्त प्रॉपर्टी इकट्ठा करनी हैं, तो हर प्रोजेक्ट के लिए ज़्यादा से ज़्यादा 25 अतिरिक्त उपयोगकर्ता प्रॉपर्टी सेट अप की जा सकती हैं. उपयोगकर्ता प्रॉपर्टी सेट और रजिस्टर करने का तरीका जानने के लिए, कस्टम उपयोगकर्ता प्रॉपर्टी देखें.

उपयोगकर्ता प्रॉपर्टी से, उपयोगकर्ताओं को ग्रुप में बांटने की सुविधा बेहतर होती है. हालांकि, उपयोगकर्ता प्रॉपर्टी का डेटा अक्सर सिर्फ़ सर्वर-साइड पर उपलब्ध होता है. मेज़रमेंट प्रोटोकॉल की मदद से, क्लाइंट-साइड मेज़रमेंट को सर्वर-साइड डेटा के साथ बेहतर बनाया जा सकता है. आम तौर पर, सिर्फ़ क्लाइंट-साइड सलूशन का इस्तेमाल करके ऐसा नहीं किया जा सकता.

रिज़र्व किए गए नाम

उपयोगकर्ता प्रॉपर्टी के कुछ नाम रिज़र्व हैं. इनका इस्तेमाल मेज़रमेंट में नहीं किया जा सकता:

  • first_open_time
  • first_visit_time
  • last_deep_link_referrer
  • user_id
  • first_open_after_install

इसके अलावा, उपयोगकर्ता प्रॉपर्टी के नाम इनसे शुरू नहीं हो सकते:

  • google_
  • ga_
  • firebase_

इस्तेमाल से जुड़ा उदाहरण

यहां दिए गए उदाहरण में, आपके सीआरएम में एक उपयोगकर्ता प्रॉपर्टी (customer_tier) है, जिसे आपको अपने मेज़रमेंट में जोड़ना है. customer_tier को premium या standard में से किसी एक पर सेट किया जा सकता है. अपनी रिपोर्ट में इस उपयोगकर्ता प्रॉपर्टी को शामिल करने के लिए, आपको यह करना होगा:

सबसे पहले, क्लाइंट से add_payment_info इवेंट भेजें. साथ ही, सर्वर एपीआई को कॉल करें जिसके पास आपके सीआरएम सिस्टम का ऐक्सेस है:

क्लाइंट कोड

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 की रिपोर्ट करती है.

मेज़रमेंट प्रोटोकॉल का इस्तेमाल करके इवेंट भेजने के तरीके के बारे में पूरी जानकारी पाने के लिए, इवेंट भेजना लेख पढ़ें.

टाइमस्टैंप को ओवरराइड करना

मेज़रमेंट प्रोटोकॉल, अनुरोध में मौजूद हर उपयोगकर्ता प्रॉपर्टी के लिए, इस सूची में मौजूद पहले टाइमस्टैंप का इस्तेमाल करता है:

  1. user_properties में एंट्री का timestamp_micros.
  2. अनुरोध का timestamp_micros.
  3. मेज़रमेंट प्रोटोकॉल को अनुरोध मिलने का समय.

नीचे दिए गए उदाहरण में, अनुरोध के लेवल पर टाइमस्टैंप भेजा गया है. यह अनुरोध में मौजूद उपयोगकर्ता की सभी प्रॉपर्टी पर लागू होता है. इस वजह से, मेज़रमेंट प्रोटोकॉल, 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
    }
}