Dimensi khusus di Google Analytics yang menyelamatkan kami lebih dari sekali

Saat menyiapkan analitik melalui Google Analytics (GA), Parameter Pengguna atau CD ( Dimensi Khusus ) sering diabaikan. Hal ini disebabkan oleh kesulitan dalam memahami ruang lingkup mereka: tidak jelas bagaimana CD dapat membantu dalam mengumpulkan dan menganalisis data dan bagaimana mereka dikonfigurasi. Artikel ini berbicara tentang CD utama yang kami gunakan di Adventum pada banyak proyek, dan proses pengaturan.

Apa opsi pengguna?


Untuk membuat laporan di Google Analytics, tersedia lebih dari 200 parameter dan metrik yang berbeda, seperti "sumber", "kota", "peramban", "sistem operasi" dan banyak lainnya. Tetapi parameter standar tidak selalu cukup untuk analisis, sehingga Google telah memberi pengguna kemampuan untuk membuat sendiri. Nilai CD dapat ditransfer dengan klik apa pun dari pengguna. Misalnya, menggunakan parameter khusus, Anda dapat menganalisis kinerja situs dalam konteks adaptif.

Total ada 4 area tindakan CD:

  • Hit
  • Sesi
  • Pengguna
  • Produk

Misalnya, kami memiliki CD tempat parameter otorisasi pengguna disimpan (0 - tidak diotorisasi, 1 - diotorisasi). Di awal sesi, semua pengguna tidak diotorisasi. Mari kita lihat apa yang terjadi ketika parameter ini berubah setelah masuk, tergantung pada ruang lingkup CD.



  • untuk CD dengan cakupan Hit, unit ditugaskan ke parameter otorisasi dalam hit di mana otorisasi terjadi;
  • untuk CD dengan ruang lingkup Sesi, parameter otorisasi akan menjadi sama dengan 1 untuk semua klik sesi di mana acara terjadi (menimpa nilai-nilai lama CD dalam sesi ini);
  • untuk CD dengan ruang lingkup Pengguna, parameter otorisasi akan menjadi sama dengan 1 untuk semua sesi pengguna, mulai dari yang di mana login dibuat.

Terkadang Anda perlu menganalisis karakteristik produk yang dukungannya tidak tercantum dalam parameter dasar Google Analytics: misalnya, berat. Karena informasi tentang beberapa produk dapat ditransmisikan dalam satu hit, kita akan memerlukan ruang lingkup tambahan dengan detail lebih dalam. Untuk rincian ini, ruang lingkup "Produk" digunakan:



Pengaturan CD


Menyiapkan parameter pengguna terdiri dari dua langkah: membuat parameter dalam GA dan mengirim data dari situs. Selanjutnya, kami menjelaskan urutan langkah-langkah untuk mengatur CD.

Membuat CD di Google Analytics


  1. Pergi ke bagian "Administrator"
  2. Di pengaturan Sumber Daya di bagian "Parameter Pengguna", pilih sub-bagian "Parameter Khusus":
  3. Klik pada tombol "+ Parameter khusus"
  4. Formulir terbuka:

    Pilih cakupan parameter:

    • Hit
    • Sesi
    • Pengguna
    • Produk

    Dan biarkan tanda centang berlawanan "Aktif" sehingga data mulai dikumpulkan dan CD tercermin dalam laporan.
Rekomendasi judul CD
Kami telah mengembangkan sistem kami sendiri untuk menamai parameter pengguna.
Di awal setiap CD, kami menambahkan simbol untuk cakupannya. Untuk hit itu h_ (misalnya, h_hitId), untuk sesi - s_ (misalnya, s_sessionId). Ini membantu kami menavigasi parameter pengguna dan selalu mengetahui cakupannya, tanpa memeriksa pengaturan penghitung. Terkadang menjadi perlu untuk membuat dua parameter dengan nama yang sama, tetapi dengan cakupan yang berbeda. Misalnya, kami melakukan uji A / B dan ingin memeriksa apakah itu dikonfigurasi dengan benar, apakah varian tes berubah selama sesi. Untuk melakukan ini, buat dua parameter dengan nilai yang sama: nama + versi uji, yang dimasukkan pengguna, tetapi salah satunya terkena, sesi kedua. Dalam hal ini, penamaan yang diusulkan akan sangat nyaman.

