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.