ติด google analytics tracking code เพื่อเก็บข้อมูลเฉพาะ sub-directory

* บทความนี้สำหรับ tracking code แบบ classic code (ga.js)

วันนี้ได้รับโจทย์มาข้อหนึ่งว่า ถ้าจะทำ micro site เล็กๆ เพื่อโปรโมทแคมเปญพิเศษหรือโปรเจคท์พิเศษภายใต้เว็บไซต์หลักของบริษัทต้องทำอย่างไรที่จะวัดผลแยกเฉพาะแคมเปญได้อย่างถูกต้อง ข้อมูลต่างๆ ระหว่างเว็บหลักและ micro site นี้ไม่ปะปนกัน

ตามปกติแล้ว เวลาที่จะทำโปรเจคท์พิเศษที่มี micro site (สมมุติชื่อว่าโปรเจค ABC) URL ของเว็บมักจะมีให้เลือกอยู่ 2 แนวทางคือหนึ่ง รูปแบบของ sub domain เช่น ABC.mysite.com หรืออีกรูปแบบหนึ่งคือ sub directory เช่น mysite.com/ABC ซึ่งการจัดแยกเก็บข้อมูลของโปรเจคท์ออกจากเว็บหลักนั้น ทั้งสองรูปแบบมีวิธีการที่ต่างกัน แต่แบบแรกจะทำได้ง่ายกว่า เนื่องจาก google analytics ถือว่า sub domain เป็นอีก domain ที่แยกออกจาก domain หลักอยู่แล้วจะไม่มีการเก็บข้อมูลรวมกัน ดังนั้นเพียงแค่สร้าง property อีก property หนึ่งเพื่อเอา tracking code ชุดใหม่ไปติดที่เพจต่างๆ ภายใต้ sub domain เท่านั้นเอง ดังนั้นถ้าเป็นไปได้ควรเลือก URL แบบ sub domain จะทำงานได้ง่ายกว่า แต่หากมีความจำเป็นต้องเลือกแบบ sub directory ก็อาจจะยุ่งยากกว่า และจะต้องอาศัยโปรแกรมเมอร์ช่วยในการแก้ไข tracking code เล็กน้อยโดยจะต้องสร้างอีกหนึ่ง property เพื่อแยกเก็บข้อมูลออกจากเว็บหลัก แล้วเพิ่มคำสั่ง _setCookiePath() ไว้ใน tracking code ชุดที่สร้างขึ้นใหม่ตามตัวอย่างด้านล่าง

var _gaq = _gaq || [];
_gaq.push([‘_setAccount’, ‘UA-12345-1’]);
_gaq.push([‘_setCookiePath’, ‘/ABC’]);
_gaq.push([‘_trackPageview’]);

แล้วนำ code นี้ไปติดในเพจของโปรเจค ABC ทั้งหมด การทำเช่นนี้จะเป็นการบอกให้ google analytics สร้างชุด cookies ขึ้นมาอีกชุดนี้สำหรับโปรเจคท์นี้แยกออกจาก cookies ของเว็บไซต์หลัก(mysite.com) และมีการเก็บข้อมูล visitor และ campaign แยกออกจากัน และทำให้การวัดผลมีความถูกต้องอย่างแท้จริง

*** วิธีการหนึ่งที่อาจใช้อย่างไม่ถูกต้องนักสำหรับการวัดผลโปรเจคท์ลักษณะนี้คือ การสร้าง include filter ใน view(profile) เพื่อฟิลเตอร์ให้แสดงเฉพาะข้อมูลของ sub-directory ที่ต้องการโดยไม่มีการใช้ฟังชั่น _setCookiePath() การใช้วิธีการนี้จะให้ข้อมูลที่ไม่ถูกต้อง เนื่องจากข้อมูลของ cookie และ session จะมีการ share กันกับเพจอื่นที่อยู่ภายนอก sub-directory ของโปรเจคท์ ซึ่งทำให้ข้อมูลบางอย่าง เช่น visit duration, pageviews per visit, new and returning, number of visits คลาดเคลื่อนได้

reference: https://developers.google.com/analytics/devguides/collection/gajs/gaTrackingSite#singleSubDirectory

ขั้นตอนการทำ Auto tagging เพื่อวัดผล traffic จาก GDN ได้ถูกต้อง

ใครที่เคยดูรีพอร์ท channels ใน acquisition จะพบว่ามีแชนแนลหนึ่งที่เรียกว่า display ในแชลแนลนี้จะเป็นแชลแนลที่เก็บข้อมูลจำนวน visits ทั้งหมดที่มาจากการซื้อโฆษณาชนิด GDN (google display network) ถ้าใครไม่เข้าใจให้นึกถึงแบนเนอร์ที่มีข้อความสั้นๆ ว่า sponsored ad เวลาที่เข้าไปตามเว็บไซต์ต่างๆ (ที่เป็น partner กับ google)

ปัญหาที่หลายคนอาจจะพบก็คือ traffic ที่มาจาก GDN ไปตกอยู่ในแชนแนล Referral โดยมี source เป็น “googleads.g.doubleclick.net” คำถามคือ ทำไมถึงเป็นอย่างนั้น และจะมีวิธีการแก้ไขอย่างไรเพื่อให้การวัดผลตาม channel ถูกต้องมากที่สุด

