ตั้งค่า Event และ Conversion บน Google Analytics 4
GA4 ต่างจากรุ่นก่อนตรงที่ทุกอย่างคือ Event ไม่มีแนวคิดเรื่อง Pageview แยกต่างหากอีกแล้ว การตั้งค่าจึงเปลี่ยนไปพอสมควร และหลายเว็บที่ย้ายมาใช้ยังไม่ได้ตั้ง Event ที่มีความหมายกับธุรกิจจริง จึงเห็นแค่จำนวนผู้เข้าชมโดยไม่รู้ว่ามีกี่คนที่ติดต่อเข้ามา
คู่มือนี้ตั้ง Event ที่วัดผลทางธุรกิจได้จริง และทำเครื่องหมายเป็น Key Event เพื่อให้เห็นในรายงานหลัก
สิ่งที่ต้องเตรียม
- บัญชี Google Analytics 4 และสิทธิ์ผู้ดูแล
- สิทธิ์แก้ไขโค้ดของเว็บ หรือ Google Tag Manager
- รายการสิ่งที่ถือว่าเป็นความสำเร็จของธุรกิจ
ขั้นตอนที่ 1: ตรวจว่าติดตั้งพื้นฐานถูกต้อง
curl -sL https://example.com | grep -oE 'G-[A-Z0-9]{8,}' | sort -u
ควรพบรหัสเดียว หากพบหลายรหัสแปลว่าติดตั้งซ้ำ ซึ่งทำให้ตัวเลขผิดพลาดเป็นสองเท่า
ใช้ DebugView ใน GA4 เพื่อดูเหตุการณ์แบบเรียลไทม์ เปิดโหมดดีบักด้วยการติดตั้งส่วนขยาย Google Analytics Debugger หรือเพิ่มพารามิเตอร์
gtag('config', 'G-XXXX', { debug_mode: true });
ขั้นตอนที่ 2: เข้าใจ Event ที่เก็บให้อัตโนมัติ
GA4 เก็บสิ่งเหล่านี้ให้เองเมื่อเปิด Enhanced Measurement ที่ Admin แล้ว Data Streams
page_viewการเปิดหน้าscrollเลื่อนถึง 90% ของหน้าclickคลิกลิงก์ออกนอกเว็บfile_downloadดาวน์โหลดไฟล์video_startและvideo_completeสำหรับวิดีโอ YouTube ที่ฝังไว้form_startและform_submitซึ่งทำงานได้ไม่แน่นอนกับฟอร์มที่ใช้ JavaScript
Event เหล่านี้มีประโยชน์แต่ไม่ใช่สิ่งที่บอกผลทางธุรกิจ ต้องตั้งเพิ่มเอง
ขั้นตอนที่ 3: ตั้ง Event สำหรับการกดปุ่มโทร
สำหรับธุรกิจที่ลูกค้าโทรเข้ามา นี่คือตัวชี้วัดที่สำคัญที่สุด
<script>
document.addEventListener('click', function (e) {
var link = e.target.closest('a[href^="tel:"]');
if (!link) return;
gtag('event', 'contact_call', {
phone_number: link.getAttribute('href').replace('tel:', ''),
link_text: link.textContent.trim().slice(0, 100),
page_location: window.location.pathname
});
});
</script>
ทำแบบเดียวกันกับปุ่ม LINE และ Messenger
document.addEventListener('click', function (e) {
var link = e.target.closest('a[href*="line.me"], a[href*="m.me"]');
if (!link) return;
gtag('event', 'contact_chat', {
channel: link.href.indexOf('line.me') > -1 ? 'line' : 'messenger',
page_location: window.location.pathname
});
});
ขั้นตอนที่ 4: ตั้ง Event สำหรับการส่งฟอร์ม
อย่าพึ่ง form_submit อัตโนมัติ เพราะฟอร์มที่ส่งด้วย AJAX มักไม่ถูกจับ ให้ยิง Event ตอนที่ส่งสำเร็จจริง
// Contact Form 7
document.addEventListener('wpcf7mailsent', function (e) {
gtag('event', 'generate_lead', {
form_id: e.detail.contactFormId,
form_name: e.detail.unitTag,
value: 1,
currency: 'THB'
});
});
// ฟอร์มทั่วไปที่ส่งด้วย fetch
async function submitForm(data) {
const res = await fetch('/api/contact', { method: 'POST', body: JSON.stringify(data) });
if (res.ok) {
gtag('event', 'generate_lead', {
form_name: 'contact_main',
value: 1,
currency: 'THB'
});
}
}
ยิง Event เมื่อสำเร็จเท่านั้น การยิงตอนกดปุ่มจะนับรวมกรณีที่กรอกข้อมูลผิดและส่งไม่สำเร็จด้วย
ขั้นตอนที่ 5: ตั้ง Event สำหรับร้านค้า
GA4 มี Event มาตรฐานสำหรับอีคอมเมิร์ซ ใช้ชื่อตามมาตรฐานเสมอเพื่อให้รายงานสำเร็จรูปทำงานได้
// ดูสินค้า
gtag('event', 'view_item', {
currency: 'THB',
value: 1290,
items: [{ item_id: 'SKU123', item_name: 'เสื้อยืดคอกลม', item_category: 'เสื้อผ้า', price: 1290, quantity: 1 }]
});
// เพิ่มลงตะกร้า
gtag('event', 'add_to_cart', {
currency: 'THB', value: 1290,
items: [{ item_id: 'SKU123', item_name: 'เสื้อยืดคอกลม', price: 1290, quantity: 1 }]
});
// ซื้อสำเร็จ
gtag('event', 'purchase', {
transaction_id: 'ORDER-2026-0912',
currency: 'THB',
value: 2580,
shipping: 50,
items: [{ item_id: 'SKU123', item_name: 'เสื้อยืดคอกลม', price: 1290, quantity: 2 }]
});
transaction_id จำเป็นและต้องไม่ซ้ำ GA4 ใช้ค่านี้กันการนับซ้ำเมื่อผู้ใช้รีเฟรชหน้าขอบคุณ
ขั้นตอนที่ 6: ทำเครื่องหมายเป็น Key Event
Event ที่ตั้งไว้จะยังไม่ปรากฏในรายงานหลักจนกว่าจะทำเครื่องหมาย ไปที่ Admin แล้ว Events รอให้ Event ปรากฏในรายการ ซึ่งใช้เวลาสูงสุด 24 ชั่วโมงหลังมีข้อมูลเข้ามา แล้วเปิดสวิตช์ Mark as key event
หาก Event ยังไม่ปรากฏ สร้างล่วงหน้าได้ที่ Admin แล้ว Key events แล้ว New key event แล้วพิมพ์ชื่อให้ตรงกับที่ยิงในโค้ด
เลือกทำเครื่องหมายเฉพาะสิ่งที่เป็นเป้าหมายจริง สาม ถึง ห้ารายการก็เพียงพอ การทำเครื่องหมายทุกอย่างทำให้ตัวเลขไม่มีความหมาย
ขั้นตอนที่ 7: สร้าง Custom Dimension
พารามิเตอร์ที่ส่งไปกับ Event จะยังไม่ปรากฏในรายงานจนกว่าจะลงทะเบียน
ไปที่ Admin แล้ว Custom definitions แล้ว Create custom dimension ตั้ง Scope เป็น Event แล้วใส่ชื่อพารามิเตอร์ให้ตรงกับที่ส่ง เช่น form_name หรือ channel
ข้อจำกัดคือมีได้ 50 รายการต่อพร็อพเพอร์ตี้ และข้อมูลจะเริ่มเก็บตั้งแต่วันที่สร้างเท่านั้น ไม่ย้อนหลัง จึงควรวางแผนตั้งแต่ต้น
ขั้นตอนที่ 8: ตรวจสอบและแก้ปัญหา
ใช้ DebugView ที่ Admin แล้ว DebugView เปิดเว็บในโหมดดีบัก แล้วทำกิจกรรมที่ต้องการทดสอบ Event ควรปรากฏภายในไม่กี่วินาที
ตรวจว่าพารามิเตอร์ครบและค่าถูกต้อง โดยคลิกที่ Event ในไทม์ไลน์
ใช้รายงาน Realtime ดูภาพรวม และรายงาน Engagement แล้ว Events ดูข้อมูลย้อนหลัง ซึ่งมีความล่าช้าประมาณ 24-48 ชั่วโมง
ปัญหาที่พบบ่อย
Event ไม่ปรากฏใน DebugView
ตรวจสามข้อ โหมดดีบักเปิดอยู่จริง โค้ด GA4 โหลดก่อนที่โค้ด Event จะทำงาน และไม่มีตัวบล็อกโฆษณาทำงานอยู่ในเบราว์เซอร์ที่ทดสอบ
ตัวเลขใน GA4 น้อยกว่าความเป็นจริงมาก
สาเหตุหลักคือแบนเนอร์คุกกี้ที่บล็อกการเก็บข้อมูลก่อนได้รับความยินยอม ซึ่งถูกต้องตามกฎหมาย ใช้ Consent Mode เพื่อให้ GA4 ประมาณค่าส่วนที่ขาดได้
ยอดซื้อถูกนับซ้ำ
ผู้ใช้รีเฟรชหน้าขอบคุณ ตรวจว่าส่ง transaction_id ที่ไม่ซ้ำทุกครั้ง GA4 จะกรองรายการซ้ำให้เอง
ข้อมูลหายหลังตั้งค่าใหม่
Custom Dimension เก็บข้อมูลตั้งแต่วันที่สร้างเท่านั้น และการเปลี่ยนชื่อ Event ทำให้ข้อมูลเก่ากับใหม่แยกกัน วางแผนชื่อให้ดีตั้งแต่ต้นและอย่าเปลี่ยนโดยไม่จำเป็น
ต้องการที่ปรึกษาด้านการวัดผลเว็บไซต์ ติดต่อ THAI DATA CLOUD ได้ที่ https://thaidata.cloud/contact/
- Categories:
- Cloud
- Tags:
- Cloud
- Cloud Server
Related Posts
หมวดหมู่ที่น่าสนใจ
- Account Settings
- AD Server
- AI
- Alibaba Cloud
- Anti-Spam Gateway
- AWS Amazon Web Services
- Campaign
- CentOS/AlmaLinux
- Cloud
- Cloud Backup
- Cloud Communication
- Cloud Migration
- Cloud Security
- Cloud Server Management
- Cloud Solution
- Cloud Solution for Government
- Cloud Solutions by Industry
- Cloud Storage
- Cloud VPS App Plus +
- Cloud VPS DirectAdmin
- Cloud VPS Plesk
- CSR
- Cyber Security
- Cybersecurity
- Data Sovereignty
- Database Server
- DDoS
- Digital Tranformation
- Digital Transformation
- Direct Mail
- Directadmin
- Domainname
- Ecommerce
- ERP
- Generative AI
- Getting Started
- Google Cloud
- Google G Suite
- Huawei Cloud
- IT News
- Linux Server
- Managed Cloud Services
- Managed Service Provider
- Manual
- Microsoft
- Microsoft 365
- Microsoft Azure
- News
- On-premise
- Private Mail Server
- Promotion
- Recommend Solution (Enterprise)
- Server
- Sovereign Cloud
- THAI DATA CLOUD Platform
- Ubuntu
- Ubuntu
- Uncategorized
- VMware
- VPS Server
- Web Design
- Web Hosting
- Web Hosting (DirectAdmin)
- Web Hosting (Plesk)
- Web Technologies
- Windows Server
- Wordpress
- Zimbra
- เรื่องราวความประทับใจ
- โซลูชันสำหรับธุรกิจการผลิตและยานยนต์
- โซลูชันสำหรับธุรกิจการศึกษา
- โซลูชันสำหรับธุรกิจการเงิน
- โซลูชันสำหรับธุรกิจขนส่งและกระจายสินค้า
- โซลูชันสำหรับธุรกิจค้าปลีก
- โซลูชันสำหรับธุรกิจท่องเที่ยว
- โซลูชันสำหรับธุรกิจบริการสุขภาพและโรงพยาบาล
- โซลูชันสำหรับธุรกิจประกันภัย
- โซลูชันสำหรับธุรกิจพลังงานและสาธารณูปโภค
- โซลูชันสำหรับธุรกิจสื่อสารมวลชนและเอ็นเตอร์เทนเมนท์
- โซลูชันสำหรับธุรกิจอสังหาริมทรัพย์
- โซลูชันสำหรับธุรกิจเทคโนโลยี








