Kullanıcı Zamanlamaları

Bu kılavuzda, analytics.js kullanılarak zaman aralıklarının nasıl ölçüleceği açıklanmaktadır.

Genel bakış

Yapılan çalışmalar, sayfa yüklenme süresinin azaltılmasının sitenin genel kullanıcı deneyimini iyileştirdiğini göstermiştir. Google Analytics'te, sayfa yüklenme sürelerini otomatik olarak ölçen ve raporlayan çeşitli güçlü raporlar bulunur. Ancak, sitenize özgü performansı ölçmek için özel zamanlama bilgilerini ölçmeniz de mümkündür.

Kullanıcı zamanlamaları sayesinde geliştiriciler, analytics.js kitaplığını kullanarak zaman aralıklarını ölçebilir. Bu, özellikle geliştiricilerin gecikmeyi veya harcanan süreyi ölçmesi konusunda AJAX istekleri oluşturmak ve web kaynaklarını yüklemek için yararlıdır.

Uygulama

Kullanıcı zamanlama isabetleri, send komutu kullanılarak ve bir hitType değeri timing olarak gönderilebilir. send komutu, timing isabet türü için aşağıdaki imzaya sahiptir:

ga('send', 'timing', [timingCategory], [timingVar], [timingValue], [timingLabel], [fieldsObject]);

Kullanıcı zamanlamaları alanları

Aşağıdaki tabloda, kullanıcı zamanlamaları alanları özetlenmiştir:

Alan adı Değer Türü Zorunlu Açıklama
timingCategory kısa mesaj evet Tüm kullanıcı zamanlama değişkenlerini mantıksal gruplar (ör. 'JS Dependencies') halinde kategorize eden bir dize.
timingVar kısa mesaj evet Kaydedilecek değişkeni tanımlayan bir dize (ör. 'load').
timingValue tam sayı evet Google Analytics'e raporlama için geçen süre (milisaniye cinsinden). (ör. 20).
timingLabel kısa mesaj hayır Raporlarda kullanıcı zamanlamalarını görselleştirmek için esneklik sağlayan bir dize (ör. 'Google CDN').

Örnekler:

Aşağıdaki komut, mevcut web sayfasının tüm harici JavaScript bağımlılıklarını yüklemesinin 3549 milisaniye sürdüğünü belirtmek için Google Analytics'e bir kullanıcı zamanlama isabeti gönderir:

ga('send', 'timing', 'JS Dependencies', 'load', 3549);

Tüm send komutlarında olduğu gibi, kolaylık parametrelerinde iletilen alanlar da fieldsObject içinde belirtilebilir. Yukarıdaki komut şu şekilde yeniden yazılabilir:

ga('send', {
  hitType: 'timing',
  timingCategory: 'JS Dependencies',
  timingVar: 'load',
  timingValue: 3549
});

Ölçüm zamanı

Kullanıcı zamanlama verilerini gönderirken timingValue parametresinde harcanan milisaniye miktarını belirtirsiniz. Bu süreyi yakalamak için kod yazmak size bağlıdır.

Bunu yapmanın en kolay yolu, zaman aralığının başında bir zaman damgası oluşturmak ve dönemin sonunda başka bir zaman damgası oluşturmaktır. Ardından, zaman kazanmak için her iki zaman damgası arasındaki farkı alabilirsiniz.

Modern tarayıcıların çoğu, web sayfalarının performansını yüksek çözünürlüklü zaman verileri aracılığıyla ölçmeyi sağlayan window.performance nesnesindeki yöntemleri içeren Navigation Timing API'yi destekler.

Aşağıdaki örnekte, sayfanın ilk yüklenmeye başlamasından itibaren geçen süreyi döndüren performance.now() yöntemi kullanılmaktadır:

// Feature detects Navigation Timing API support.
if (window.performance) {
  // Gets the number of milliseconds since page load
  // (and rounds the result since the value must be an integer).
  var timeSincePageLoad = Math.round(performance.now());

  // Sends the timing hit to Google Analytics.
  ga('send', 'timing', 'JS Dependencies', 'load', timeSincePageLoad);
}

Örnekleme konusunda dikkat edilecek noktalar

Google Analytics, bu özellik için sistem kaynaklarının eşit şekilde dağıtılmasını sağlamak amacıyla, işleme sırasında zamanlama isabetlerini örnekler.

Zamanlama isabetlerinin örneklenme hızı, mülk için önceki gün alınan toplam sayfa görüntüleme isabetlerinin sayısına göre belirlenir. Aşağıdaki tabloda, zamanlama örnekleme hızının nasıl belirlendiği özetlenmiştir:

Toplam sayfa görüntüleme isabet sayısı (önceki gün) İşlenecek maksimum zamanlama isabeti sayısı
0 - 1.000 100
1.000 - 100.000 Toplam sayfa görüntüleme isabet sayısının% 10'u
100.000 - 1.000.000 10.000
1.000.000+ Toplam sayfa görüntüleme isabet sayısının% 1'i

Gönderilen isabet sayısını sınırlama

Analytics.js, işlenmeyecek Google Analytics isabetlerinin gönderilmesini önlemek için sampleRate ve siteSpeedSampleRate yapılandırma seçenekleri aracılığıyla gönderilen isabetlerin yüzdesini kontrol etmenize olanak tanır. Bu alanlar varsayılan olarak sırasıyla% 100 ve %1'e ayarlıdır. Google Analytics'in ortalama günlük sayfa görüntüleme sayınıza dayalı olarak işleyeceği zamanlama isabetlerinin sayısını daha yaklaşık bir şekilde tahmin etmek için bu değerleri ayarlayabilirsiniz.