Google Analytics với nhiều môi trường


11

Chúng tôi đang lên kế hoạch sử dụng Google Analytics trong tổ chức của mình và tôi chịu trách nhiệm thiết lập nó. Tôi đã tự hỏi làm thế nào để đối phó với nhiều môi trường. Chúng tôi chắc chắn không muốn thu thập dữ liệu trong quá trình phát triển và QA (hoặc có thể thu thập dữ liệu vào một tài khoản phân tích khác), nhưng chúng tôi muốn khi trang web đi vào sản xuất (rõ ràng).

  • Làm thế nào để bạn đối phó với nhiều môi trường và Google Analytics?
  • Bạn có thiết lập nhiều tài khoản cho Google Analytics và sử dụng một tài khoản tùy thuộc vào môi trường không?

Chúng tôi đang sử dụng ASP.NET 2.0, nếu điều đó quan trọng.

Câu trả lời:


7

Câu trả lời dễ nhất là có, thiết lập nhiều tài khoản cho từng môi trường. Sau đó, thay thế ID hồ sơ (văn bản trông giống như 'UA-XXXXX-X', như được thấy ở đây ) bằng ID chính xác từ môi trường mong muốn.

Vì bạn đang sử dụng ASP.NET, bạn có thể lưu trữ ID hồ sơ trong web.config. Điều này sẽ dẫn đến việc phải nhúng mã .NET trong JavaScript (có thể có hoặc không ổn). Bạn cũng có thể định cấu hình cấu hình sản xuất là cấu hình duy nhất để xuất mã theo dõi, nhưng điều đó sẽ dẫn đến mã được phát hành không được kiểm tra.

Tùy thuộc vào cách bạn lưu trữ trang web của bạn (dev.domain.tld, test.domain.tld, www.domain.tld), bạn có thể sử dụng một hồ sơ duy nhất và sau đó lọc kết quả dựa trên tên miền phụ / thư mục / url. Google có một bài viết khá hay về các kịch bản theo dõi khác nhau .


2
nhiều tài khoản trên mỗi môi trường chắc chắn là cách để đến đây
Wyatt Barnett

7

Một tùy chọn khác sẽ là hồ sơ Google Analytics . Sử dụng cùng một tài khoản trong tất cả các môi trường, nhưng thêm bộ lọc tên máy chủ trong mỗi cấu hình để chỉ bao gồm lưu lượng truy cập từ môi trường tương ứng.

Ví dụ: nếu môi trường QA nội bộ của bạn là qa.example.com, hãy tạo hồ sơ "QA" trong Google Analytics bằng bộ lọc tùy chỉnh để chỉ bao gồm trùng khớp tên máy chủ ^qa\.example\.com$. Trong hồ sơ "Sản xuất" của bạn, hãy làm ngược lại và loại trừ lưu lượng truy cập khỏi tên máy chủ nội bộ.


Điều này khá dễ thực hiện, mạnh mẽ và một biến ít hơn để cấu hình bên trong tệp cấu hình.

1

Đây là những gì tôi cuối cùng đã làm (tôi không thích ý tưởng nhúng mã .Net trong javascript):

  • Tôi thiết lập hai tài khoản Google Analytics, một để phát triển / thử nghiệm và một cho sản xuất
  • Tạo một trang trả về id tài khoản Google Analytics (từ web.config) làm cơ thể.
  • Trên $ (tài liệu). Đã có, hãy thực hiện cuộc gọi ajax đến trang
  • Khi Ajax hoàn tất, hãy gọi tập lệnh phân tích google với phản hồi (chứa id tài khoản)

Vì vậy, tùy thuộc vào môi trường tôi triển khai, tôi sử dụng một trong hai phiên bản của tệp web.config chứa đúng tài khoản id.

Nó phức tạp hơn một chút, nhưng nó không liên quan đến việc tạo javascript từ .NET và nó rất đơn giản với jQuery.

Đây là mã cuối cùng:

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);
        }
    });
});

Và nó hoạt động hoàn hảo!


6
Có vẻ lãng phí khi thực hiện một yêu cầu AJAX trên mỗi lần tải trang chỉ để lấy số tài khoản.
Bob Banks

1
Không có gì sai khi nhúng một <%= ASP %>thẻ vào Javascript - chỉ cần đặt mức tối thiểu bên trong JS và bất kỳ truy vấn / logic nào khác ở nơi khác.
Simon East

0

Bạn có thể chắc chắn rằng trong quá trình phát triển và QA, trang web chỉ được truy cập nội bộ từ các máy trong mạng công ty của bạn không?

Nếu có, bạn chỉ có thể sử dụng cùng một tài khoản phân tích sẽ được sử dụng để sản xuất và lọc ra tất cả lưu lượng truy cập từ bên trong tổ chức của bạn .

Trích dẫn từ liên kết:

Nếu bạn muốn loại trừ lưu lượng truy cập nội bộ xuất hiện trong các báo cáo của mình, bạn có thể lọc ra một địa chỉ IP cụ thể hoặc một dải địa chỉ IP. Bạn cũng có thể sử dụng cookie để lọc các lượt truy cập từ những người dùng cụ thể. Chúng tôi sẽ giải thích làm thế nào dưới đây.


Mặc dù điều này chắc chắn hoạt động, khi muốn kiểm tra việc thực hiện các sự kiện và dữ liệu theo dõi thời gian thực khác; nó làm cho tất cả rất khó để làm mà không có một hồ sơ riêng biệt hoặc xem hoặc sử dụng nó dưới.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.