1. บทนำ
อัปเดตล่าสุด: 2021-06-08
สิ่งที่คุณจะสร้าง
ในโค้ดแล็บนี้ คุณจะได้เรียนรู้วิธีส่งเหตุการณ์ภายนอกไปยัง GA4 โดยใช้ Measurement Protocol
Codelab นี้ถือว่าคุณมีแอปที่ติดตั้งใช้งาน Google Analytics สําหรับ Firebase อยู่แล้ว หากต้องการดูวิธีผสานรวมกับ Google Analytics สําหรับ Firebase โปรดดูโค้ดแล็บนี้ก่อน หากต้องการดูวิธีสร้างแอปด้วย Firebase โปรดดู Codelab ของ Firebase Android - สร้าง Friendly Chat
สิ่งที่คุณจะได้เรียนรู้
- ขั้นตอนในการเรียก MP ครั้งแรก
- เข้าใจพารามิเตอร์ที่ต้องใช้ในการเรียก
- ส่งและตรวจสอบการเรียกทดสอบ
- สร้างสคริปต์ตัวอย่างใน Python เพื่อทำการเรียก
สิ่งที่คุณต้องมี
- แอป Android หรือ iOS
- IDE ใดก็ได้เพื่อทำการเปลี่ยนแปลง
- บัญชี GA4
- ไม่บังคับ - สภาพแวดล้อมการพัฒนา Python (หรือ Colab)
2. รวบรวมช่องที่ต้องกรอก
สร้างข้อมูลลับ API ใน GA4
ไปที่ GA4 และสร้าง API Secret ใหม่โดยไปที่ผู้ดูแลระบบ > สตรีมข้อมูล > เลือกสตรีม > Measurement Protocol > สร้าง
คุณระบุชื่อเล่นใดก็ได้ และระบบจะแสดงค่าลับซึ่งคุณใช้ในการเรียกได้
หากไม่แน่ใจวิธีเข้าถึง GA4 ให้ไปที่โปรเจ็กต์ Firebase แล้วตรวจสอบการตั้งค่าโปรเจ็กต์ > การผสานรวม > Google Analytics แล้วคลิก "จัดการ" การเชื่อมต่อ Google Analytics ควรปรากฏขึ้น และคุณสามารถไปยังส่วนต่างๆ ได้โดยตรงจากที่นั่นด้วย
รวบรวม app_instance_id
คุณใช้วิธีใดวิธีหนึ่งต่อไปนี้เพื่อรวบรวม app_instance_id ได้
- การใช้ BigQuery Export
- การดึงข้อมูลโดยตรงในซอร์สโค้ดของแอป
เราจะอธิบายรายละเอียดของทั้ง 2 อย่างนี้ด้านล่าง
- การใช้ BigQuery Export
หากเปิดใช้ BigQuery Export คุณจะทำตามขั้นตอนด้านล่างได้
- ลงชื่อเข้าใช้ Firebase
- ไปที่การตั้งค่าโปรเจ็กต์ > การผสานรวม > BigQuery
- คลิก "ดูใน BigQuery" ใกล้กับชุดข้อมูล
หมายเหตุ : ชุดข้อมูลจะพร้อมใช้งานหลังจากเปิดใช้ปุ่มสลับประมาณ 24-48 ชั่วโมง
- ใน BigQuery คุณสามารถตรวจสอบ user_pseudo_id ในตารางได้ นี่คือ app_instance_id ที่คุณใช้ในการเรียกได้
- การดึงข้อมูลโดยตรงในซอร์สโค้ดของแอป
หากสร้างแอปโดยใช้ Java คุณสามารถใช้โค้ดต่อไปนี้เพื่อดึงข้อมูล app_instance_id
FirebaseAnalytics.getInstance(this).getAppInstanceId().addOnCompleteListener(new OnCompleteListener<String>() {
@Override
public void onComplete(@NonNull Task<String> task) {
if (task.isSuccessful()) {
String user_pseudo_id = task.getResult();
}
}
});
สำหรับ Kotlin คุณสามารถลองใช้คำสั่งด้านล่าง
Thread {
Firebase.analytics.appInstanceId.addOnSuccessListener { user_pseudo_id ->
Log.d("Firebase", "user_pseudo_id using appInstanceId is $user_pseudo_id")
/*
Store the value to your server or do something with the retrieved id
*/
}
}.start()
หากมีแอป iOS คุณจะใช้สิ่งต่อไปนี้ใน Swift ได้
let user_pseudo_id = Analytics.appInstanceID()
print("user_pseudo_id = \(user_pseudo_id)")
/*
Store the value to your server or do something with the retrieved id
*/
ด้านล่างนี้คือลิงก์เพิ่มเติมตามโครงสร้างพื้นฐานของคุณ
3. สร้างการโทร
คุณสามารถสร้างการเรียกทดลองได้โดยใช้เครื่องมือสร้างเหตุการณ์ใน GA4 (ซึ่งทำให้คุณต้องเข้าสู่ระบบและเปิดใช้คุกกี้) ตรวจสอบว่าได้สลับปุ่มเปิด/ปิดเป็น "firebase" แล้ว
คุณจะต้องกรอกข้อมูลในช่องต่อไปนี้
- api_secret - สร้างไว้แล้วก่อนหน้านี้ใน GA4
- firebase_app_id - หากต้องการรับรหัสนี้ ให้ไปที่ผู้ดูแลระบบ > สตรีมข้อมูล > เลือกสตรีม โดยควรแสดงดังนี้
- app_instance_id - คุณเรียกค่านี้มาแล้ว
- user_id ไม่บังคับ คุณเว้นว่างไว้ก่อนได้
- หมวดหมู่ - เปลี่ยนเป็น "กําหนดเอง" จากเมนูแบบเลื่อนลง และใส่ชื่อเหตุการณ์ที่คุณเลือก (อย่าใช้เหตุการณ์ที่รวบรวมโดยอัตโนมัติ) ในที่นี้เราใช้ "test_from_codelab"
คุณยังเลือกที่จะระบุพารามิเตอร์เหตุการณ์และ/หรือพร็อพเพอร์ตี้ผู้ใช้ได้ด้วย โดยคลิกปุ่มด้านล่าง
เมื่อกรอกข้อมูลทุกอย่างแล้ว คุณควรเห็นข้อความคล้ายกับตัวอย่างนี้พร้อมปุ่ม "ตรวจสอบความถูกต้องของเหตุการณ์"
เมื่อมาถึงหน้านี้ ให้คลิก "ตรวจสอบเหตุการณ์" ซึ่งเป็นปุ่มที่ไฮไลต์เป็นสีส้ม ข้อความด้านล่างควรแสดงขึ้นเพื่อระบุว่าเหตุการณ์ถูกต้อง และคุณจะเห็นปุ่ม "ส่งไปยัง GA" ในขั้นตอนนี้ หากกิจกรรมแสดงว่าไม่ถูกต้อง เครื่องมือจะบอกฟิลด์ที่เกิดปัญหาอย่างชัดเจน และคุณสามารถแก้ไขแล้วลองอีกครั้ง
ตอนนี้คุณคลิกปุ่มได้แล้ว และระบบควรส่งเหตุการณ์ทดสอบไปยัง GA4
4. การตรวจสอบเหตุการณ์ใน GA4
เมื่อส่งเหตุการณ์แล้ว คุณจะไปที่บัญชี GA4 และตรวจสอบเรียลไทม์ได้ คุณควรเห็นกิจกรรมที่เข้ามา
ระบบอาจใช้เวลาประมาณ 24 ชั่วโมงในการเผยแพร่เหตุการณ์จากมุมมองแบบเรียลไทม์ไปยังแท็บการรายงานเหตุการณ์จริง ดังนั้นไม่ต้องกังวลหากคุณไม่เห็นเหตุการณ์นี้ในการรายงานเหตุการณ์ปกติทันที
หากพบปัญหาหรือความคลาดเคลื่อน คุณอาจดูข้อจำกัดที่ทราบแล้วของ Measurement Protocol ได้ที่นี่
5. การสร้างสคริปต์ Python
ตอนนี้คุณได้ทดสอบแล้ว คุณสามารถตรวจสอบการเรียก API และเพย์โหลดของเหตุการณ์เพื่อสร้างสถาปัตยกรรมที่คล้ายกันใน Python (หรือภาษาใดก็ได้ที่คุณเลือก) ซึ่งสามารถทำการเรียกนี้ได้ จากนั้นคุณสามารถกำหนดเวลาการดำเนินการนี้ตามความถี่ที่ต้องการและนำไปใช้ได้ สำหรับส่วนนี้ คุณสามารถใช้ IDE ที่เลือกซึ่งรองรับ Python หรือใช้ Notebook ของ Google Colab ซึ่งไม่ต้องติดตั้งอะไรในอุปกรณ์
เมื่อกลับไปที่เครื่องมือสร้างเหตุการณ์ GA4 คุณจะเห็นว่าปลายทางเป็นดังนี้
POST /mp/collect?firebase_app_id=XXXX&api_secret=XXXX
HTTP/1.1
Host: www.google-analytics.com
เพย์โหลดของเหตุการณ์มีลักษณะดังนี้
{
"app_instance_id": XXXX,
"non_personalized_ads": false,
"events": [
{
"name": "test_from_codelab",
"params": {
"test_param": "test_123"
}
}
]
}
คุณแปลโค้ดนี้เป็น Python ได้โดยใช้โค้ดที่คล้ายกับโค้ดนี้
import requests
import json
url = "https://www.google-analytics.com/mp/collect?firebase_app_id=XXXX&api_secret=XXXX"
payload = {
"app_instance_id": XXXX,
"non_personalized_ads": False,
"events": [
{
"name": "test_from_codelab",
"params": {
"test_param": "test_123"
}
}
]
}
r = requests.post(url,data=json.dumps(payload),verify=True)
print(r.status_code)
เมื่อดำเนินการนี้ด้วยค่าที่ถูกต้องแล้ว คุณควรเห็นเหตุการณ์ดังกล่าวแสดงใน GA4 แบบเรียลไทม์เช่นกัน
6. ขอแสดงความยินดี
ยินดีด้วย คุณใช้ Measurement Protocol ใน GA4 ได้สําเร็จแล้ว ตอนนี้คุณสามารถสร้างสถาปัตยกรรมโซลูชันที่มีประสิทธิภาพเพื่อส่งข้อมูลที่มีความหมายมากขึ้นไปยัง Google Analytics และปรับปรุงการวิเคราะห์การตลาดและธุรกิจได้แล้ว เพื่อให้ได้รับประโยชน์สูงสุดจากเหตุการณ์เหล่านี้ เราขอแนะนําให้คุณเชื่อมต่อกับ Google Ads และนําเข้าเหตุการณ์เหล่านี้เป็น Conversion ดูวิธีการโดยละเอียดได้ที่ขั้นตอนที่ 6 ใน Codelab นี้ Google Ads จะแสดงเฉพาะข้อมูลที่เชื่อมโยงกับ IDFA หรือรหัสอุปกรณ์ที่รวบรวมจาก Firebase SDK ภายใน 60 วันที่ผ่านมาเพื่อวัตถุประสงค์ในการวัด Conversion โปรดทราบว่า API นี้ยังเป็นเวอร์ชันอัลฟ่า และอย่าลืมอ่านข้อจำกัดที่ระบุที่นี่ ซึ่งควรได้รับการแก้ไขก่อนเปิดตัวอย่างเต็มรูปแบบ
คุณได้เรียนรู้
- วิธีรวบรวมตัวแปรที่เหมาะสมเพื่อทำการเรียก MP
- วิธีส่งและตรวจสอบเหตุการณ์ทดสอบ
- วิธีสร้างสคริปต์เพื่อส่งการเรียกใช้ MP