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

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

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

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

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

  • 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 उपयोगकर्ता प्रॉपर्टी के साथ मेज़रमेंट को बढ़ाता है:

server code

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
    }
}