← กลับไปหน้าบทความ
LINE Tracking

เก็บ UTM ก่อนเข้า LINE ด้วย GTM จุดไหนที่ Event มักหายระหว่างทาง

ทีมบรรณาธิการ linli12 ส.ค. 04:51อัปเดต 12 ส.ค. 04:51อ่าน 4 นาที
เก็บ UTM ก่อนเข้า LINE ด้วย GTM จุดไหนที่ Event มักหายระหว่างทาง
บทความนี้จัดทำเพื่อความรู้ ชื่อธุรกิจ ตัวเลข หรือบทสนทนาที่ไม่มีแหล่งอ้างอิงกำกับเป็นกรณีตัวอย่างเพื่ออธิบายแนวคิด ดูรายละเอียดที่ นโยบายกองบรรณาธิการ

สรุปสั้น ๆ

UTM ที่ติดมากับลิงก์โฆษณามักหายก่อนถึง LINE เพราะการ Redirect หลายชั้นหรือ In-app Browser ตัดค่าพารามิเตอร์ทิ้งระหว่างทาง วิธีแก้คือให้ GTM อ่านค่า UTM จาก URL ทันทีที่หน้าเว็บโหลด แล้วบันทึกไว้ก่อนที่จะพาไปยัง LINE แทนที่จะหวังว่าค่าจะติดไปเองตลอดเส้นทาง

ทีมการตลาดร้านหนึ่งตั้งค่า UTM ไว้อย่างดีในทุกแคมเปญ ยิงแอด Google, Facebook และ TikTok พร้อม utm_source กับ utm_campaign ที่ตั้งชื่อเป็นระบบระเบียบ แต่พอไปดูรายงานปลายทางกลับพบว่า Event ที่ควรจะมี UTM ติดมาด้วย กลับว่างเปล่าเกินครึ่ง เหมือน UTM หายไปเฉย ๆ ระหว่างทาง

ปัญหานี้ไม่ใช่เรื่องแปลกและเกิดกับหลายธุรกิจที่พาลูกค้าจากโฆษณาไปยัง LINE เพราะเส้นทางจากคลิกโฆษณาจนถึงหน้าแชท มักผ่านหลายจุดที่ค่าพารามิเตอร์อาจถูกตัดทิ้งได้ ไม่ว่าจะเป็นการ Redirect ผ่านหลายลิงก์ หรือการเปิดผ่าน In-app Browser ที่มีพฤติกรรมจัดการ URL ต่างจากเบราว์เซอร์ปกติ

บทความนี้จะไล่จุดที่ UTM มักหายบ่อยที่สุด พร้อมวิธีตั้ง GTM ให้จับและส่งต่อค่าพารามิเตอร์เหล่านี้ก่อนที่ลูกค้าจะถูกพาไปยัง LINE เพื่อให้ทีมการตลาดเห็นภาพที่แท้จริงว่าแคมเปญไหนพาคนมาถึงปลายทางได้จริง

เก็บ UTM ก่อนเข้า LINE สำคัญตรงไหน

UTM คือป้ายบอกที่มาที่ติดไปกับลิงก์ทุกครั้งที่มีการคลิกจากโฆษณาหรือคอนเทนต์ ถ้าไม่มี UTM ติดไปด้วยจนถึง Event ที่บันทึกไว้ คุณจะรู้แค่ว่า ‘มีคนคลิกปุ่ม LINE’ แต่ไม่รู้เลยว่าคนกลุ่มนั้นมาจากแคมเปญไหน ซึ่งทำให้ไม่สามารถเปรียบเทียบประสิทธิภาพระหว่างแคมเปญได้เลย