Menyiapkan Google Pengelola Tag


Ada dua cara untuk mengkonfigurasi parameter pengiriman dari situs:

  • langsung melalui kode HTML di situs.
  • melalui Google Tag Manager (GTM).

Untuk kedua metode, kita memerlukan indeks CD di Google Analytics. Anda dapat melihatnya di bagian "Pengaturan Khusus":



Mengirim melalui HTML di situs

Perbarui konfigurasi sumber daya dalam kode pelacakan Google Analytics dengan menambahkan custom_map di sana (Anda perlu menambahkan apa yang disorot di kedua sisi dengan komentar):

gtag('config', 'GA_MEASUREMENT_ID' , //  { 'custom_map': {'dimension<Index>': 'dimension_name'} } //  ); 

di mana GA_MEASUREMENT_ID adalah pengidentifikasi penghitung Analytics Anda. Ganti <Index> dengan indeks parameter dalam GA, dan alih-alih dimensional_name tentukan namanya.

Jika Anda memiliki beberapa parameter Pengguna, maka 'dimensional <Index>' : 'dimension_name' harus ditentukan dengan koma untuk masing-masing parameter tersebut.

Sebagai contoh:

 gtag('config', 'UA-XXXXXXXXX', { 'custom_map': {'dimension1': 'projectName', 'dimension2': 'hitId', 'dimension3': 'sessionId', 'dimension4': 'screenWindow'} }); 

Untuk mengirim CD bersama dengan tampilan halaman, Anda perlu menetapkan parameter ini ke nilai yang diinginkan sebelum kode yang ditunjukkan di atas :

 gtag('set', { 'dimension_name': 'dimension_value'}); 

di mana dimensional_name harus cocok dengan yang Anda tentukan di 'custom_map' , dan dimensional_value harus menjadi nilai yang ingin Anda transfer ke CD.

Sebagai contoh:

 gtag('set', {'projectName': 'shop', 'hitId': '1121243'}); 

Saat mengirim nilai CD bersama acara, Anda harus mengirim kode:
 gtag('event', 'action_value', {'event_category': 'category_value', 'event_label': 'label_value', 'value': 'event_value', 'dimension_name': 'dimension_value'}); 

dimana bukannya:

action_value - aksi acara
category_value - kategori acara
label_value - label acara
event_value - nilai acara (integer non-negatif)
dimension_name - nama parameter yang kami tentukan dalam kode sebelumnya
dimensional_value - nilai CD

Contoh:

 gtag('event', 'clickButton', {'event_category': 'conversion', 'event_label': 'registration', 'projectName': 'shop', 'hitId': '1121243'}); 

Pada proyek kami, kami menggunakan opsi kedua - mencari melalui GTM. Mari kita pertimbangkan lebih terinci.

Mengirimkan CD dengan Hits ke GA melalui GTM

Menyiapkan pengiriman CD bersama dengan klik (tampilan halaman, acara) di GA dilakukan dalam variabel jenis "Pengaturan Google Analytics". Jika Anda sudah mengkonfigurasi variabel ini, buka saja. Jika tidak, maka Anda harus membuatnya. Pergi ke bagian "Pengaturan Lanjut", subbagian "Pengaturan Khusus". Di sini Anda harus menambahkan semua parameter pengguna yang Anda buat sebelumnya di GA:



ID pelacakan harus menyertakan nomor penghitung GA. Di bidang "Indeks", tulis pengenal CD dari GA yang ingin Anda transfer datanya.

Di bidang "Nilai Parameter", Anda harus menentukan nilai yang akan ditransfer ke CD dengan indeks yang ditentukan. Nilai ini dapat ditentukan dengan dua cara:

  • secara manual, jika akan sama untuk semua acara;
  • menggunakan variabel tempat nilai parameter ini disimpan (namanya ditulis dalam kurung keriting ganda). Misalnya, {{SCREEN_WINDOW}} - “Ukuran jendela browser”.



Dengan pengaturan parameter pengguna ini, penting untuk mempertimbangkan:

  1. Saat tag pertama kali diproses, cookie dengan ID pengguna Google (clientID) belum akan dibuat. Jika kami ingin mengonfigurasi transfer parameter ini ke CD, kami tidak akan dapat melakukan ini untuk tampilan halaman pertama.
  2. Jika kita ingin menggunakan variabel yang sama saat mengirim data ke parameter pengguna yang berbeda, maka variabel ini akan dihitung lagi untuk setiap parameter pengguna. Misalnya, saat mengirim tag waktu pemrosesan tag ke dua parameter pengguna yang berbeda, Anda mungkin melihat perbedaan dalam nilai beberapa milidetik.

Anda dapat menghindari kesulitan ini dengan customTask.

Menggunakan customTask


customTask adalah fungsi dengan prioritas tertinggi, kode dan logika yang Anda tentukan sendiri. Belum lama ini, Google memberi kesempatan untuk menggunakan fitur ini di GTM.

customTask menggunakan data dari objek model (yang mencakup semua bidang penghitung pelacakan), cookie, dll. Prioritas fungsi ini lebih tinggi daripada yang lainnya, dan berfungsi dengan baik pada tag. Berkat ini, Anda dapat mengonfigurasi pengiriman ID pengguna sejak pertama kali dia melihat halaman.

Untuk mengonfigurasi CD melalui customTask, buat variabel GTM dengan nama JS_customTask dan ketik “Native JavaScript code”:



Sekarang tambahkan JS_customTask yang kami buat ke variabel Pengaturan Google Analytics, di bagian "Fields to Set":

  • Di "Nama Bidang" tulis customTask ;
  • Dalam "Nilai" tulis nama variabel yang kita buat di atas. Semua variabel harus ditulis dalam kurung ganda.



Hanya satu customTask yang dapat didefinisikan dalam tag GTM. Oleh karena itu, semua CD yang dapat ditentukan dengan metode ini akan ditulis dalam variabel JS_customTask yang dibuat sebelumnya.

CD yang Sering Digunakan


ID pengguna


Tantangan. Penghitung telah mencatat lompatan besar dalam jumlah sesi. Pada saat yang sama, jumlah pengguna sedikit meningkat. Ada hipotesis tentang lalu lintas bot yang berasal dari beberapa pengguna. Secara default, tidak mungkin untuk melihat karakteristik pengguna individu dalam GA dalam format yang mudah.

Solusi Google Analytics memberikan pengidentifikasi unik untuk setiap pengunjung ke situs - ID Klien. Anda dapat melihatnya di antarmuka Google Analytics hanya dalam satu laporan - "Statistik pengguna" (User Explorer). Tidak nyaman untuk menggunakannya, karena pada satu layar Anda dapat melihat urutan tindakan hanya satu pengguna dan Anda tidak dapat menambahkan parameter tambahan ke laporan.

Solusi ideal adalah kemampuan menampilkan clientID sebagai parameter terpisah dalam laporan standar atau pengguna. Dan ini bisa dilakukan dengan menggunakan GTM.

Pengaturan teknik. Sebagai ClientId, kami menggunakan urutan digit dari ID pengguna di GA (disimpan dalam cookie dengan nama _ga. Misalnya, _ga = GA1.2.1111111111.111111111, di mana ClientId = 111111111.111111111). Untuk melihat nilai ini, klik kanan pada halaman situs dan pilih "Lihat Kode":



Kemudian, di tab Aplikasi, di menu sebelah kiri, pilih Cookie dan nama situs dan cari variabel _ga dalam tabel:



Selain cookie, ID pengguna GA disimpan dalam objek model dan dapat diambil menggunakan metode .get ('clientId'). Kami menggunakan customTask untuk mengambil nilai ini dan meneruskannya ke GA. Tambahkan kode berikut ke variabel bernama JS_customTask:

 function() { var customDimensionIndex_client = 5; return function(model) { model.set('dimension' + customDimensionIndex_client, model.get('clientId')); } } 

Setelah tanda sama dengan variabel customDimensionIndex_client, Anda perlu menentukan indeks CD yang sesuai dengan ClientId di GA. Dengan cara ini, kami mendapat ID klien dari penghitung dan mengirimkannya ke parameter pengguna.

Hasil. Kami membuat laporan tentang pengguna individu dan menemukan bahwa beberapa dari mereka sebenarnya memiliki seribu sesi. Semua sesi dengan rasio pentalan 100% dan jelas tidak membawa nilai bagi kami. Kami menyiapkan segmen untuk mengecualikan pengguna ini dan dapat menganalisis dinamika lalu lintas tanpa kunjungan yang tidak perlu.

Hit id


Tantangan. Anda perlu melihat bagaimana perilaku pengguna di situs, tindakan apa yang dia lakukan dan dalam urutan apa. Berdasarkan data ini, hipotesis untuk pengembangan bisnis dapat diajukan.

Solusi Buat CD Anda sendiri dengan nomor hit pengguna di setiap sesi. Mengurutkan dalam urutan peningkatan hit, kita bisa melihat cara pengguna.

Pengaturan teknik. Untuk kenyamanan, sebagai HitId, kami melewati ClientId + hit time dalam format timestamp. Jadi untuk setiap acara, tampilan halaman, transaksi akan ada nilai. Parameter ini dapat dikonfigurasi melalui customTask (mirip dengan ClientId).

Hanya satu customTask yang dapat didefinisikan dalam satu tag GTM. Oleh karena itu, kami menambahkan variabel "Custom JavaScript" yang sebelumnya dibuat, kode yang disorot di kedua sisi dengan komentar, di mana indeks CD bernama h_HitId dari GA akan disimpan dalam variabel customDimensionIndex_hit:

 function() { var customDimensionIndex_client = 5; //    var customDimensionIndex_hit = 2; var now = new Date(); //    return function(model) { model.set('dimension' + customDimensionIndex_client, model.get('clientId')); //    model.set('dimension' + customDimensionIndex_hit, model.get('clientId').concat('_', now.getTime())); //    } } 

Jenis parameter dipukul. Karena fakta bahwa itu juga mengandung waktu dalam format timestamp, semua klik pengguna / sesi dapat diurutkan berdasarkan urutan eksekusi mereka, tanpa menggunakan parameter tambahan.

Jika Anda membuat pengaturan yang persis sama, hanya di GA yang memilih lingkup parameter - sesi, maka kami mendapatkan CD yang akan menyimpan pengidentifikasi sesi pengguna.

Hasil. Membuat dua laporan:

  • Identifier pengguna, hit identifier, kategori acara, tindakan, label acara, tambahkan. parameter.
  • ID Pengguna, tekan ID, tambahkan. parameter.

Kemudian mereka membongkar data ini dari GA, menggabungkannya ke Excel (atau database). Jika kami mengurutkan garis berdasarkan ClientId, dan kemudian oleh HitId, kami mendapatkan jalur dari setiap pengguna di situs. Sekarang kita dapat membuat tabel pivot dan memvisualisasikannya.

Tes A / B


Tantangan. Perusahaan memutuskan untuk melakukan tes AB. Pengaturan dibuat oleh pengembang, tanpa menggunakan Google Optimize. Muncul pertanyaan: bagaimana cara mentransfer opsi pengujian ke Google Analytics untuk menganalisis efektivitas percobaan.

Solusi Dalam hal ini, CD akan membantu kami membandingkan hasil tes dalam GA. Cukup mengonfigurasi parameter pengguna, yang akan mengambil nilai dengan pengidentifikasi tes dan opsi yang digunakan pengguna. Jadi kami dapat membagi audiens menjadi kelompok sesuai dengan opsi tes dan membandingkan hasilnya.

Pengaturan teknik. Buat parameter khusus di GA, mirip dengan yang kami konfigurasikan sebelumnya. Kami memilih sebagai "Cakupan" - klik, sehingga dimungkinkan untuk membagi acara menjadi peristiwa yang dilakukan pengguna sebelum dan sesudah mengikuti tes. Sebut saja, misalnya, h_AB-Test. Dimungkinkan untuk mentransfer data ke CD dengan beberapa tes sekaligus. Anda dapat memisahkan mereka dengan simbol yang tidak muncul dalam nama dan versi tes, misalnya, "|".

Jika Anda melakukan tes sendiri dan menyimpan data tentang hal itu dalam cookie, Anda akan memerlukan variabel seperti "kode JavaScript Asli" untuk mengekstraknya:

 function(){ var cookie_name ='{{test_variant}}'; var matches = document.cookie.match(new RegExp( "(?:^|; )" + cookie_name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)" )); return matches ? decodeURIComponent(matches[1]) : '(not set)'; } 

di mana alih-alih {{test_variant}} Anda harus menentukan nama cookie di mana nama dan varian tes disimpan. Jangan lupa untuk menambahkannya ke variabel pengaturan GA.

Dengan menambahkan parameter h_AB-Test ke laporan, kita akan melihat di Google Analytics opsi tes mana yang dimiliki. Bergantung pada nilai parameter ini, Anda dapat mengelompokkan pengguna.

Hasil. Kami membuat segmen sebanyak ada kasus uji dengan kondisi h_AB-Test. Itu harus cocok dengan nilai "nama + test case". Kami melihat peristiwa yang menarik bagi kami dalam laporan.

Alamat halaman penuh


Tantangan. Manajer iklan kontekstual meluncurkan kampanye iklan di Yandex.Direct. Beberapa hari kemudian, ia pergi ke laporan sumber GA dan menemukan bahwa jumlah sesi pengguna yang berasal dari kampanye iklan yang ia buat jauh lebih sedikit daripada klik pada iklan di Yandex.Direct.

Solusi Google Analytics memiliki parameter yang diperlukan untuk melacak iklan - utm_source. Jika ya, maka nilainya akan ditambahkan ke parameter standar "Sumber Kampanye". Demikian pula, Google melakukannya dengan tag UTM lain untuk merekam dalam parameter yang sesuai.

Semua tag UTM secara otomatis dihapus dari laporan pada halaman situs dan Anda tidak dapat menganalisisnya di sana. Dalam hal ini, jika label utm_source tidak disetel, maka Google hanya akan menghapus semua tag UTM yang ditemukan dari laporan di halaman dan tidak akan merekam kontennya dalam parameter bawaan yang sesuai.

Kami akan mengonfigurasikan parameter dengan alamat halaman penuh untuk melihat semua tag, bahkan jika iklan tidak dikonfigurasi dengan benar. Sebut saja h_fullPage.

Pengaturan teknik. Mari kita buat variabel dengan tipe "variabel JavaScript" di bagian "Nama variabel global" dan tentukan dokumen.URL:



Sebagai ruang lingkup set-hit variabel.

Hasil. Urutan tag UTM berikut digunakan di seluruh kampanye iklan: utm_medium, utm_source, utm_campaign. Setelah melihat alamat lengkap halaman, kami perhatikan bahwa ampersand dilewati antara iklan antara utm_medium dan utm_source. Karena utm_source adalah tag utm wajib untuk kampanye iklan apa pun, dan Google Analytics tidak menemukannya setelah karakter khusus (?, &), Klik pada iklan ini dicatat dalam lalu lintas langsung. Berkat parameter h_fullPage, dimungkinkan untuk mendeteksi masalah dan memperbaikinya dalam pengaturan panel iklan.

Opsi Acara


Dua parameter lebih bermanfaat (tanpa uraian pengaturannya):

  • Tantangan. Kami menandai situs kami sendiri melalui GTM. Ditemukan kesalahan, cepat perbaiki, tetapi acara dengan kesalahan terus tiba di GA.

    Solusi Untuk menemukan akar masalah dengan cepat, Anda dapat mentransfer CD dengan setiap peristiwa:
    Nama wadah (jika ada beberapa di situs) - variabel bawaan GTM;
    Versi kontainer adalah variabel bawaan GTM;
    Nama tag - Anda harus mengonfigurasinya sendiri.

    Anda dapat melewatkan ketiga parameter ini melalui pemisah apa pun dalam variabel tipe “Constant”:



    Cakupan parameter dipukul.

    Hasil. Menggunakan variabel yang dikonfigurasi, kami menemukan bahwa beberapa pengguna masih memiliki versi wadah yang lama, sehingga acara terus dikirim. Kemungkinan besar, pengguna tidak menyegarkan halaman atau itu di-cache, jadi Anda perlu menunggu sedikit.
  • Tantangan. Kami menandai situs melalui pengembang. Mereka memperkenalkan instruksi baru yang ditulis oleh kami. Setelah memeriksa, ternyata beberapa acara dikirim dengan kesalahan.
    Penting:

    • Jangan mengirim acara pengujian ke tampilan kerja GA saat kami memeriksa acara di situs uji;
    • jika setelah meluncurkan ke pertempuran kami perhatikan bahwa kami memeriksa peristiwa yang ditandai dengan tidak benar / ada sesuatu yang pecah setelah memperbarui situs, penting untuk segera menghentikan pengiriman acara ke tampilan yang berfungsi.

    Solusi Kami akan membagi acara menjadi yang baru / berfungsi secara salah dan ditandai dengan benar. Yang pertama dapat ditandai sebagai tes, yang kedua - prod.

    Untuk melakukan ini, biarkan pengembang menambahkan data ke dataLayer, dan kami akan mendapatkannya dan mengirimkannya ke GA. Setiap dorongan akan terlihat seperti ini:

     <script> dataLayer.push({ 'event': '{{ }}', 'event_id': '{{id }}', 'eventCategory': '{{ }}', 'eventAction': '{{  }}', 'eventLabel': '{{ }}', }); </script> 

    di mana dalam kurung keriting ganda adalah nama-nama variabel di mana data disimpan di sisi pengembang.

    Kita perlu membuat variabel "Tabel Pencarian" untuk memisahkan peristiwa:



    {{event_id}} adalah variabel yang mengambil pengidentifikasi acara dari DataLayer.

    Kami menempatkan tanda centang di depan "Tetapkan nilai default" dan di kolom "Tes nilai default". Jadi, awalnya untuk semua acara, variabel ini akan sama dengan tes. Setelah memastikan bahwa acara tersebut ditandai dengan benar, tambahkan event_id-nya ke sel "Input". Di bidang "Hasil" kami mengirim prod.

    Jadi kami membagi semua acara menjadi ditandai dengan benar dan baru / salah ditandai. Kami menyarankan Anda untuk membuat tampilan terpisah di Google Analytics, di mana akan ada acara hanya dengan label prod (ini dapat dilakukan dengan menggunakan filter Views). Di sana Anda hanya akan melihat acara yang ditandai dengan benar.

    Hasil. Karena kesalahan dalam markup acara dari instruksi dihilangkan, kami mengubah nilai parameter untuk peristiwa ini di GTM dari test ke prod. Berkat parameter ini, kami sertakan dalam laporan hanya peristiwa yang ditandai dengan benar dengan label prod.

Fungsionalitas Dimensi Khusus luas dan tidak terbatas pada metode konfigurasi dan aplikasi yang dijelaskan. Untuk setiap jenis bisnis, analisis, dan hipotesis, Anda dapat menemukan aplikasi Anda sendiri dari parameter yang ditentukan Pengguna, dan metode penyesuaian yang dijelaskan akan membantu membuat proses ini lebih mudah.

Source: https://habr.com/ru/post/id468079/


All Articles