← กลับไปหน้าบทความ
ส่ง Conversion กลับ

แม็ปชื่อ Event ให้ตรงกันทั้ง Meta Google และ TikTok ก่อนรายงานจะเทียบกันไม่ได้

ทีมบรรณาธิการ linli01 พ.ย. 09:28อัปเดต 01 พ.ย. 09:28อ่าน 2 นาที
แม็ปชื่อ Event ให้ตรงกันทั้ง Meta Google และ TikTok ก่อนรายงานจะเทียบกันไม่ได้
บทความนี้จัดทำเพื่อความรู้ ชื่อธุรกิจ ตัวเลข หรือบทสนทนาที่ไม่มีแหล่งอ้างอิงกำกับเป็นกรณีตัวอย่างเพื่ออธิบายแนวคิด ดูรายละเอียดที่ นโยบายกองบรรณาธิการ

สรุปสั้น ๆ

การกระทำเดียวกันถูกเรียกคนละชื่อในแต่ละแพลตฟอร์ม เช่น Lead ใน Meta generate_lead ใน GA4 และ SubmitForm ใน TikTok จึงควรทำรายการกลางหนึ่งชุดใน dataLayer แล้วให้ GTM แปลเป็นชื่อของแต่ละแพลตฟอร์ม พร้อมแม็ปพารามิเตอร์มูลค่าและสินค้าให้ตรงกัน ชื่อเดียวกันยังไม่พอ ต้องตกลงด้วยว่านับเมื่อไหร่ ไม่เช่นนั้นตัวเลขยังต่างกัน

แดชบอร์ดรวมของแอดมีสามช่อง ช่อง Meta เขียนว่า Leads 120 ช่อง GA4 เขียนว่า generate_lead 90 ช่อง TikTok เขียนว่า SubmitForm 70 สมมติว่าเป็นแคมเปญเดียวกันในสัปดาห์เดียวกัน ทีมเริ่มเถียงกันว่าแพลตฟอร์มไหนนับเกิน ทั้งที่ต้นเหตุอาจเป็นแค่ว่าสามชื่อนี้ถูกยิงจากจุดต่างกันของเส้นทางลูกค้า

ก่อนจะสรุปว่าตัวเลขตัวไหนผิด ต้องเทียบให้ได้ก่อนว่าสามชื่อนั้นเป็นการกระทำเดียวกันหรือเปล่า บทความนี้ไล่ตั้งแต่ตารางแม็ปชื่อ พารามิเตอร์ที่ต้องแม็ปตาม ไปจนถึงการตกลงนิยามที่ทีมมักข้าม

การกระทำเดียวกันมีสามชื่อ และบางชื่อไม่มีคู่

ชื่อ event เป็นสิ่งที่แต่ละแพลตฟอร์มกำหนดเองตามเอกสารของตน ตารางด้านล่างเป็นการเทียบที่ใช้บ่อยกับธุรกิจที่ปิดการขายทาง LINE ตรวจชื่อล่าสุดในเอกสารของแต่ละแพลตฟอร์มก่อนใช้จริง เพราะชื่ออาจเปลี่ยนได้

การกระทำของลูกค้าGA4MetaTikTok
ดูหน้าสินค้าview_itemViewContentViewContent
ส่งฟอร์มลีดgenerate_leadLeadSubmitForm
กดปุ่มติดต่อหรือเพิ่มเพื่อน LINEevent ที่ตั้งเอง เช่น line_contact_clickContactContact
สมัครสมาชิกsign_upCompleteRegistrationCompleteRegistration
เพิ่มลงตะกร้าadd_to_cartAddToCartAddToCart
เริ่มชำระเงินbegin_checkoutInitiateCheckoutInitiateCheckout
ซื้อสำเร็จpurchasePurchaseCompletePayment

ตั้งรายการชื่อกลางหนึ่งชุด แล้วให้ GTM แปลเป็นชื่อแต่ละแพลตฟอร์ม