ยิ่งธุรกิจที่ยิงโฆษณาหลายแพลตฟอร์มพร้อมกัน การมี UTM ติดไปกับทุก Event คือสิ่งที่ทำให้แยกได้ว่าเงินที่จ่ายไปแต่ละแพลตฟอร์ม พาคนมาถึงจุดกดปุ่ม LINE ได้มากน้อยแค่ไหน ถ้าข้อมูลตรงนี้ขาดหาย การตัดสินใจเพิ่มหรือลดงบในแต่ละแพลตฟอร์มจะกลายเป็นการเดามากกว่าการวิเคราะห์

จุดที่ UTM มักหายระหว่างทางจากโฆษณาไปถึง LINE

จุดแรกที่ UTM มักหายคือตอนมีการ Redirect หลายชั้น เช่น คลิกจากโฆษณาไปยัง Short Link ก่อน แล้ว Short Link ค่อย Redirect ต่อไปยังหน้าเว็บจริง บาง Redirect Service ไม่ได้ส่งต่อพารามิเตอร์ทั้งหมดโดยอัตโนมัติ ทำให้ UTM หายไปตั้งแต่ขั้นตอนนี้ก่อนจะถึงเว็บไซต์ด้วยซ้ำ

จุดที่สองคือ In-app Browser ของแพลตฟอร์มโซเชียล ซึ่งบางเวอร์ชันมีพฤติกรรมตัดพารามิเตอร์บางตัวทิ้งเมื่อมีการโหลดหน้าซ้ำหรือสลับไปเปิดแอปอื่น จุดที่สามคือการที่ทีมเว็บเปลี่ยนโครงสร้างหน้าหรือระบบ Redirect ภายในเว็บเอง โดยไม่รู้ว่าต้องรักษาพารามิเตอร์ UTM ให้ติดไปด้วยตลอดเส้นทาง

วางโครงสร้าง UTM ให้อ่านง่ายตั้งแต่ต้น

ก่อนแก้ปัญหาทางเทคนิค ต้องมีโครงสร้าง UTM ที่เป็นระบบก่อน เพื่อให้ตรวจสอบและ Debug ได้ง่ายเมื่อเกิดปัญหา และควรใช้เครื่องมือช่วยสร้าง UTM Tracking URLให้ตั้งชื่อสม่ำเสมอทุกครั้ง ไม่พิมพ์มือแบบสุ่ม

พารามิเตอร์ใช้บอกอะไรตัวอย่าง
utm_sourceแพลตฟอร์มต้นทางfacebook, google, tiktok
utm_mediumประเภทช่องทางcpc, social, organic
utm_campaignชื่อแคมเปญsummer-sale-2026
utm_contentตัวแปรของโฆษณาหรือปุ่มbanner-a, floating-button

ตั้ง GTM ให้จับและส่งต่อ UTM ก่อนพาไป LINE

แนวทางที่ช่วยลดโอกาส UTM หายได้มากคือไม่พึ่งพาการที่ UTM ‘ติดไปเอง’ ตลอดเส้นทาง แต่ให้ GTM อ่านค่าและบันทึกไว้ทันทีที่มีโอกาส

  1. ตั้ง Variable ประเภท URL Query Parameter ใน GTM เพื่ออ่านค่า utm_source, utm_medium, utm_campaign จาก URL ทันทีที่หน้าเว็บโหลด
  2. บันทึกค่าที่อ่านได้ลง Cookie หรือ Local Storage ทันที เพื่อให้ค่ายังอยู่แม้ผู้ใช้จะเปลี่ยนไปดูหน้าอื่นก่อนกดปุ่ม LINE
  3. เมื่อมีการคลิกปุ่ม LINE ให้ Tag ดึงค่า UTM ที่บันทึกไว้จาก Cookie หรือ Local Storage มาแนบไปกับ Event แทนที่จะอ่านจาก URL ปัจจุบันอย่างเดียว เพราะ URL ตอนคลิกปุ่มอาจไม่มี UTM ติดอยู่แล้ว
  4. ทดสอบด้วยการเปิดหน้าเว็บผ่านลิงก์ที่มี UTM ครบ คลิกไปดูหน้าอื่นก่อนหนึ่งครั้ง แล้วค่อยกดปุ่ม LINE เพื่อยืนยันว่าค่ายังติดไปกับ Event สุดท้าย

