Google Analytics'in iki farklı isabetin aynı kullanıcıya ait olduğunu belirlemesi için her bir isabetle birlikte söz konusu kullanıcıyla ilişkilendirilmiş benzersiz bir tanımlayıcı gönderilmelidir.
analytics.js kitaplığı bunu, tarayıcı çerezlerinde depolanan benzersiz, rastgele oluşturulmuş bir dize olan Client-ID alanı aracılığıyla gerçekleştirir. Böylece, aynı siteye daha sonra yapılan ziyaretler aynı kullanıcıyla ilişkilendirilebilir.
Varsayılan olarak analytics.js, İstemci Kimliği'ni depolamak için _ga
adlı tek bir birinci taraf çerezi kullanır. Ancak çerezin adı, alanı ve geçerlilik süresinin tamamı özelleştirilebilir. analytics.js tarafından oluşturulan diğer çerezler arasında _gid
, AMP_TOKEN
ve _gac_<property-id>
yer alır. Bu çerezler, kullanıcı hakkında rastgele oluşturulmuş diğer kimlikleri ve kampanya bilgilerini depolar.
Çerez kullanmak, analytics.js'nin tarama oturumları genelinde benzersiz kullanıcıları tanımlamasına olanak tanır ancak farklı tarayıcılar veya cihazlar genelinde tekil kullanıcıları tespit edemez. 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 Client-ID'nin yanı sıra User ID özelliğini kullanabilirsiniz.
Bu kılavuzda, çerez ayarlarının nasıl özelleştirileceği ve oturumlar genelinde kullanıcı etkinliğini daha doğru ö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 |
text (metin) | _ga |
cookieDomain |
text (metin) |
Şu JavaScript ifadesinin sonucu:document.location.hostname
|
cookieExpires |
tam sayı | 63072000 (saniye cinsinden iki yıl) |
cookieUpdate |
boolean |
true
|
cookieFlags |
text (metin) |
|
Bu değerlerden herhangi birini değiştirmek için create
komutunu kullanarak fieldObject
politikasında 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',
});
Ayarlanacak en yaygın çerez alanı cookieDomain
'dir. Bu nedenle, create
komutu, cookieDomain
alanını kolaylık sağlamak için isteğe bağlı üçüncü bir 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');
cookieDomain
olarak 'auto'
belirtilmesi, otomatik çerez alan adı yapılandırmasını etkinleştirir. Bu yapılandırma, analytics.js'ye kullanılacak en iyi çerez alanını otomatik olarak belirlemesini sağlar.
Otomatik çerez alan yapılandırması, _ga
çerezini mümkün olan en üst düzey alanda ayarlar. Örneğin, web sitesi adresiniz blog.example.co.uk
ise analytics.js, çerez alan adını .example.co.uk
olarak ayarlar. Ayrıca analytics.js, bir sunucuyu yerel olarak (ör. localhost
) çalıştırdığınızı algılarsa cookieDomain
öğesini otomatik olarak 'none'
şeklinde ayarlar.
Çerez Geçerlilik Sonu
Google Analytics'e her isabet gönderilişinde çerezin geçerlilik süresi, geçerli süreye cookieExpires
alanındaki değerin eklenmesiyle hesaplanarak güncellenir. Yani, iki yıllık varsayılan cookieExpires
zamanını kullanırsanız ve bir kullanıcı sitenizi her ay ziyaret ederse çerezinin süresi hiçbir zaman dolmaz.
cookieExpires
süresini 0
(sıfır) saniye olarak ayarlarsanız çerez oturuma dayalı bir çereze dönüşür ve mevcut 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 durumda çerez geçerlilik süresi siteye yapılan
en son ziyarete göre ayarlanarak güncellenir. Örneğin, çerez geçerlilik süresi bir hafta olarak ayarlanırsa ve kullanıcı beş günde bir aynı tarayıcıyı kullanarak siteyi ziyaret ederse çerez geçerlilik süresi her ziyarette güncellenir ve süresi hiçbir zaman dolmaz.
Bu parametre false
olarak ayarlandığında çerezler her sayfa yüklenişinde güncellenmez. Bu durumda çerez geçerlilik sonu, kullanıcının siteye yaptığı ilk ziyarete göre hesaplanır.
Çerez işaretleri
Ayarlandığında çereze ek işaretler ekler. İşaretler noktalı virgülle ayrılmalıdır.
İstemci kimliğini çerezden alma
Çerez biçimi ileride değişebileceği için analytics.js kümelerine doğrudan erişmemelisiniz. Geliştiriciler bunun yerine analytics.js yüklenene kadar beklemek için readyCallback
kullanmalı ve ardından izleyicide depolanan clientId
değerini almalıdır.
ga(function(tracker) { var clientId = tracker.get('clientId'); });
Çerezleri Devre Dışı Bırakma
Bazı durumlarda, istemci kimliğini çerez kullanmadan oturumlar arasında korumak için kendi depolama mekanizmanızı (ör. localStorage
veya Service Worker) kullanmak isteyebilirsiniz. storage
alanını 'none'
değerine ayarlayarak analytics.js'nin çerez 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ı ayarlamanı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
olarak 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 Client-ID'yi depolamak üzere 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');
Kullanıcı Kimliği
User ID, kullanıcıyı temsil eden ancak kimlik ifşa eden bilgiler içermeyen, benzersiz, kalıcı bir kimlik dizesi sayesinde 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ı bölümüne bakın.
analytics.js ile User-ID'yi uygulamak için:
- Oturum açmış her kullanıcıyı temsil edecek benzersiz, kalıcı ve kimlik bilgisi içermeyen kendi dize kimliğinizi sağlayın. Bu kimlik genellikle bir kimlik doğrulama sistemi tarafından sağlanır.
- Takip cihazında User-ID'yi ayarlayın:
ga('create', 'UA-XXXXX-Y', 'auto', { userId: USER_ID }); ga('send', 'pageview');
Sayfa yüklemesinden sonra kimlik doğrulamayı işleme
Tek Sayfalık Uygulamalar veya ilk sayfa yüklemesinden sonra kullanıcı oturum açma işlemini gerçekleştiren diğer dinamik web siteleri oluştururken, izleyicide User-ID değerini oluşturma işlemi oluşturma sırasında gerçekleşemez.
Bu gibi durumlarda, izleyicideki değeri bilinir hale gelir gelmez 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ğerlerini içermez. Ancak Google Analytics, Oturum Birleştirme olarak bilinen bir işlemle, işlem zamanında bu isabetleri doğru kullanıcıyla ilişkilendirebilir.