User-Agent başlığı, başlatan cihazın tarayıcı ve platformu gibi yararlı hedefleme verileri sağlamak için geçmişte teklif isteklerine dahil edilmiştir. Ancak tarayıcılar, kullanımının zor olması ve kullanıcı gizliliğini daha iyi korumak için User-Agent öğesini genellikle büyük ölçüde çıkartır. Google, bu duruma yanıt olarak Kullanıcı Aracısı İstemci İpuçları'nı destekler. Bu ipuçları, Kullanıcı Aracısı başlığını desteklemek için mevcut olduğunda teklif isteklerine dahil edilir. Bu istemci ipuçları (kısaltması ICI), Sec-Ch-UA* başlıklarından veya JavaScript İstemci İpuçları API'sinden alınabilir.
User-Agent üstbilgisi, BidRequest.device.ua
alanında bir dize olarak gösterilir.
UserAgent
mesajı, mevcut olduğunda istemci ipuçlarıyla doldurulur. Aksi takdirde, Kullanıcı Aracısı başlığından ayrıştırılan değerlere göre doldurulur. Bu değer BidRequest.device.sua
alanında gösterilir.
Teklif verenler, User-Agent dizesi yerine UserAgent
mesajını kullanmaya teşvik edilir.
UserAgent
nasıl doldurulur?
User-Agent üstbilgisinin aksine UserAgent
mesajı, belirli bilgiler için birden fazla alana ayrılmış kullanıcı aracısı bilgilerini temsil eder.
Reklam isteğinde Müşteri İpuçları'nın kullanılıp kullanılmadığına bağlı olarak UserAgent
mesajı aşağıdaki şekillerde doldurulabilir:
- İstek en az düşük entropili istemci ipucu içeriyorsa
UserAgent
, içeriklerine göre doldurulur. - İstek yalnızca User-Agent başlığını içeriyorsa
UserAgent
, başlıktan ayrıştırılabilecek bilgilere göre doldurulur.
Örnek: UserAgent
değerini User-Agent başlığına göre doldurma
Tarayıcının aşağıdaki başlıkları gönderdiği bir reklam isteği olduğunu varsayalım:
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36
Yalnızca User-Agent başlığına göre doldurulan bir UserAgent
aşağıdaki gibi görünebilir:
browsers: [{ brand: "Mozilla", version: ["5", "0"] },
{ brand: "AppleWebKit", version: ["537", "36"] },
{ brand: "Chrome", version: ["103", "0", "0", "0"] },
{ brand: "Safari", version: ["537", "36"] }],
platform: { brand: "Windows NT", version: ["10", "0"] },
mobile: false,
architecture: "x86",
bitness: "64",
model: "x64",
source: USER_AGENT_STRING
Örnek: İstemci İpuçları'na göre UserAgent
doldurma
Tarayıcının aşağıdaki başlıkları gönderdiği bir reklam isteği olduğunu varsayalım:
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36
Sec-Ch-Ua: ".Not/A)Brand";v="99", "Google Chrome";v="103", "Chromium";v="103"
Sec-Ch-Ua-Arch: x86
Sec-Ch-Ua-Full-Version: 103.0.5060.134
Sec-Ch-Ua-Mobile: ?0
Sec-Ch-Ua-Platform: Windows
Sec-Ch-Ua-Platform-Version: 15.0.0
En az düşük entropi istemci ipuçlarının dahil edildiği durumlarda, Kullanıcı Aracısı üstbilgileri mevcut olsa bile UserAgent
, bu üstbilgilerin içeriğine göre doldurulur. Bu, aşağıdaki gibi görünür:
browsers: [{ brand: ".Not/A)Brand", version: ["99", "0", "0", "0"] },
{ brand: "Google Chrome", version: ["103", "0", "5060", "134"] },
{ brand: "Chromium", version: ["103", "0", "5060", "134"] }],
platform: { brand: "Windows", version: ["15", "0", "0"] },
mobile: false,
architecture: "x86",
bitness: "64",
source: CLIENT_HINTS_HIGH_ENTROPY
Kullanıcı aracısı başlığına göre doldurma ve istemci ipuçları
Bazı alanlar, User-Agent başlığını veya İstemci İpuçları'nı temel alıp almadıklarına bağlı olarak farklı şekilde doldurulur. Bu farkların özeti aşağıda verilmiştir:
- Aynı tarayıcılar ve platformlar için
UserAgent.browsers.brand
veUserAgent.platform.brand
, genellikle User-Agent başlığına veya Müşteri İpuçları'na göreUserAgent
arasında farklılık gösterir. Örneğin,UserAgent.platform.brand
, Kullanıcı Aracısı başlığını temel alırsa "Windows NT", İstemci İpuçları'nı temel alırsa "Windows" olarak görünebilir. - Bazı
UserAgent.browsers
girişleri, User-Agent başlığına veya İstemci İpuçlarına özgüdür. Örneğin,UserAgent
User-Agent üstbilgisini temel alırsa "AppleWebKit", istemci ipuçlarına dayalıysa yalnızca "Chromium" gösterilir. - Yalnızca User-Agent başlığına dayalı bir
UserAgent
dondurulmuş değerler içerebilir. Örneğin, platform Windows 11 22H2 iseUserAgent.platform.brand
"Windows NT" olarak ayarlanır veUserAgent.platform.version
, 10 veya sonraki bir Windows sürümü için dondurulmuş değer olduğu için[“10”, “0”]
olarak ayarlanır.
UserAgent
içindeki, istemci ipuçlarına dayalı veriler normalde dondurulmuş veya çıkartılmış bilgilerin yanlış bir yerine geçmez. User-Agent başlığı ile İstemci İpuçları'na dayalı bir UserAgent
arasında tutarsızlık varsa UserAgent
'deki bilgiler tercih edilmelidir.
UserAgent nesnesi alanları
Bu bölümde, Google RTB'ye özgü davranışa ve kullanımla ilgili en iyi uygulamalara odaklanarak her alan özetlenmiştir.
Tarayıcılar
Genellikle özgürlüğe göre sıralanan BrandVersion girişlerinin listesini içerir. Örneğin, browsers
içeriğini listelerseniz her girişin brand
değeri aşağıdaki sırayla görünebilir:
Marka | Meaning |
Mozilla | Mozilla ile uyumlu |
AppleWebKit | AppleWebKit tabanlı, Mozilla'nın bir alt kümesi. |
Chrome | AppleWebKit uyumlu tarayıcıların alt kümesi olan Chrome Tarayıcı |
Safari | Mobil cihazların aksine masaüstü varyantı. |
UserAgent
, özellikle istemci ipuçlarına dayanıyorsa tarayıcıları her zaman belirli bir sırada listelemez. Aşağıda, source
değerine göre görebileceğiniz diğer farklılıklar açıklanmaktadır:
USER_AGENT
:version
alanı, ana sürüme indirilebilir veya dondurulabilir (temsilciye özgü politikaya bağlıdır). Değerin dondurulduğuna dair bir gösterge olmadığını unutmayın.CLIENT_HINTS_LOW_ENTROPY
veCLIENT_HINTS_HIGH_ENTROPY
: Girişler herhangi bir ölçüte göre sıralanmamaktadır. Örneğin, aynı tarayıcı bu girişleri her istekte farklı sırayla gönderebilir. Ayrıca, yoksayılması gereken bir GREASE girişi de içerebilirler.CLIENT_HINTS_HIGH_ENTROPY
: Tarayıcılarda bulunan tümversion
alanları tam sürümlere ayarlanabilir.
Platform
Platformu açıklayan bir BrandVersion girişi. Bu, User-Agent başlığı ve istemci ipuçları arasında uyumlu olmayabilir. Bu nedenle, bazı platformların hedeflenmesinde iki adın test edilmesi gerekebilir. Örneğin, Apple'ın Macintosh işletim sistemi, User-Agent başlığında "Macintosh" olarak, istemci ipuçlarında ise "macOS" olarak markalanır.
Aşağıda, source
değerine bağlı olarak görebileceğiniz diğer farklılıklar açıklanmaktadır:
USER_AGENT
:version
alanı, büyük bir sürüme indirilebilir veya dondurulabilir. Değerin dondurulduğuna dair bir gösterge gösterilmez.CLIENT_HINTS_LOW_ENTROPY
:version
alanı doldurulmaz.CLIENT_HINTS_HIGH_ENTROPY
:version
alanı tam sürüme ayarlanabilir.
Mobil
Reklamlar gibi içeriklerin küçük ekranlar ve/veya dokunmatik giriş için optimize edilip edilmeyeceğini belirtir. Mobil tarayıcılar "masaüstü sitesi" isteyecek şekilde yapılandırılabilir. Bu nedenle, bu durumun cihaz türüne dair bir gösterge olmayabileceğini unutmayın.
Mimari
Platformun mimarisini tanımlar (ör. "x86" veya "arm").
Müşteri İpuçları'na dayalı bir UserAgent
için bu değerin yalnızca source
CLIENT_HINTS_HIGH_ENTROPY
olarak ayarlandığında doldurulacağını unutmayın.
Bit sayısı
Platformun bitliğini (ör. 32 bit veya 64 bit CPU) tanımlar. Alan, mimarisiyle ilgili ek bilgiler sağlayan bir tam sayı dizesidir. Örneğin, "x86" mimarisinin bit sayısı "32" veya "64" olarak ayarlanabilir.
Müşteri İpuçları'na dayalı bir UserAgent
için bu değerin yalnızca source
CLIENT_HINTS_HIGH_ENTROPY
olarak ayarlandığında doldurulacağını unutmayın.
Model
Cihaz modelini tanımlar. Dizüstü veya masaüstü bilgisayarlar değil, mobil cihazlar için bu alan "Pixel 6 Pro" gibi bir model adıyla doldurulur.
Aşağıda, source
değerine bağlı olarak görebileceğiniz farklar açıklanmaktadır:
USER_AGENT
- Mobil olmayan cihazlar:
model
alanı genellikle Windows için "x64" gibi birleştirilmiş bir mimari ve bit değeri içerir. Bu değer platformlar arası değildir. Örneğin, Linux aynı donanım için "x86_64" kullanabilir. - Mobil cihazlar: Bu alanda mimari ve bit sayısı yer almaz.
Bu değerlerle ilgileniyorsanız
UserAgent.architecture
veUserAgent.bitness
başlıklı makalelere göz atın.
- Mobil olmayan cihazlar:
CLIENT_HINTS_LOW_ENTROPY
:model
alanı doldurulmaz.CLIENT_HINTS_HIGH_ENTROPY
:model
alanı yalnızca mobil cihazların cihaz modeli için doldurulur. Masaüstü platformları için değer ayarlanmamıştır.
Kaynak
UserAgent
öğesini oluşturmak için hangi üstbilgilerin kullanıldığını tanımlar. Müşteri İpuçları için bu, aşağıdaki iki durumu da ayırt eder:
CLIENT_HINTS_LOW_ENTROPY
: Yalnızca temel istemci ipuçları kullanılabilir.CLIENT_HINTS_HIGH_ENTROPY
: Yüksek entropi olarak sınıflandırılan en az bir alan da dahil olmak üzere istemci ipuçları kullanılabilir.