Debug เมื่อ Event ไม่เข้า ต้องเช็คตรงไหนก่อน

เมื่อพบว่า UTM หายไปจาก Event ให้เริ่มตรวจจากปลายทางย้อนกลับไปต้นทาง ก่อนอื่นเปิด GA4 DebugView ดูว่า Event ที่ยิงมามี Parameter UTM ติดมาด้วยหรือไม่ ถ้าไม่มี ให้เปิด GTM Preview Mode ดูว่า Variable ที่อ่านค่า UTM ทำงานถูกต้องหรือไม่ในหน้าที่ทดสอบ

ถ้า Variable ทำงานปกติแต่ยังไม่มีค่าใน Event ให้สงสัยว่าปัญหาน่าจะอยู่ที่ Cookie หรือ Local Storage ถูกลบก่อนถึงจังหวะคลิกปุ่ม อาจเกิดจากตั้งค่า Cookie แบบ Session เท่านั้นซึ่งหายเมื่อปิดแท็บ หรือเบราว์เซอร์บล็อก Storage บางประเภทตามการตั้งค่า Privacy ของผู้ใช้เอง

เคสที่ UTM หายเพราะ Redirect หรือ In-app Browser

เคสที่พบบ่อยที่สุดคือธุรกิจใช้ Short Link จากบริการภายนอกเพื่อความสั้นและจำง่าย แต่ Short Link บางบริการไม่ได้ตั้งค่าให้ส่งต่อพารามิเตอร์ทั้งหมดโดยอัตโนมัติ ทำให้เกิดปัญหา UTM หายจากการ Redirectตั้งแต่ก่อนถึงเว็บไซต์ วิธีแก้คือเลือกบริการ Short Link ที่รองรับการส่งต่อพารามิเตอร์แบบเต็ม หรือทดสอบให้แน่ใจก่อนใช้งานจริงทุกครั้ง

อีกเคสคือโฆษณาบน Facebook ที่เปิดผ่าน In-app Browser ซึ่งบางครั้งมีการโหลดหน้าซ้ำสองรอบก่อนแสดงผลจริง รอบแรกอาจมี UTM ครบ แต่รอบที่สองที่ผู้ใช้เห็นจริงอาจไม่มี ทำให้ GTM ที่อ่านค่าจาก URL ปัจจุบันตอนคลิกปุ่มไม่เจอ UTM เลย นี่คือเหตุผลที่ต้องบันทึกค่าไว้ตั้งแต่การโหลดครั้งแรกแทนที่จะรออ่านตอนคลิกปุ่ม

หลังเก็บ UTM ได้แล้ว เอาไปผูกกับ Lead ยังไงต่อ

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

การผูก UTM เข้ากับ Lead ต้องอาศัยระบบที่รับข้อมูลจากฝั่งเว็บแล้วส่งต่อไปยังฝั่งแชทได้ ไม่ว่าจะสร้างเองหรือใช้ระบบสำเร็จรูปอย่าง linli ที่ออกแบบมาสำหรับผูก Journey ตั้งแต่คลิกโฆษณาไปจนถึง Lead และยอดขาย สิ่งสำคัญคือต้องมีจุดกลางที่เก็บ UTM ไว้ตั้งแต่ต้นทาง ซึ่งควรทำควบคู่ไปกับการวางระบบ LINE Tracking ผ่าน GTM ตั้งแต่ต้นเพื่อให้มีข้อมูลผูกได้เมื่อถึงเวลา

ตั้ง Match Type ของ Trigger ผิด ทำให้ UTM หายได้เหมือนกัน

