Google Analytics'in iki farklı isabetin aynı kullanıcıya ait olduğunu belirleyebilmesi için her isabetle birlikte söz konusu kullanıcıyla ilişkili benzersiz bir tanımlayıcı gönderilmelidir.
analytics.js kitaplığı bunu, Client ID alanı aracılığıyla gerçekleştirir. Bu kimlik, tarayıcı çerezlerinde saklanan benzersiz, rastgele oluşturulmuş bir dizedir. Böylece aynı siteye daha sonra yapılan ziyaretler aynı kullanıcıyla ilişkilendirilebilir.
Analytics.js, varsayılan olarak istemci kimliğini depolamak için _ga
adlı tek bir birinci taraf çerezi kullanır ancak çerezin adı, alan adı ve geçerlilik süresinin tamamı özelleştirilebilir. analytics.js tarafından oluşturulan diğer çerezler: _gid
, AMP_TOKEN
ve _gac_<property-id>
. Bu çerezler, rastgele oluşturulmuş diğer kimlikleri ve kullanıcı hakkındaki kampanya bilgilerini depolar.
Çerez kullanımı, analytics.js'nin göz atma oturumlarında benzersiz kullanıcıları tanımlamasına olanak tanır ancak farklı tarayıcı veya cihazlardaki benzersiz kullanıcıları tanımlayamaz. Sitenizin kendi kimlik doğrulama sistemi varsa bir kullanıcıyı sitenize erişmek için kullandığı tüm cihazlarda daha doğru bir şekilde tanımlamak için İstemci Kimliği'nin yanı sıra User ID özelliğini de kullanabilirsiniz.
Bu kılavuzda, çerez ayarlarının nasıl özelleştirileceği ve kullanıcı oturumları genelindeki kullanıcı etkinliğini daha doğru bir şekilde ölçmek için User-ID alanının nasıl ayarlanacağı açıklanmaktadır.
Çerez alanı ayarlarını yapılandırma
Aşağıdaki tabloda, analytics.js tarafından kullanılan varsayılan çerez alanı değerleri gösterilmektedir:
Alan adı | Değer Türü | Varsayılan değer |
---|---|---|
cookieName |
kısa mesaj | _ga |
cookieDomain |
kısa mesaj |
Şu JavaScript ifadesinin sonucu:document.location.hostname
|
cookieExpires |
tam sayı | 63072000 (saniye cinsinden iki yıl) |
cookieUpdate |
boolean |
true
|
cookieFlags |
kısa mesaj |
|
Bu değerlerden herhangi birini değiştirmek için ilgili değeri create
komutunu ilettiğiniz fieldObject
bölümünde belirtebilirsiniz. Örneğin:
ga('create', 'UA-XXXXX-Y', {
'cookieName': 'gaCookie',
'cookieDomain': 'blog.example.co.uk',
'cookieExpires': 60 * 60 * 24 * 28 // Time in seconds.
'cookieUpdate': 'false',
'cookieFlags': 'SameSite=None; Secure',
});
Ayarlanması gereken en yaygın çerez alanı cookieDomain
'dir. Bu nedenle create
komutu, cookieDomain
alanını kolaylık sağlamak için isteğe bağlı bir üçüncü parametre olarak kabul eder:
ga('create', 'UA-XXXXX-Y', 'blog.example.co.uk');
Otomatik Çerez Alanı Yapılandırması
Önerilen Google Analytics etiketi, cookieDomain
alanı için 'auto'
dizesini ayarlar:
ga('create', 'UA-XXXXX-Y', 'auto');
'auto'
değerinin cookieDomain
olarak belirtilmesi, analytics.js'nin kullanılacak en iyi çerez alanını otomatik olarak belirlemesini söyleyen otomatik çerez alanı yapılandırmasını etkinleştirir.
Otomatik çerez alan yapılandırması, _ga
çerezini mümkün olduğu en üst düzey alanda ayarlar. Örneğin, web sitesi adresiniz blog.example.co.uk
ise analytics.js çerez alanını .example.co.uk
olarak ayarlar. Ayrıca analytics.js, bir sunucuyu yerel olarak çalıştırdığınızı algılarsa (ör. localhost
) cookieDomain
parametresini otomatik olarak 'none'
değerine ayarlar.
Çerez Geçerlilik Sonu
Google Analytics'e her isabet gönderildiğinde çerez geçerlilik süresi, geçerli saatin yanı sıra cookieExpires
alanının değeri olacak şekilde güncellenir. Yani, varsayılan olarak iki yıllık bir süreyi cookieExpires
kullanıyorsanız ve bir kullanıcı sitenizi her ay ziyaret ediyorsa çerezinin süresi hiçbir zaman dolmaz.
cookieExpires
süresini 0
(sıfır) saniye olarak ayarlarsanız çerez, oturuma dayalı çereze dönüşür ve geçerli tarayıcı oturumu sona erdiğinde çerezin süresi dolar:
Çerez güncellemesi
cookieUpdate
true
(varsayılan değer) olarak ayarlandığında analytics.js her sayfa yüklemesinde çerezleri günceller. Bu işlem, çerez geçerlilik süresini siteye yapılan en son ziyarete göre ayarlanır. Örneğin, çerez geçerlilik süresi bir hafta olarak ayarlanırsa ve bir kullanıcı her beş günde bir aynı tarayıcıyı kullanarak ziyaret ederse çerez geçerlilik süresi her ziyarette güncellenir ve bu nedenle geçerlilik süresi hiçbir zaman sona ermez.
false
olarak ayarlandığında, her sayfa yüklemesinde çerezler güncellenmez. Bu durum, bir çerezin geçerlilik süresinin kullanıcının siteyi ilk ziyaret ettiği zamana göre etkisidir.
Çerez işaretleri
Ayarlandığında çereze ek işaretler. İşaretler virgülle ayrılmış olmalıdır.
İstemci Kimliğini çerezden alma
Çerez biçimi gelecekte değişebileceğinden, çerez analytics.js kümelerine doğrudan erişmemelisiniz. Bunun yerine, geliştiricilerin analytics.js yüklenene kadar beklemek için readyCallback
kullanmaları, ardından izleyicide depolanan clientId
değerini almaları gerekir.
ga(function(tracker) { var clientId = tracker.get('clientId'); });
Çerezleri Devre Dışı Bırakma
Bazı durumlarda, çerez kullanmadan oturumlarda istemci kimliğini korumak için kendi depolama mekanizmanızı (ör. localStorage
veya Hizmet Çalışanı) kullanmak isteyebilirsiniz. storage
alanını 'none'
olarak ayarlayarak analytics.js'nin çerezleri ayarlamasını devre dışı bırakabilirsiniz.
ga('create', 'UA-XXXXX-Y', { 'storage': 'none' });
clientId
alanını kendiniz depoluyorsanız izleyiciyi oluştururken cliendId
alanını ayarladığınızdan emin olmanız gerekir.
ga('create', 'UA-XXXXX-Y', { 'storage': 'none', 'clientId': '76c24efd-ec42-492a-92df-c62cfd4540a3' });
_gac_<property-id>
çerezlerini devre dışı bırakmak için create
komutunda storeGac
alanını false
değerine ayarlayın:
ga('create', 'UA-XXXXX-Y', {
storeGac: false,
});
İstemci kimliğini depolamak için localStorage kullanma
Aşağıdaki kod örneğinde, JavaScript etiketini çerezler yerine istemci kimliğini depolamak için localStorage
kullanacak şekilde nasıl değiştirebileceğiniz gösterilmektedir:
var GA_LOCAL_STORAGE_KEY = 'ga:clientId';
if (window.localStorage) {
ga('create', 'UA-XXXXX-Y', {
'storage': 'none',
'clientId': localStorage.getItem(GA_LOCAL_STORAGE_KEY)
});
ga(function(tracker) {
localStorage.setItem(GA_LOCAL_STORAGE_KEY, tracker.get('clientId'));
});
}
else {
ga('create', 'UA-XXXXX-Y', 'auto');
}
ga('send', 'pageview');
User-ID
User-ID, kullanıcıyı temsil eden, kimlik ifşa eden bilgiler içermeyen ve benzersiz, kalıcı bir kimlik dizesiyle, cihazlar arasında oturum gruplarının analiz edilebilmesine olanak tanır. User-ID'yi neden uygulamanız gerektiğini öğrenmek için User ID özelliğini kullanmanın avantajları başlıklı makaleyi inceleyin.
User-ID'yi analytics.js ile uygulamak için:
- Oturum açmış her kullanıcıyı temsil etmek için benzersiz, kalıcı ve kimlik bilgileri içermeyen dize dizelerinizi sağlayın. Bu kimlik çoğu zaman bir kimlik doğrulama sistemi tarafından sağlanır.
- İzleyicide User ID'yi ayarlayın:
ga('create', 'UA-XXXXX-Y', 'auto', { userId: USER_ID }); ga('send', 'pageview');
Sayfa yüklendikten sonra kimlik doğrulamayı kullanma
Tek Sayfa Uygulamaları veya ilk sayfa yüklemesinden sonra kullanıcı oturum açmayı işleyen diğer dinamik web siteleri oluşturulurken, izleyicide kullanıcı kimliği değerini ayarlama işlemi oluşturma sırasında gerçekleşemez.
Bu tür durumlarda, izleyicide değer bilinir olmaz izleyicideki değeri ayarlamak için set
komutunu kullanabilirsiniz.
// Creates the tracker and sends a pageview as normal // since the `userId` value is not yet known. ga('create', 'UA-XXXXX-Y', 'auto'); ga('send', 'pageview'); // At a later time, once the `userId` value is known, // sets the value on the tracker. ga('set', 'userId', USER_ID); // Setting the userId doesn't send data to Google Analytics. // You must also use a pageview or event to send the data. ga('send', 'event', 'authentication', 'user-id available');
Bu yaklaşım kullanılırken userId
alanı ayarlanmadan önce gönderilen isabetler User-ID değerleri içermez. Bununla birlikte, Oturum Birleştirme olarak bilinen bir işlem sayesinde Google Analytics, bu isabetleri işleme sırasında doğru kullanıcıyla ilişkilendirebilir.