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şkilendirilen benzersiz bir tanımlayıcı gönderilmesi gerekir.
analytics.js kitaplığı bunu İstemci Kimliği alanı aracılığıyla yapar. Bu, 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, istemci kimliğini depolamak için varsayılan olarak _ga
adlı tek bir birinci taraf çerezi kullanır ancak çerezin adı, alanı ve geçerlilik süresi ö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.
Çerezler, analytics.js'nin farklı tarayıcı oturumlarındaki tekil kullanıcıları tanımlamasına olanak tanır ancak farklı tarayıcı veya cihazlardaki benzersiz 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'ye ek olarak User ID özelliğini de 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) |
Aşağıdaki 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
içinde 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
'tir. Bu nedenle, create
komutu, cookieDomain
alanını kolaylık sağlamak amacıyla 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 bildirir.
Otomatik çerez alan yapılandırması, _ga
çerezini mümkün olan en üst düzey alanda ayarlar. Örneğin, web sitenizin adresi blog.example.co.uk
ise analytics.js, çerez alanını .example.co.uk
olarak ayarlar. Ayrıca, analytics.js, yerel olarak bir sunucu (ör. localhost
) çalıştırdığınızı tespit ederse cookieDomain
değerini 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. Diğer bir deyişle, iki yıllık varsayılan cookieExpires
süresini 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 işlem, çerez geçerlilik süresini siteye yapılan en son ziyarete göre ayarlanacak şekilde günceller. Örneğin, çerezin 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 geçerlilik süresi hiçbir zaman geçerli olmaz.
Bu ayar 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ğinden, çerez analytics.js gruplarına 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ırlar.
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ı 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
olarak ayarlayın:
ga('create', 'UA-XXXXX-Y', {
storeGac: false,
});
İstemci Kimliğini depolamak için localStorage'ı kullanma
Aşağıdaki kod örneğinde, çerezler yerine Client-ID'yi depolamak için localStorage
kullanmak üzere JavaScript etiketini 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 kimliği tanımlayabilecek 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ı'na göz atın.
User ID'yi analytics.js ile uygulamak için:
- Oturum açmış her kullanıcıyı temsil edecek benzersiz, kalıcı ve kişisel olarak tanımlanamayan dize kimliğinizi sağlayın. Bu kimlik genellikle 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
İlk sayfa yüklemesinden sonra kullanıcı oturum açma işlemini gerçekleştiren Tek Sayfalık Uygulamalar veya diğer dinamik web siteleri oluştururken, izleyicide kullanıcı kimliği değerini ayarlama işlemi oluşturma sırasında gerçekleştirilemez.
Bu gibi durumlarda, izleyicideki değeri öğrenilir öğrenmez 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şlem aracılığıyla, işlem zamanında bu isabetleri doğru kullanıcıyla ilişkilendirebilir.