Google Analytics dengan berbagai lingkungan

11

Kami berencana untuk menggunakan Google Analytics di organisasi kami dan saya bertanggung jawab untuk menyiapkannya. Saya bertanya-tanya bagaimana cara menangani beberapa lingkungan. Kami yakin tidak ingin mengumpulkan data selama pengembangan dan QA (atau mungkin mengumpulkan data ke akun analitik yang berbeda), tetapi kami ingin ketika situs menuju produksi (jelas).

  • Bagaimana Anda menangani beberapa lingkungan dan Google Analytics?
  • Apakah Anda menyiapkan beberapa akun untuk Google Analytics dan menggunakan salah satunya tergantung pada lingkungannya?

Kami menggunakan ASP.NET 2.0, jika itu penting.

marco-fiset
sumber

Jawaban:

7

Jawaban termudah adalah ya, siapkan beberapa akun untuk setiap lingkungan. Kemudian, ganti ID profil (teks yang terlihat seperti 'UA-XXXXX-X', seperti yang terlihat di sini ) dengan ID yang benar dari lingkungan yang diinginkan.

Karena Anda menggunakan ASP.NET, Anda dapat menyimpan ID profil di web.config. Ini akan menyebabkan Anda harus memasukkan kode .NET dalam JavaScript (yang mungkin atau mungkin tidak baik-baik saja). Anda juga dapat mengonfigurasi konfigurasi produksi menjadi satu-satunya konfigurasi untuk mengeluarkan kode pelacakan, tetapi itu akan menyebabkan kode yang dirilis tidak diuji.

Bergantung pada bagaimana Anda meng-host situs Anda (dev.domain.tld, test.domain.tld, www.domain.tld) ​​Anda mungkin dapat menggunakan satu profil dan kemudian menyaring hasil berdasarkan subdomain / folder / url. Google memiliki artikel yang cukup bagus tentang berbagai skenario pelacakan .

Fammy
sumber
2
banyak akun per lingkungan jelas cara untuk pergi ke sini
Wyatt Barnett
7

Pilihan lain adalah profil Google Analytics . Gunakan akun yang sama di semua lingkungan, tetapi tambahkan filter nama host di setiap profil untuk hanya menyertakan lalu lintas dari lingkungan masing-masing.

Misalnya, jika lingkungan QA internal Anda adalah qa.example.com, buat profil "QA" di Google Analytics dengan filter khusus untuk hanya menyertakan nama host yang cocok ^qa\.example\.com$. Di profil "Produksi" Anda, lakukan yang sebaliknya dan kecualikan lalu lintas dari nama host internal.

Matius
sumber
Ini cukup mudah dilakukan, kuat, dan satu variabel lebih sedikit untuk dikonfigurasikan di dalam file konfigurasi.
1

Inilah yang akhirnya saya lakukan (saya tidak suka gagasan menanamkan. Net kode di dalam javascript):

  • Saya menyiapkan dua akun Google Analytics, satu untuk pengembangan / pengujian dan satu untuk produksi
  • Buat halaman yang mengembalikan id akun Google Analytics (dari web.config) sebagai badannya.
  • Pada $ (dokumen). Sudah, buat panggilan ajax ke halaman
  • Pada Ajax selesai, panggil skrip google analytics dengan respons (yang berisi id akun)

Jadi tergantung pada lingkungan yang saya gunakan, saya menggunakan salah satu versi file web.config yang berisi id akun yang benar.

Ini sedikit lebih rumit, tetapi tidak melibatkan pembuatan javascript dari .NET, dan ini sangat sederhana dengan jQuery.

Ini kode terakhir:

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

Dan itu bekerja dengan sempurna!

marco-fiset
sumber
6
Tampaknya boros membuat permintaan AJAX di setiap halaman memuat hanya untuk mendapatkan nomor akun.
Bob Banks
1
Tidak ada yang salah dengan menanamkan <%= ASP %>tag di dalam Javascript - cukup masukkan minimum di dalam JS, dan kueri / logika lainnya di tempat lain.
Simon East
0

Bisakah Anda memastikan bahwa selama pengembangan dan QA, situs hanya diakses secara internal dari mesin di jaringan perusahaan Anda?

Jika ya, Anda bisa menggunakan akun analitik yang sama yang akan digunakan untuk produksi, dan memfilter semua lalu lintas dari dalam organisasi Anda .

Kutipan dari tautan:

Jika Anda ingin mengecualikan lalu lintas internal agar tidak muncul dalam laporan Anda, Anda dapat memfilter alamat IP tertentu atau rentang alamat IP. Anda juga dapat menggunakan cookie untuk menyaring kunjungan dari pengguna tertentu. Kami akan jelaskan caranya di bawah ini.

Christian Specht
sumber
Meskipun ini benar-benar berfungsi, ketika ingin menguji implementasi acara dan data lacak waktu nyata lainnya; itu membuatnya sangat sulit untuk dilakukan tanpa profil yang terisolasi atau melihat atau menggunakannya di bawah.