อีกจุดที่มักถูกมองข้ามคือ Match Type ของเงื่อนไขใน Trigger หรือ Variable เช่น ถ้าตั้ง URL Query Parameter ให้อ่านค่าแบบ Equals ทั้งที่ URL จริงมีพารามิเตอร์อื่นต่อท้ายปนอยู่ Variable อาจอ่านค่าผิดหรือไม่พบค่าเลย ทั้งที่ UTM ยังติดอยู่ใน URL จริง ควรใช้ Contains หรือ RegEx ตามลักษณะ URL จริงของเว็บ ไม่ใช่ตั้งตามความเคยชินโดยไม่เช็คตัวอย่าง URL จริงก่อน

วิธีตรวจสอบที่แม่นที่สุดคือเปิด GTM Preview Mode แล้วดูแท็บ Variables ทุกครั้งหลังตั้งค่า Variable ใหม่ เพื่อดูว่าค่าที่ Variable อ่านได้ตรงกับ UTM ที่คาดหวังจริงหรือไม่ ถ้า Variable แสดงค่าว่างทั้งที่ URL มี UTM ติดอยู่ชัดเจน ให้สงสัยเรื่อง Match Type หรือชื่อ Parameter ที่พิมพ์ผิดเป็นอันดับแรก เช่น พิมพ์ utm_souce แทน utm_source ซึ่งเป็นความผิดพลาดที่พบได้บ่อยกว่าที่คิด

สรุป

UTM ที่หายไประหว่างทางจากโฆษณาถึง LINE ไม่ใช่เรื่องแปลก เพราะเส้นทางนั้นผ่านหลายจุดที่พารามิเตอร์อาจถูกตัดทิ้งได้ ทั้งจาก Redirect หลายชั้นและ In-app Browser ที่มีพฤติกรรมไม่แน่นอน

วิธีแก้ที่ได้ผลคือให้ GTM อ่านและบันทึกค่า UTM ทันทีที่มีโอกาสแรก แล้วดึงค่าที่บันทึกไว้มาแนบกับ Event ตอนคลิกปุ่ม แทนที่จะหวังพึ่งค่าจาก URL ปัจจุบันซึ่งอาจไม่มี UTM ติดอยู่แล้วตอนนั้น

  • UTM มักหายจาก Redirect หลายชั้นหรือ In-app Browser ที่ตัดพารามิเตอร์ทิ้ง
  • บันทึกค่า UTM ไว้ทันทีที่หน้าเว็บโหลด อย่ารอไปอ่านตอนคลิกปุ่ม LINE
  • ผูก UTM ที่เก็บได้เข้ากับ Lead ในแชท ไม่งั้นข้อมูลจะจบแค่รายงาน Analytics

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

ทำไม UTM หายเฉพาะบางแคมเปญ ไม่หายทุกแคมเปญ

มักเกี่ยวกับวิธีที่แต่ละแพลตฟอร์มจัดการ URL เช่น บางแพลตฟอร์มเปิดผ่าน In-app Browser ที่มีพฤติกรรมตัดพารามิเตอร์ ในขณะที่บางแพลตฟอร์มเปิดผ่านเบราว์เซอร์ปกติที่รักษาพารามิเตอร์ไว้ครบ จึงเห็นปัญหาชัดกว่าในบางแคมเปญ

ควรใช้ Cookie หรือ Local Storage เก็บค่า UTM ดีกว่ากัน

ทั้งสองใช้ได้ แต่ Local Storage มักคงอยู่ได้นานกว่า Session Cookie และไม่หายเมื่อปิดแท็บ อย่างไรก็ตาม Local Storage ผูกกับเบราว์เซอร์และอุปกรณ์เครื่องนั้น ถ้าเปลี่ยนอุปกรณ์ ค่าที่บันทึกไว้ก็จะไม่ติดตามไปด้วย ต้องเลือกตามลักษณะพฤติกรรมผู้ใช้ของแต่ละธุรกิจ

UTM ควรมีอายุการเก็บนานแค่ไหนก่อนจะถือว่าหมดอายุ

