ส่งพร็อพเพอร์ตี้ผู้ใช้

พร็อพเพอร์ตี้ผู้ใช้อธิบายกลุ่มต่างๆ ในฐานผู้ใช้ เช่น ค่ากำหนดภาษา หรือสถานที่ตั้งทางภูมิศาสตร์ Analytics จะบันทึกพร็อพเพอร์ตี้ผู้ใช้บางรายการโดยอัตโนมัติ หากต้องการรวบรวมพร็อพเพอร์ตี้เพิ่มเติม คุณสามารถตั้งค่าพร็อพเพอร์ตี้ผู้ใช้เพิ่มเติมได้สูงสุด 25 รายการต่อโปรเจ็กต์ ดูพร็อพเพอร์ตี้ผู้ใช้ที่กําหนดเองเพื่อดูวิธีตั้งค่าและ ลงทะเบียนพร็อพเพอร์ตี้ผู้ใช้

พร็อพเพอร์ตี้ผู้ใช้ช่วยเพิ่มประสิทธิภาพการแบ่งกลุ่มผู้ใช้ แต่โดยทั่วไปแล้วข้อมูลพร็อพเพอร์ตี้ผู้ใช้จะใช้ได้เฉพาะฝั่งเซิร์ฟเวอร์เท่านั้น Measurement Protocol ช่วยให้คุณเพิ่ม การวัดผลฝั่งไคลเอ็นต์ด้วยข้อมูลฝั่งเซิร์ฟเวอร์ ซึ่งโดยปกติแล้วจะทำไม่ได้ หากใช้โซลูชันฝั่งไคลเอ็นต์เพียงอย่างเดียว

ชื่อที่สงวนไว้

ชื่อพร็อพเพอร์ตี้ผู้ใช้บางชื่อเป็นชื่อที่สงวนไว้และไม่สามารถใช้ในการวัดผลได้

  • 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พร็อพเพอร์ตี้ผู้ใช้ โดยใช้ Measurement Protocol ดังนี้

โค้ดฝั่งเซิร์ฟเวอร์

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

พร็อพเพอร์ตี้ผู้ใช้นี้จะรายงานกลุ่ม 2 กลุ่ม ได้แก่ premium และ standard

ดูรายละเอียดทั้งหมดเกี่ยวกับวิธีส่งเหตุการณ์โดยใช้ Measurement Protocol ได้ที่การส่งเหตุการณ์

ลบล้างการประทับเวลา

Measurement Protocol ใช้การประทับเวลาแรกที่พบในรายการต่อไปนี้ สำหรับพร็อพเพอร์ตี้ผู้ใช้แต่ละรายการในคำขอ

  1. timestamp_micros ของรายการใน user_properties
  2. timestamp_micros ของคำขอ
  3. เวลาที่ Measurement Protocol ได้รับคำขอ

ตัวอย่างต่อไปนี้จะส่งการประทับเวลาที่ระดับคำขอซึ่งใช้กับพร็อพเพอร์ตี้ผู้ใช้ทั้งหมดในคำขอ ด้วยเหตุนี้ Measurement Protocol จึงกําหนดการประทับเวลาของ requestUnixEpochTimeInMicros ให้กับทั้งพร็อพเพอร์ตี้ผู้ใช้ customer_tier และ customer_group

{
  "timestamp_micros": requestUnixEpochTimeInMicros,
  "user_properties": {
      "customer_tier": {
        "value": customerTierValue
      },
      "customer_group": {
        "value": customerGroupValue
      }
  }
}

ตัวอย่างต่อไปนี้จะส่งทั้งการประทับเวลาระดับคำขอและการประทับเวลาสำหรับพร็อพเพอร์ตี้ผู้ใช้ customer_tier ด้วยเหตุนี้ Measurement Protocol จึงกําหนด customer_tier การประทับเวลา customerTierUnixEpochTimeInMicros และ customer_group การประทับเวลา requestUnixEpochTimeInMicros

"timestamp_micros": requestUnixEpochTimeInMicros,
"user_properties": {
    "customer_tier": {
      "value": customerTierValue,
      "timestamp_micros": customerTierUnixEpochTimeInMicros
    },
    "customer_group": {
      "value": customerGroupValue
    }
}