Google Analytics ด้วยสภาพแวดล้อมที่หลากหลาย


11

เราวางแผนที่จะใช้ Google Analytics ในองค์กรของเราและฉันรับผิดชอบในการตั้งค่า ฉันสงสัยว่าจะจัดการกับสภาพแวดล้อมที่หลากหลายได้อย่างไร เราแน่ใจว่าไม่ต้องการรวบรวมข้อมูลในระหว่างการพัฒนาและ QA (หรืออาจรวบรวมข้อมูลไปยังบัญชีการวิเคราะห์อื่น) แต่เราต้องการเมื่อไซต์ไปสู่การผลิต (แน่นอน)

  • คุณจัดการกับสภาพแวดล้อมที่หลากหลายและ Google Analytics อย่างไร
  • คุณตั้งค่าหลายบัญชีสำหรับ Google Analytics และใช้อย่างใดอย่างหนึ่งขึ้นอยู่กับสภาพแวดล้อมหรือไม่?

เรากำลังใช้ ASP.NET 2.0 ถ้าเป็นเช่นนั้น

คำตอบ:


8

อีกตัวเลือกหนึ่งที่จะเป็น Google Analytics โปรไฟล์ ใช้บัญชีเดียวกันในทุกสภาพแวดล้อม แต่เพิ่มตัวกรองชื่อโฮสต์ในแต่ละโปรไฟล์เพื่อรวมการรับส่งข้อมูลจากสภาพแวดล้อมที่เกี่ยวข้องเท่านั้น

ตัวอย่างเช่นถ้าสภาพแวดล้อมการควบคุมภายในของคุณคือqa.example.comสร้าง "ควบคุม" รายละเอียดใน Google Analytics ^qa\.example\.com$ที่มีตัวกรองที่กำหนดเองเพื่อรวมเฉพาะชื่อโฮสต์ที่ตรงกัน ในโปรไฟล์ "การผลิต" ของคุณทำตรงข้ามและยกเว้นทราฟฟิกจากชื่อโฮสต์ภายใน


นี่เป็นสิ่งที่ทำได้ง่ายมีประสิทธิภาพและมีตัวแปรน้อยกว่าหนึ่งตัวที่จะกำหนดค่าภายในไฟล์ปรับแต่ง

7

คำตอบที่ง่ายที่สุดคือใช่ตั้งค่าหลายบัญชีสำหรับแต่ละสภาพแวดล้อม จากนั้นแทนที่ ID โปรไฟล์ (ข้อความที่ดูเหมือน 'UA-XXXXX-X' ตามที่ปรากฏที่นี่ ) ด้วย ID ที่ถูกต้องจากสภาพแวดล้อมที่ต้องการ

เนื่องจากคุณใช้ ASP.NET คุณสามารถจัดเก็บ ID โปรไฟล์ใน web.config สิ่งนี้จะนำไปสู่การฝังโค้ด. NET ภายใน JavaScript (ซึ่งอาจจะใช่หรือไม่ก็ได้) คุณสามารถกำหนดค่าการผลิตให้เป็นเพียงการกำหนดค่าเพื่อส่งออกรหัสติดตาม แต่จะนำไปสู่การเผยแพร่รหัสที่ไม่ได้ทดสอบ

ทั้งนี้ขึ้นอยู่กับว่าคุณโฮสต์ไซต์ของคุณอย่างไร (dev.domain.tld, test.domain.tld, www.domain.tld) ​​คุณสามารถใช้โปรไฟล์เดียวแล้วกรองผลลัพธ์ตามโดเมนย่อย / โฟลเดอร์ / url Google มีบทความที่ดีงามในต่างสถานการณ์การติดตาม


2
หลายบัญชีต่อสภาพแวดล้อมเป็นวิธีที่จะไปที่นี่อย่างแน่นอน
ไวแอตต์บาร์เน็ตต์

1

นี่คือสิ่งที่ฉันทำในที่สุด (ฉันไม่ชอบความคิดในการฝังโค้ด. NET ภายในจาวาสคริปต์):

  • ฉันตั้งค่าบัญชี Google Analytics สองบัญชีบัญชีหนึ่งสำหรับการพัฒนา / ทดสอบและอีกบัญชีหนึ่งสำหรับการผลิต
  • สร้างหน้าซึ่งส่งคืนรหัสบัญชี Google Analytics (จาก web.config) เป็นเนื้อหา
  • บน $ (เอกสาร) .ready โทร ajax ไปที่หน้า
  • เมื่อ Ajax เสร็จสมบูรณ์ให้โทรสคริปต์วิเคราะห์ของ Google พร้อมคำตอบ (ซึ่งมีรหัสบัญชี)

ดังนั้นขึ้นอยู่กับสภาพแวดล้อมที่ฉันปรับใช้ฉันใช้ทั้งไฟล์ web.config ที่มีรหัสบัญชีที่ถูกต้อง

มันซับซ้อนกว่าเล็กน้อย แต่ไม่เกี่ยวข้องกับการสร้างจาวาสคริปต์จาก. NET และมันง่ายมากกับ jQuery

นี่คือรหัสสุดท้าย:

var setupGoogleAnalytics = function (clientNumber) {
    var gaq = gaq || [];
    gaq.push(['_setAccount', clientNumber]);
    gaq.push(['_setDomainName', 'none']);
    gaq.push(['_trackPageview']);

    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
}

$(document).ready(function(){
    $.ajax({
        url: "GetGAClientNumber.aspx",
        success: function(data) {
            setupGoogleAnalytics(data);
        }
    });
});

และมันทำงานได้อย่างสมบูรณ์แบบ!


6
ดูเหมือนสิ้นเปลืองที่จะทำการร้องขอ AJAX ในทุก ๆ หน้าโหลดเพื่อรับหมายเลขบัญชี
Bob Banks

1
ไม่มีอะไรผิดปกติกับการฝัง<%= ASP %>แท็กใน Javascript - เพียงแค่ใส่ค่าต่ำสุดใน JS และการสอบถาม / ลอจิกอื่น ๆ
Simon East

0

คุณแน่ใจได้หรือไม่ว่าในระหว่างการพัฒนาและ QA ไซต์จะเข้าถึงได้จากเครื่องในเครือข่าย บริษัท ของคุณเท่านั้น

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

อ้างอิงจากลิงค์:

หากคุณต้องการยกเว้นการเข้าชมภายในไม่ให้ปรากฏในรายงานของคุณคุณสามารถกรองที่อยู่ IP เฉพาะหรือช่วงของที่อยู่ IP คุณยังสามารถใช้คุกกี้เพื่อกรองการเข้าชมจากผู้ใช้บางคน เราจะอธิบายวิธีการด้านล่าง


แม้ว่าจะใช้งานได้จริงเมื่อต้องการทดสอบการใช้งานเหตุการณ์และข้อมูลติดตามแบบเรียลไทม์อื่น ๆ มันทำให้ยากมากที่จะทำโดยไม่มีโปรไฟล์แยกหรือดูหรือใช้ภายใต้
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.