ไม่มีมาตรฐานตายตัว ขึ้นกับ Sales Cycle ของธุรกิจ สินค้าที่ตัดสินใจซื้อเร็วอาจตั้งอายุการเก็บสั้น ส่วนสินค้าที่ใช้เวลาตัดสินใจนานอาจต้องเก็บนานกว่า ควรกำหนดตามพฤติกรรมจริงของลูกค้าธุรกิจนั้น ๆ

ถ้าคนคลิกจากหลายแคมเปญก่อนจะกดปุ่ม LINE ควรนับ UTM ไหน

ขึ้นกับมุมมอง Attribution ที่ธุรกิจเลือกใช้ First-touch จะนับแคมเปญแรกที่คลิก ส่วน Last-touch จะนับแคมเปญล่าสุด ไม่มีมุมไหนเป็นความจริงหนึ่งเดียว ควรเลือกมุมที่เหมาะกับการตัดสินใจของธุรกิจแล้วใช้ให้สม่ำเสมอ

จำเป็นต้องมี UTM ทุกลิงก์ที่ใช้ยิงโฆษณาไหม

จำเป็นถ้าต้องการวิเคราะห์ประสิทธิภาพแยกตามแคมเปญ ลิงก์ที่ไม่มี UTM จะถูกจัดกลุ่มรวมเป็น Direct หรือ Organic ทำให้แยกไม่ออกว่ามาจากโฆษณาตัวไหน ควรตั้งเป็นมาตรฐานให้ทุกลิงก์โฆษณามี UTM ก่อนเผยแพร่

GTM Server-side ช่วยลดปัญหา UTM หายได้ไหม

ช่วยได้บางส่วน เพราะการประมวลผลบางอย่างย้ายไปทำที่ฝั่งเซิร์ฟเวอร์ซึ่งควบคุมได้มากกว่าฝั่งเบราว์เซอร์ แต่ยังต้องอาศัยการออกแบบที่ถูกต้องตั้งแต่ต้นทางเช่นกัน ไม่ใช่การติดตั้งแบบ Server-side แล้วจะแก้ปัญหาได้ทั้งหมดโดยอัตโนมัติ

Variable ประเภท URL กับ URL Query Parameter ต่างกันยังไง

Variable ประเภท URL ดึงค่าทั้ง URL หรือส่วนประกอบอย่าง Host, Path มาใช้ ส่วน URL Query Parameter ดึงเฉพาะค่าพารามิเตอร์ที่ระบุชื่อไว้ เช่น utm_source ออกมาโดยตรง การเก็บ UTM ควรใช้ URL Query Parameter เพราะให้ค่าที่ตรงจุดโดยไม่ต้องมาตัดสตริงเอง

พิมพ์ชื่อ Parameter ผิดแบบ utm_souce จะรู้ได้ยังไงว่าเป็นสาเหตุ

เปิด Preview Mode แล้วดูค่า Variable ที่ตั้งไว้อ่าน utm_source ถ้าค่าว่างเปล่าทั้งที่ URL มีคำว่า UTM ติดอยู่ ให้ก็อปปี้ URL จริงมาเทียบตัวอักษรกับชื่อ Parameter ที่ตั้งใน Variable ทีละตัว เพราะการพิมพ์ผิดเล็กน้อยแบบนี้มักมองไม่เห็นด้วยตาเปล่าเมื่ออ่านผ่าน ๆ

ควรตั้ง Trigger ให้ดัก UTM แบบ All Pages หรือเฉพาะหน้า Landing Page

แนะนำให้ตั้งแบบ All Pages เพราะลูกค้าอาจเข้าเว็บผ่านหน้าไหนก็ได้จากลิงก์โฆษณา ไม่ใช่แค่หน้า Landing Page ที่ออกแบบไว้ ถ้าจำกัด Trigger ไว้เฉพาะบางหน้า ลิงก์ที่พาไปหน้าอื่นโดยตรงจะไม่ถูกดัก UTM เลย ทำให้ข้อมูลขาดหายไปตั้งแต่ต้นทางโดยไม่รู้ตัว

