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

พร็อพเพอร์ตี้ผู้ใช้อธิบายกลุ่มต่างๆ ในฐานผู้ใช้ของคุณ เช่น ค่ากำหนดภาษาหรือสถานที่ตั้งทางภูมิศาสตร์ 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)
    })
  });
}

พร็อพเพอร์ตี้ผู้ใช้นี้จะรายงานกลุ่ม 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 จึงกำหนดการประทับเวลา customerTierUnixEpochTimeInMicros ให้กับ customer_tier และการประทับเวลา requestUnixEpochTimeInMicros ให้กับ customer_group

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