ปัญหาจะซ้ำทุกแคมเปญถ้าแต่ละแท็กตั้งชื่อเอง ทางที่ดีกว่าคือให้เว็บพูดภาษากลางภาษาเดียว แล้วให้ GTM เป็นล่ามของแต่ละแพลตฟอร์ม

  1. ทำตารางกลางในชีตเดียว หนึ่งแถวต่อหนึ่งการกระทำ ประกอบด้วยชื่อกลาง ชื่อใน GA4 ชื่อใน Meta ชื่อใน TikTok และนิยามว่านับเมื่อไหร่
  2. ให้เว็บส่งชื่อกลางเข้า dataLayer เช่น dataLayer.push({ event: 'lead_submit', value: 500, currency: 'THB' }) พร้อมพารามิเตอร์ตามมาตรฐานเดียวกันทุกเหตุการณ์
  3. ใน GTM สร้าง Lookup Table หนึ่งตัวต่อแพลตฟอร์ม ให้รับชื่อกลางแล้วคืนชื่อของแพลตฟอร์มนั้น
  4. ในแท็กของแต่ละแพลตฟอร์ม ใช้ตัวแปร Lookup Table เป็นชื่อ event แทนการพิมพ์ชื่อลงในแท็ก เมื่อต้องเปลี่ยนชื่อ แก้ที่ตารางเดียว
  5. ใช้ Trigger ชนิด Custom Event จับชื่อกลางทุกตัว และเก็บตารางกลางไว้ในเอกสารส่งมอบ ตามแนวทางเดียวกับ การตรวจโครงสร้าง event ของ GA4

พารามิเตอร์ต้องแม็ปด้วย ไม่เช่นนั้นมูลค่าและสินค้าไม่ตรงกัน

ถ้าชื่อ event ตรงแต่รูปของข้อมูลต่างกัน รายงานมูลค่ายังเทียบกันไม่ได้ ตารางนี้สรุปชื่อฟิลด์ที่ใช้ตามเอกสารของแต่ละแพลตฟอร์ม ณ วันที่เขียน ตรวจเวอร์ชันล่าสุดก่อนนำไปใช้

ข้อมูลGA4MetaTikTok
มูลค่าvaluevaluevalue
สกุลเงินcurrencycurrencycurrency
รหัสสินค้าitems[].item_idcontents[].id และ content_idscontents[].content_id
จำนวนสินค้าitems[].quantitycontents[].quantitycontents[].quantity
รหัสกันซ้ำtransaction_id สำหรับ purchaseevent_id ใช้ร่วมกับฝั่งเซิร์ฟเวอร์event_id ใช้ร่วมกับฝั่งเซิร์ฟเวอร์

ชื่อตรงกันแล้ว ยังต้องตกลงว่าเมื่อไหร่ถึงนับ

กลับไปที่ตัวเลข 120 90 และ 70 ในตัวอย่างต้นบทความ ถ้า Meta Lead ยิงตอนคลิกปุ่มส่ง GA4 generate_lead ยิงที่หน้าขอบคุณ และ TikTok SubmitForm ยิงเมื่อเซิร์ฟเวอร์ตอบรับ ทั้งสามช่องเป็นการกระทำเดียวกันก็จริง แต่จับคนละขั้นของเส้นทาง ส่วนต่างที่เห็นจึงเป็นนิยาม ไม่ใช่ตัวเลขหาย

ธุรกิจที่ปิดการขายใน LINE ซับซ้อนกว่านั้น เพราะการกดปุ่มเพิ่มเพื่อนกับการเริ่มคุยจริงเป็นคนละเหตุการณ์ และอย่างหลังเกิดใน LINE ที่เว็บมองไม่เห็น ควรเขียนนิยามลงตารางกลางว่าแต่ละชื่อนับที่จุดไหน และใช้จุดเดียวกันกับทุกแพลตฟอร์ม ดูภาพรวมของปัญหานับซ้อนข้ามแพลตฟอร์มได้ที่ การตรวจ attribution ที่ซ้อนทับกัน

  • ลีด: ยิงหลังเซิร์ฟเวอร์ยืนยันว่ารับฟอร์มแล้ว ไม่ยิงตอนกดปุ่ม
  • ซื้อสำเร็จ: ยิงหลังชำระเงินสำเร็จ พร้อมรหัสธุรกรรมที่ใช้ร่วมกันทุกฝั่ง
  • ติดต่อ LINE: ยิงตอนกดปุ่ม และแยกชื่อจากลีด เพราะเป็นสัญญาณที่อ่อนกว่า