แก้ไข 5/03/14 : ปัญหาที่อาจเกิดขึ้นคือ traffic ที่มาจาก GDN ที่แสดงในแชนแนล display นี้ แสดง source เป็น “google” หรือบางครั้งอาจพบว่าถูกนำไปรวมเข้ากับ direct channel ซึ่งทำให้ไม่สามารถแยกแยะ campaign GDN ได้ ซึ่งถ้าหากดูที่ campaign ใน secondary dimension เราจะพบว่ามันแสดงเป็น “(not set)”

ทำไม traffic ที่มาจาก GDN ไปตกอยู่ในแชนแนล Referral แสดง campaign เป็น (not set)?
นั่นเป็นเพราะยังไม่มีการสร้าง auto-tagging เชื่อมระหว่าง account ของ analytics และ adwords ดังนั้น analytics ยังมองว่า traffic นั้นมาจาก “เว็บ” ที่แบนเนอร์โฆษณานั้นไปแสดงอยู่ เมื่อมาจาก “เว็บ” มันจึงกลายเป็น referral  จะไม่สามารถแยกแยะได้ว่าเป็น traffic จาก campaign อะไร

วิธีการแก้ไขคือให้ทำการเชื่อมโยง account analytics และ adwords วิธีการโดยสรุปอย่างย่อมีดังนี้

  1. สร้าง mail account ที่มีสิทธิ์ระดับ admin ของทั้งฝั่ง analytics และฝั่ง adwords โดยจะต้องเป็น mail account เดียวกันเท่านั้น (ถ้าใช้เมล์ตัวเดียวกันทั้งสองบริการอยู่แล้วก็สามารถข้ามขั้นตอนนี้ไปได้เลย)
  2. เปิด google analytic แล้ว login ด้วยเมล์ที่มีสิทธิ์ admin ของทั้งสองบริการ
  3. คลิ้ก admin ที่ด้านขวาบนของหน้าเว็บ analytics
  4. ในส่วนของ Property ให้เลือก Property ที่ต้องการเชื่อมกับ adwords
  5. คลิ้ก Adwords Linking แล้วคลิ้กที่ +new link
  6. เลือก account adwords ที่ต้องการเชื่อมโยง คลิ้ก next step แล้วเลือก view ใน analytics ที่ต้องการแสดงข้อมูลจาก adwords
    ***สามารถเลือกได้ทุก view หรือ view ใด view หนึ่งก็ได้
  7. คลิ้ก link account เท่านั้นระบบ auto-tagging ก็พร้อมทำงาน

*** เพื่อให้แน่ใจว่า auto-tagging สามารถทำงานได้แล้ว ให้เข้าไปดูใน account adwords>account setting>preferences


ข้อดีของการทำ auto-tagging

  • ข้อมูล traffic จาก google display network จะถูกจัดเก็บได้อย่างถูกต้องในแชนแนล display ไม่ใช่ referral และข้อมูลจาก google search network จะจัดเก็บอย่างถูกต้องใน paid search
  • ในรีพอร์ทของ adwords จะสามารถดูข้อมูลบางอย่างของ analytic ได้เช่น bounce rate, pages/visit, visit duration, goals, eCommerce, etc. ***
  • สามารถสร้าง remarketing list ได้โดยตรงจาก analytics
  • สามารถดูรีพอร์ท adwords ได้โดยตรงจาก analytics

ลองทำตามดูนะครับ เป็นประโยชน์มากสำหรับเว็บที่มีการซื้อโฆษณาจาก google 🙂

*** การเชื่อมโยง account ระหว่าง analytics และ adwords จะมีลักษณะเป็น one-way เท่านั้นครับ (ควรเริ่มเซ็ตจากฝั่ง analytics ก่อน)  ตามขั้นตอนที่แสดงไว้เป็นการเซ็ตจากฝั่ง analytics เพื่อดึงข้อมูลจาก adwords มาแสดง ดังนั้นถ้าต้องการให้แสดงข้อมูล analytics ใน adwords ต้องทำการเซ็ตจากฝั่ง adwords อีกครั้งหนึ่ง โดย login เข้าไปที่ adwords ภายใต้เมนู My account เลือก linked account แล้วเลือก account analytics และ view ที่ต้องการเชื่่อมโยงเท่านั้นก็เสร็จเรียบร้อย (จะสามารถเลือกได้เฉพาะ account ที่ลิงค์มาจากฝั่ง analytics เท่านั้น และเลือกได้เพียง 1 view/account property) ส่วนการดึงข้อมูล goals และ e-commerce จะมีขั้นตอนเพิ่มขึ้นอีกเล็กน้อยคือ ให้เลือกเมนู conversions ภายใต้เมนู tools & analysis เลือก import goals ที่ต้องการแสดงใน adwords เข้ามา
ปล. อย่าลืมทำการ customize column ด้วยนะครับ ไม่เช่นนั้นก็จะไม่เห็นข้อมูลแสดงในรีพอร์ท

***
traffic ที่มาจากการคลิ้ก adwords campaign ที่มีการทำ auto tagging จะเห็นได้เฉพาะใน view ที่มีการเชื่อมโยง account analytics และ adwords เข้าด้วยกันเท่านั้น ถ้าหากดูใน view ที่ไม่มีการเชื่อมโยง จะไม่สามารถระบุแหล่งที่มาของ traffic จาก click นั้นได้ทั้งใน campaign report, adwords campaign report และ channel report