ถ้าเว็บใช้ Single Page Application เปลี่ยนหน้าโดยไม่โหลดใหม่ ต้องตั้ง Trigger ต่างจากปกติไหม

ต้องระวังเพิ่ม เพราะ Trigger แบบ Page View มาตรฐานจะทำงานแค่ตอนโหลดหน้าครั้งแรกเท่านั้น ถ้าเว็บเปลี่ยนหน้าแบบไม่โหลดใหม่ทั้งหมด ต้องใช้ Trigger ประเภท History Change หรือ Custom Event ที่ทีมพัฒนายิงเองตอนเปลี่ยนหน้า เพื่อให้ยังอ่านค่า UTM จาก URL ที่เปลี่ยนไปได้ถูกต้องทุกครั้ง

ควรทดสอบการเก็บ UTM ซ้ำหลังทีมเว็บอัปเดต Framework หรือไลบรารีหลักไหม

ควรทดสอบทุกครั้ง เพราะการอัปเดต Framework หรือไลบรารีจัดการ Routing อาจเปลี่ยนพฤติกรรมการโหลดหน้าโดยที่ทีมเว็บไม่ได้ตั้งใจกระทบ Tracking เลย ควรมี Checklist ทดสอบ UTM เป็นส่วนหนึ่งของขั้นตอน QA ก่อน Deploy ทุกครั้งที่มีการอัปเดตใหญ่ ไม่ใช่รอให้ข้อมูลหายแล้วค่อยไล่หาสาเหตุทีหลัง

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

UTM Builder

สร้างลิงก์ UTM ตามมาตรฐานแพลตฟอร์มโฆษณา พร้อม preset และ naming convention

สร้างลิงก์ UTM

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

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

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

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

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

งบโฆษณาวันละ 2,000 บาท แต่ไม่รู้ว่ามีกี่คนกดปุ่ม LINE จริง

งบโฆษณาวันละ 2,000 บาท แต่ไม่รู้ว่ามีกี่คนกดปุ่ม LINE จริง

ยิงแอดทุกวันแต่ไม่รู้ว่าใครกดปุ่ม LINE จริงกี่คน บทความนี้อธิบายวิธีตั้ง GTM ให้จับ Click Event ปุ่ม LINE อย่างละเอียด รวมถึงจุดที่มักตั้งค่าพลาดจนนับซ้ำหรือนับหาย
ยอดขายจาก TikTok เพิ่มขึ้นทุกเดือน แต่ในโฆษณากลับไม่เห็น Conversion เพิ่มเลย แก้ยังไง

ยอดขายจาก TikTok เพิ่มขึ้นทุกเดือน แต่ในโฆษณากลับไม่เห็น Conversion เพิ่มเลย แก้ยังไง

ปิดยอดจากลูกค้าที่มาทาง TikTok ได้จริงทุกเดือน แต่พอเปิด Ads Manager กลับไม่เห็น Conversion เพิ่มเลยสักตัว ต้นเหตุมักอยู่ที่ ttclid หายไปก่อนถึงหน้า LINE บทความนี้อธิบายวิธีดักค่านี้ด้วย GTM ก่อนที่จะสายเกินไป
5 แคมเปญยิงเข้า LINE พร้อมกัน แต่ระบบนับ Custom Event ได้แค่ตัวเดียว จะแยกยังไง

5 แคมเปญยิงเข้า LINE พร้อมกัน แต่ระบบนับ Custom Event ได้แค่ตัวเดียว จะแยกยังไง

ยิงแอดหลายแคมเปญพร้อมกันเข้า LINE แต่พอเปิดรายงานกลับเห็น Event เดียวปนกันหมด แยกไม่ออกว่าตัวไหนพาคนมา บทความนี้อธิบายวิธีออกแบบ Custom Event ใน GTM ให้ครอบคลุมทั้ง Journey ไม่ใช่แค่จับคลิกเดียวจบ