ชื่อ event ที่ไม่มีในรายการมาตรฐาน ตั้งอย่างไร

  • GA4 ใช้ชื่อภาษาอังกฤษแบบ snake_case ขึ้นต้นด้วยตัวอักษร ยาวไม่เกิน 40 ตัวอักษร และห้ามขึ้นต้นด้วยคำสงวน เช่น google_ ga_ หรือ firebase_
  • ชื่อ event แยกตัวพิมพ์เล็กใหญ่ทั้งใน GA4 และ Meta ดังนั้น Purchase กับ purchase ใน GA4 เป็นสอง event และตัวแรกไม่ใช่ event มาตรฐาน
  • ถ้าการกระทำนั้นไม่มีในรายการมาตรฐานของ Meta หรือ TikTok ให้เลือกตัวที่ใกล้ที่สุด แล้วบันทึกความหมายจริงไว้ในตารางกลาง ดีกว่าตั้งชื่อแปลกที่ระบบอาจไม่นำไปใช้ปรับการแสดงโฆษณา
  • เมื่อต้องเปลี่ยนชื่อกลางทาง ข้อมูลเก่ายังอยู่ใต้ชื่อเดิม ให้จดวันที่เปลี่ยน และมาร์ก key event ใน GA4 ให้ชื่อใหม่ด้วย

ตรวจการแม็ปด้วยการยิงทดสอบหนึ่งรอบต่อ event

  1. ยิง event ทดสอบทีละตัวจากเว็บ แล้วเปิด DebugView ของ GA4 เทียบชื่อและพารามิเตอร์กับตารางกลาง
  2. ดูแท็บ Test Events ของ Meta และ TikTok ว่าชื่อที่ขึ้นตรงกับตาราง และค่า value กับ currency ไม่ว่าง
  3. ถ้ามี event ที่ส่งทั้งจากเบราว์เซอร์และเซิร์ฟเวอร์ ตรวจว่าชื่อ event และ event_id ตรงกันทั้งสองฝั่ง ถ้าไม่ตรง การกันซ้ำจะไม่ทำงาน ดูวิธีของ GA4 ที่ การกันซ้ำด้วย transaction_id
  4. ทำสำเนาตารางกลางลงเอกสารส่งมอบ และตรวจซ้ำทุกครั้งที่เพิ่ม event ใหม่

สรุป

เริ่มจากตารางกลางหนึ่งแผ่นที่มีทั้งชื่อ พารามิเตอร์ และนิยามจุดยิง ก่อนจะเขียนแท็กเพิ่มอีกตัว แล้วย้ายชื่อที่พิมพ์ตรงในแท็กเดิมมาใช้ Lookup Table ทีละตัว

  • แม็ปชื่อและพารามิเตอร์จากรายการกลางชุดเดียว ไม่ไล่แก้ทีละแท็ก
  • เทียบตัวเลขข้ามแพลตฟอร์มเมื่อจุดยิงตรงกันแล้วเท่านั้น

คำถามที่พบบ่อย

ใช้ชื่อ event ภาษาไทยหรือ camelCase ได้ไหม

ไม่แนะนำ GA4 ตามเอกสารของ Google ให้ชื่อขึ้นต้นด้วยตัวอักษรและใช้ตัวอักษร ตัวเลข ขีดล่าง การใช้ภาษาอังกฤษแบบ snake_case ทำให้ย้ายข้ามแพลตฟอร์มและอ่านในรายงานได้ง่ายกว่า

เปลี่ยนชื่อ event กลางทาง ข้อมูลเก่าจะเป็นอย่างไร

ข้อมูลเก่ายังเก็บอยู่ใต้ชื่อเดิม ส่วนชื่อใหม่เริ่มนับตั้งแต่วันเปลี่ยน ต้องรวมสองชื่อเองในรายงานที่ดูข้ามช่วงนั้น และอย่าลืมมาร์ก key event ให้ชื่อใหม่ใน GA4

