ช่องทางใน GA4 ขึ้น Unassigned กับ not set เยอะ ไล่หาสาเหตุทีละข้อ
สรุปสั้น ๆ
Unassigned คือช่องทางที่ GA4 จัดเข้ากฎของ channel group ไม่ได้ ส่วน (not set) คือมิติหนึ่งไม่มีค่า สองอย่างนี้มีสาเหตุคนละชุด วิธีไล่ที่เร็วที่สุดคือแยกก่อนว่าเห็นคำไหนในมิติไหน แล้วดู source/medium ของแถวนั้นก่อนสงสัยโค้ด
สมมติรายงานช่องทางเดือนที่แล้วมีแถว Unassigned คิดเป็น 18% ของเซสชันทั้งหมด และหน้า Landing page ขึ้น (not set) อีกกว่า 900 เซสชัน ผู้จัดการถามว่าแคมเปญ TikTok ที่พาคนเข้า LINE อยู่ในส่วนไหนของตัวเลขนี้ ไม่มีใครตอบได้ เพราะทุกคนใช้คำว่า ‘ค่าว่าง’ รวมกันหมด
Unassigned กับ (not set) เป็นคนละเรื่อง ปะปนกันแล้วจะไล่ผิดทางตั้งแต่ก้าวแรก ตารางด้านล่างแยกให้เห็นก่อนจะลงมือตรวจ
คำที่มักถูกปนกันสามคำ
| คำที่เห็น | ความหมาย | ปรากฏที่ |
|---|---|---|
| (direct) / (none) | เซสชันที่ไม่มีข้อมูลแหล่งที่มาที่ระบุได้ GA4 ถือเป็นช่องทาง Direct | source/medium |
| Unassigned | มีแหล่งที่มา แต่ไม่ตรงกฎใดของ channel group ที่ใช้อยู่ | Default channel group |
| (not set) | มิตินั้นไม่มีค่าให้แสดงในแถวนี้ | มิติใดก็ได้ เช่น landing page, custom dimension |
สาเหตุของ Unassigned เรียงจากที่เจอบ่อยสุด
- ค่า utm_medium ที่คิดเองไม่เข้ากฎ Default channel group อ่านค่า source และ medium เทียบกับรายการกฎของ Google ถ้าตั้ง medium เป็นคำเฉพาะของทีม เช่น line_oa หรือ ads_th อาจไม่ตรงกฎใดเลย
- เหตุการณ์ที่ส่งเข้ามาโดยไม่ผูกกับเซสชันเดิม เช่นเหตุการณ์จาก Measurement Protocol ที่ไม่ส่ง session_id ระบบสร้างเซสชันใหม่ที่ไม่มีแหล่งที่มา ดูรายละเอียดในการส่ง conversion ผ่าน Measurement Protocol
- เซสชันที่เริ่มจากการข้ามโดเมนโดยไม่มี linker ผู้ใช้ย้ายจากโดเมนหนึ่งไปอีกโดเมนที่ไม่ได้ตั้ง cross-domain แหล่งที่มาเดิมหาย
- แท็กที่ยิงช้ากว่าเหตุการณ์แรก ถ้า page_view ยิงหลัง event อื่น เซสชันอาจเริ่มโดยไม่มีข้อมูลหน้าและแหล่งที่มา
สาเหตุของ (not set) ที่ไม่เกี่ยวกับ tag พัง
- Custom dimension เพิ่งลงทะเบียน GA4 ไม่เติมค่าย้อนหลัง ข้อมูลก่อนวันที่ลงทะเบียนจึงขึ้น (not set) ทั้งที่ parameter ถูกส่งมาแล้ว ดูวิธีตั้งในการสร้าง Custom Dimension เก็บที่มาของคนทัก LINE
- ชนิดของมิติกับตัวชี้วัดไม่ตรงกัน มิติระดับเหตุการณ์ผสมกับตัวชี้วัดระดับผู้ใช้ หรือมิติระดับสินค้ากับตัวชี้วัดที่ไม่ใช่สินค้า จะได้ (not set)
- Parameter ไม่ถูกส่งในเหตุการณ์นั้น เช่นส่งค่า source เฉพาะตอนคลิกปุ่ม แต่ใช้มิติเดียวกันดูเหตุการณ์อื่น
- Landing page ว่าง เกิดเมื่อเซสชันไม่มี page_view ที่เก็บ page_location ได้ เช่นผู้ใช้ปิดหน้าเร็วกว่าที่แท็กทำงาน
ไล่หาสาเหตุตามลำดับ
- จดให้ชัดว่าเห็นคำไหนในมิติไหน และเปิดรายงานที่ใช้ช่วงเวลาเดียวกัน อย่าไล่หา ‘ค่าว่าง’ รวม ๆ
- ถ้าเป็น Unassigned ให้เพิ่มมิติ session source/medium เข้าตาราง ดู medium ที่ตกอยู่ในแถวนั้น ถ้าเห็นค่าที่ทีมตั้งเอง นั่นคือสาเหตุ ไปแก้ UTM หรือสร้างกฎของ channel group เอง
- ถ้า source/medium ของแถว Unassigned ว่างหรือเป็น (not set) ให้สงสัยเหตุการณ์ที่ไม่ผูกเซสชัน ตรวจด้วย DebugView ตามวิธีในการไล่หา conversion LINE ที่ไม่เข้า GA4 ว่าเหตุการณ์แรกของเซสชันคืออะไร
- ถ้าเป็น (not set) ของ custom dimension ให้เปิดหน้า Custom definitions ดูวันที่สร้าง แล้วเทียบกับช่วงข้อมูลที่ผิด
- ตรวจชนิดของมิติและตัวชี้วัดในรายงาน ถ้ามีการผสมชนิด ให้เปลี่ยนมิติหรือตัวชี้วัดให้ตรงกัน
สร้างกฎช่องทางของทีมเอง เมื่อ UTM ที่ใช้อยู่แก้ไม่ได้แล้ว
ถ้ามีลิงก์ที่ติดแท็กไปแล้วเป็นพัน ๆ ลิงก์ และเปลี่ยน medium ไม่ได้ ให้สร้าง custom channel group ใน Admin แล้วเขียนกฎให้ medium ของทีมเข้าช่องที่ต้องการ เช่นกฎที่ medium เท่ากับ line_oa ให้เป็นช่อง LINE Broadcast ตัวกฎใช้กับรายงานได้ ทดลองเปิดช่วงข้อมูลเก่าเทียบดู
แต่ทางที่ยั่งยืนกว่าคือกำหนดมาตรฐานการตั้งชื่อ UTM ให้ทุกคนใช้เหมือนกัน เรื่องการจัดระเบียบ UTM สำหรับทราฟฟิกที่เข้า LINE OA อธิบายโครงสร้างที่ใช้ซ้ำได้ ก่อนปล่อยแคมเปญทุกครั้งให้ทดสอบลิงก์จริง แล้วเปิด Realtime ดูว่าเซสชันนั้นตกช่องไหน
สรุป
อย่าเริ่มด้วยการสงสัยโค้ด เริ่มด้วยการเพิ่ม source/medium เข้าตารางที่มี Unassigned หนึ่งขั้นตอนนี้ตอบได้ทันทีว่าเป็นปัญหา UTM, กฎช่องทาง หรือเหตุการณ์ที่ไม่ผูกเซสชัน
ปิดท้ายด้วยการทำข้อกำหนดเดียวที่ป้องกันปัญหาซ้ำ ทุกแคมเปญที่พาคนเข้า LINE ต้องทดสอบลิงก์จริงใน Realtime ก่อนปล่อย และใช้ชื่อ medium จากรายการที่ตกลงกันไว้เท่านั้น
- Unassigned คือแหล่งที่มาที่ไม่ตรงกฎช่องทาง (not set) คือมิตินั้นไม่มีค่า สองเรื่องแยกกัน
- เพิ่ม source/medium เข้าตารางก่อน แล้วค่อยตัดสินว่าสงสัย UTM หรือเหตุการณ์
- Custom dimension ไม่เติมค่าย้อนหลัง (not set) ก่อนวันลงทะเบียนเป็นเรื่องปกติ
- ใช้ custom channel group แก้อดีต ใช้มาตรฐาน UTM ป้องกันอนาคต
- ทดสอบลิงก์ใน Realtime ก่อนปล่อยแคมเปญทุกครั้ง
คำถามที่พบบ่อย
Unassigned เท่าไรถึงถือว่ามากเกินไป
ไม่มีเกณฑ์สากล แต่ถ้าเกินไม่กี่เปอร์เซ็นต์ของเซสชันและแถวนั้นมีแคมเปญที่คุณจ่ายเงินอยู่ ควรไล่ทันที เพราะเงินที่จ่ายอาจถูกนับเป็นช่องทางที่ไม่รู้ที่มา
แก้ UTM แล้ว Unassigned ในอดีตจะหายไหม
ไม่หาย เพราะค่า UTM ถูกบันทึกตอนเกิดเซสชันแล้ว แก้ได้เฉพาะเซสชันใหม่ ส่วนอดีตแก้ได้ด้วยกฎ custom channel group ที่ใช้อ่านค่าเดิมใหม่
(not set) ของ landing page เกิดเพราะ tag พังใช่ไหม
ไม่เสมอไป มักเกิดจากเซสชันที่เหตุการณ์แรกไม่มี page_location เช่นผู้ใช้ปิดหน้าก่อนที่แท็กทำงาน ตรวจสัดส่วนว่าสูงผิดปกติหรือไม่ก่อนตามหาโค้ด
ใช้ medium ว่า referral กับลิงก์ LINE ได้ไหม
ได้ แต่จะไปรวมกับทราฟฟิก referral จริง ทำให้แยกลำบาก ถ้าต้องการเห็นแยก ให้กำหนด medium ที่ชัดเจนและสร้างกฎ channel group รองรับ
Unassigned กับ Direct ต่างกันตรงไหนในทางปฏิบัติ
Direct คือเซสชันที่ไม่มีแหล่งที่มาที่ระบุ ส่วน Unassigned คือเซสชันที่มีแหล่งที่มาแต่ไม่ตรงกฎช่องทางใด การแก้ต่างกัน Direct ต้องหาว่าอะไรทำให้แหล่งที่มาหาย ส่วน Unassigned แก้ที่กฎหรือ UTM
อ่านต่อแบบเจาะลึก
รู้ว่าโฆษณาเข้า LINE ทำยอดขายจริงแค่ไหน
linli ติดตามลูกค้าตั้งแต่คลิกโฆษณา กดเพิ่มเพื่อน ทักแชท จนปิดการขาย พร้อมส่ง Conversion กลับแพลตฟอร์มโฆษณา เริ่มฟรี 14 วัน
ทดลองใช้ฟรี 14 วัน