ส่งเหตุการณ์ Measurement Protocol ไปยัง Google Analytics

คู่มือนี้จะอธิบายวิธีส่ง สตรีมเว็บและแอปของ Google Analytics Measurement Protocol กิจกรรมเป็น Google Analytics เพื่อให้คุณสามารถดูเหตุการณ์ Measurement Protocol ใน รายงาน Google Analytics ของคุณ

เลือกแพลตฟอร์มที่ต้องการดูในคู่มือนี้

จัดรูปแบบคำขอ

Measurement Protocol สําหรับ Google Analytics 4 รองรับเฉพาะ HTTP POST คำขอ

หากต้องการส่งกิจกรรม ให้ใช้รูปแบบต่อไปนี้

POST /mp/collect HTTP/1.1
HOST: www.google-analytics.com
Content-Type: application/json
<payload_data>

คุณต้องระบุข้อมูลต่อไปนี้ใน URL ของคำขอ

  • api_secret: ข้อมูลลับ API ที่สร้างขึ้นใน UI ของ Google Analytics

    หากต้องการสร้างข้อมูลลับใหม่ ให้ไปที่ผู้ดูแลระบบ > สตรีมข้อมูล > เลือก สตรีมของคุณ > Measurement Protocol > สร้าง

  • measurement_id: รหัสการวัดที่เชื่อมโยงกับสตรีม ซึ่งอยู่ในส่วน UI ของ Google Analytics ในส่วนผู้ดูแลระบบ > สตรีมข้อมูล > เลือก สตรีม > รหัสการวัด

    measurement_id ไม่ใช่รหัสสตรีมของคุณ

ดูพารามิเตอร์การค้นหาสำหรับข้อมูลอ้างอิงแบบเต็ม

คุณต้องระบุข้อมูลต่อไปนี้ในเนื้อหาคำขอ

  • client_id: ตัวระบุที่ไม่ซ้ำกันของลูกค้า วิธีนี้แตกต่างจาก Firebase app_instance_id ใช้ gtag.js('get')
  • user_id: ไม่บังคับ ตัวระบุที่ไม่ซ้ำกันสำหรับผู้ใช้ มีได้เฉพาะ UTF-8 อักขระ ดูข้อมูลเพิ่มเติมได้ที่ User-ID สําหรับการวิเคราะห์ข้ามแพลตฟอร์ม เกี่ยวกับตัวระบุนี้

  • consent: ไม่บังคับ ดูวิธีตั้งค่าความยินยอม การตั้งค่า

  • timestamp_micros: ไม่บังคับ เวลา Unix Epoch ในหน่วยไมโครวินาทีสําหรับ เหตุการณ์และพร็อพเพอร์ตี้ผู้ใช้ในคำขอ หากไม่ได้ระบุไว้ จะมีค่าเริ่มต้นเป็น เวลาส่งคำขอ

  • events: อาร์เรย์ของรายการเหตุการณ์ คุณสามารถรวมหลายกิจกรรมไว้ในแคมเปญเดียว อีกครั้ง

    วิธีแสดงกิจกรรมของผู้ใช้ในรายงาน เช่น เรียลไทม์ ต้องระบุ engagement_time_msec และ session_id เป็นส่วนหนึ่งของ params ในราคา event พารามิเตอร์ engagement_time_msec ควรแสดง เวลาในการมีส่วนร่วมของเหตุการณ์เป็นมิลลิวินาที

    เช่น

  {
   "client_id": "123456.7654321",
   "events": [
     {
        "name": "campaign_details",
        "params": {
          "campaign_id": "google_1234",
          "campaign": "Summer_fun",
          "source": "google",
          "medium": "cpc",
          "term": "summer+travel",
          "content": "logolink",
          "session_id": "123",
          "engagement_time_msec": "100"
        }
     }
   ]
  }

แม้ว่า session_start จะเป็นกิจกรรมที่จองไว้ ชื่อ การสร้าง session_id ใหม่จะเป็นการสร้างเซสชันใหม่โดยไม่ต้องส่ง session_start ทำความเข้าใจว่าเซสชัน นับได้

ลองใช้

ลองดูตัวอย่างที่คุณใช้ส่งเหตุการณ์ tutorial_begin ไปยัง เซิร์ฟเวอร์ Google Analytics:

const measurement_id = `G-XXXXXXXXXX`;
const api_secret = `<secret_value>`;