Meta Lead กับ GA4 generate_lead ควรยิงเมื่อไหร่ถึงเทียบกันได้

ยิงจากจุดเดียวกันของเส้นทาง เช่น หลังเซิร์ฟเวอร์ยืนยันรับฟอร์ม และมาจาก event ใน dataLayer ตัวเดียวกัน อย่าให้ฝั่งหนึ่งยิงที่การกดปุ่มและอีกฝั่งยิงที่หน้าขอบคุณ

ถ้าใช้ Conversion API ต้องแม็ปชื่อด้วยไหม

ต้อง ฝั่งเซิร์ฟเวอร์ต้องใช้ชื่อ event เดียวกับฝั่งเบราว์เซอร์และ event_id เดียวกัน Meta จึงจะนับว่าเป็น event เดียวกันและตัดซ้ำให้ ถ้าชื่อต่างกัน จะนับเป็นสองครั้ง

TikTok ไม่มี event ที่เทียบกับ Lead ตรง ๆ ใช้อะไรแทน

ใช้ SubmitForm สำหรับการส่งฟอร์ม หรือ CompleteRegistration ถ้าเป็นการสมัครสมาชิก แล้วเขียนความหมายจริงไว้ในตารางกลาง ตรวจรายชื่อ event ล่าสุดในเอกสารของ TikTok ก่อนเลือก

ลองตรวจด้วยตัวเอง

Meta Ads → LINE Checker

ตรวจว่า fbclid, Pixel และเส้นทางเข้า LINE ของคุณพร้อมให้ Meta วัด Conversion หรือยัง

ตรวจความพร้อมฟรี

ใช้ฟรี ไม่ต้องสมัคร ไม่เก็บข้อมูลที่คุณกรอก

รู้ว่าโฆษณาเข้า LINE ทำยอดขายจริงแค่ไหน

linli ติดตามลูกค้าตั้งแต่คลิกโฆษณา กดเพิ่มเพื่อน ทักแชท จนปิดการขาย พร้อมส่ง Conversion กลับแพลตฟอร์มโฆษณา เริ่มฟรี 14 วัน

ทดลองใช้ฟรี 14 วัน

บทความที่เกี่ยวข้อง

ปิดการขายใน LINE MINI App แล้วส่งยอดกลับแพลตฟอร์มโฆษณายังไง

ปิดการขายใน LINE MINI App แล้วส่งยอดกลับแพลตฟอร์มโฆษณายังไง

ออเดอร์ที่เกิดใน LINE MINI App ต้องผูกกับคลิกโฆษณาด้วยตัวระบุที่ส่งต่อเข้าแอป แล้วส่งกลับจากเซิร์ฟเวอร์หลังยืนยันชำระเงิน บทความนี้ไล่ขั้นตอนและกับดัก
ส่ง Conversion เข้า LINE Ads จากฝั่งเซิร์ฟเวอร์ เมื่อปิดการขายในแชทไม่มีหน้าเว็บให้ติดแท็ก

ส่ง Conversion เข้า LINE Ads จากฝั่งเซิร์ฟเวอร์ เมื่อปิดการขายในแชทไม่มีหน้าเว็บให้ติดแท็ก

เมื่อปิดการขายในแชท LINE Tag ไม่มีหน้าให้ยิง ต้องส่ง Conversion จากเซิร์ฟเวอร์พร้อมตัวระบุที่เก็บไว้ตั้งแต่คลิก บทความนี้ไล่ลำดับขั้นและวิธีวัด coverage
อัปโหลดเบอร์ลูกค้าเข้า LINE Ads เป็นกลุ่มเป้าหมาย ให้จับคู่ติดมากที่สุด

อัปโหลดเบอร์ลูกค้าเข้า LINE Ads เป็นกลุ่มเป้าหมาย ให้จับคู่ติดมากที่สุด

อัปโหลดเบอร์ลูกค้าหลายพันรายการแต่จับคู่ติดแค่หยิบมือ มักไม่ใช่ความผิดของระบบ บทความนี้ไล่ตั้งแต่จัดรูปแบบเบอร์ เลือกรายชื่อ จนถึงข้อตกลงด้านข้อมูลส่วนบุคคล