Kullanıcı Aracısı hedefleme

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 ve UserAgent.platform.brand, genellikle User-Agent başlığına veya Müşteri İpuçları'na göre UserAgent 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 ise UserAgent.platform.brand "Windows NT" olarak ayarlanır ve UserAgent.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 ve CLIENT_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üm version 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 ve UserAgent.bitness başlıklı makalelere göz atın.
  • 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.