fetch(`https://www.google-analytics.com/mp/collect?measurement_id=${measurement_id}&api_secret=${api_secret}`, {
  method: "POST",
  body: JSON.stringify({
    client_id: 'XXXXXXXXXX.YYYYYYYYYY',
    events: [{
      name: 'tutorial_begin',
      params: {},
    }]
  })
});

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

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

  1. timestamp_micros ของเหตุการณ์
  2. timestamp_micros ของคำขอ
  3. เวลาที่ Measurement Protocol ได้รับคำขอ

ตัวอย่างต่อไปนี้จะส่งการประทับเวลาระดับคำขอที่ใช้กับ เหตุการณ์ในคำขอ ดังนั้น Measurement Protocol จะกำหนดทั้งฟิลด์ การประทับเวลาของ tutorial_begin และเหตุการณ์ join_group รายการ requestUnixEpochTimeInMicros

{
  "timestamp_micros": requestUnixEpochTimeInMicros,
  "events": [
    {
      "name": "tutorial_begin"
    },
    {
      "name": "join_group",
      "params": {
        "group_id": "G_12345",
      }
    }
  ]
}

ตัวอย่างต่อไปนี้จะส่งทั้งการประทับเวลาระดับคำขอและระดับเหตุการณ์ ของคุณ ดังนั้น Measurement Protocol จะกำหนด tutorial_begin เหตุการณ์มีการประทับเวลา tutorialBeginUnixEpochTimeInMicros และ join_group การประทับเวลาเป็น requestUnixEpochTimeInMicros

{
  "timestamp_micros": requestUnixEpochTimeInMicros,
  "events": [
    {
      "name": "tutorial_begin",
      "timestamp_micros": tutorialBeginUnixEpochTimeInMicros
    },
    {
      "name": "join_group",
      "params": {
        "group_id": "G_12345",
      }
    }
  ]
}

ข้อจำกัด

ข้อจำกัดต่อไปนี้มีผลกับการส่งเหตุการณ์ Measurement Protocol ไปยัง Google การวิเคราะห์:

  • คำขอมีเหตุการณ์ได้สูงสุด 25 รายการ
  • เหตุการณ์มีพารามิเตอร์ได้สูงสุด 25 รายการ
  • เหตุการณ์มีพร็อพเพอร์ตี้ผู้ใช้ได้สูงสุด 25 รายการ
  • ชื่อพร็อพเพอร์ตี้ผู้ใช้ต้องมีความยาวไม่เกิน 24 อักขระ
  • ค่าพร็อพเพอร์ตี้ผู้ใช้ต้องมีความยาวไม่เกิน 36 อักขระ
  • ชื่อเหตุการณ์ต้องมีอักขระไม่เกิน 40 ตัว และต้องประกอบด้วยตัวอักษรและตัวเลขเท่านั้น อักขระและขีดล่าง และต้องขึ้นต้นด้วยตัวอักษร
  • ชื่อพารามิเตอร์รวมถึงพารามิเตอร์ของรายการต้องมีอักขระไม่เกิน 40 ตัว ต้องประกอบด้วยอักขระที่เป็นตัวอักษร ตัวเลข และเครื่องหมายขีดล่างเท่านั้น และต้องขึ้นต้นด้วย ที่มีอักขระเป็นพยัญชนะ
  • ค่าพารามิเตอร์ ซึ่งรวมถึงค่าพารามิเตอร์ของรายการต้องยาว 100 อักขระ หรือ น้อยลงสําหรับพร็อพเพอร์ตี้ Google Analytics 4 มาตรฐาน และ 500 อักขระหรือ ในพร็อพเพอร์ตี้ Google Analytics 360 จะมีจำนวนน้อยกว่า
  • พารามิเตอร์รายการมีพารามิเตอร์ที่กําหนดเองได้สูงสุด 10 รายการ
  • เนื้อหาของโพสต์ต้องเล็กกว่า 130 kB
  • เหตุการณ์ Measurement Protocol ของแอปที่ส่งไปยัง Google Analytics 4 ไม่ป้อนข้อมูล ค้นหากลุ่มเป้าหมายใน Google Ads สําหรับผู้ใช้แอป

ดูข้อกำหนดเพิ่มเติมของแต่ละกรณีการใช้งานได้ที่กรณีการใช้งานทั่วไป