사용자 에이전트 헤더가 유용한 정보를 제공하기 위해 입찰 요청에 포함되었습니다. 시작 기기의 브라우저 및 플랫폼과 같은 타겟팅 데이터가 포함되어 있습니다. 하지만 브라우저는 사용 편의성과 사용 편의성으로 인해 사용자 에이전트를 심하게 사용자 개인 정보를 더욱 안전하게 보호할 수 있습니다. 이에 대응하여 Google은 사용자 에이전트 클라이언트 힌트: 사용자-에이전트 헤더를 보완하기 위해 가능한 경우 입찰 요청에 포함됩니다. 이러한 클라이언트 힌트 (줄여서)는 Sec-Ch-UA* 헤더 또는 를 가져옵니다.
사용된 프로토콜에 따라, 사용자-에이전트 헤더는 다음 문자열 필드가 포함됩니다.
- OpenRTB:
BidRequest.device.ua
- Google RTB (지원 중단됨):
BidRequest.user_agent
UserAgent
메시지는
사용할 수 있지만 그렇지 않으면
User-Agent 헤더 사용된 프로토콜에 따라 하나로 노출됩니다.
다음 필드 중 하나를 선택합니다.
- OpenRTB:
BidRequest.device.sua
- Google RTB (지원 중단됨):
BidRequest.user_agent_data
입찰자는UserAgent
사용자 에이전트 문자열입니다.
UserAgent
가 채워지는 방식
사용자-에이전트 헤더와 달리 UserAgent
메시지는 사용자 에이전트를 나타냅니다.
정보가 특정 정보를 위해 여러 필드로 분리됩니다.
광고 요청에서 클라이언트 힌트를 사용할 수 있는지에 따라
UserAgent
메시지는 다음과 같은 방법으로 채울 수 있습니다.
- 요청에
낮은 엔트로피
클라이언트 힌트에서
UserAgent
는 콘텐츠에 따라 채워집니다. - 요청에 사용자-에이전트 헤더만 포함된 경우
UserAgent
은 헤더에서 파싱할 수 있는 내용에 따라 채워집니다.
예: User-Agent 헤더를 기반으로 UserAgent
채우기
브라우저가 다음 헤더를 전송하는 광고 요청이 있다고 가정해 보겠습니다.
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
사용자 에이전트 헤더만을 기반으로 채워진 UserAgent
는 다음과 같습니다.
다음과 같습니다.
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
예: 클라이언트 힌트를 기반으로 UserAgent
채우기
브라우저가 다음 헤더를 전송하는 광고 요청이 있다고 가정해 보겠습니다.
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
최소한 낮은 엔트로피의 클라이언트 힌트가 포함된 경우 UserAgent
는
해당 헤더의 콘텐츠를 기반으로 채워져 있으며
헤더가 있는지 확인합니다 다음과 같이 표시됩니다.
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
사용자 에이전트 헤더 및 클라이언트 힌트 비교에 따라 채우기
일부 필드는 다음을 기반으로 하는지에 따라 다르게 채워집니다. 사용자 에이전트 헤더 또는 클라이언트 힌트입니다. 다음은 이러한 차이점:
- 동일한 브라우저와 플랫폼에서
UserAgent.browsers.brand
및UserAgent.platform.brand
는 주로 다음에 따라UserAgent
간에 다릅니다. 사용자 에이전트 헤더 또는 클라이언트 힌트입니다. 예를 들어UserAgent.platform.brand
이(가) 다음 검색어에 기반할 경우 'Windows NT'로 사용자 에이전트 헤더 또는 'Windows'(클라이언트 힌트에 기반하는 경우) - 일부
UserAgent.browsers
항목은 사용자-에이전트 헤더에 고유하거나 클라이언트 힌트에 관해 알아보겠습니다. 예를 들어UserAgent
'Chromium'은 사용자 에이전트 헤더를 기반으로 하는 반면 확인할 수 있습니다. - User-Agent 헤더를 기반으로 하는
UserAgent
에만 고정된 값을 포함할 수 있습니다. 예를 들어 플랫폼이 Windows 11 22H2인 경우UserAgent.platform.brand
는 'Windows NT'로 설정되고UserAgent.platform.version
는[“10”, “0”]
로 설정됩니다. 10 이상의 모든 Windows 버전에 대한 고정 값을 제공하지 않습니다.
클라이언트 힌트를 기반으로 하는 UserAgent
의 데이터는 일반적으로
고정되거나 수정된 정보를 부정확하게 대체 만약
클라이언트 기반의 사용자-에이전트 헤더와 UserAgent
간 불일치
힌트: UserAgent
의 정보가 선호되어야 합니다.
UserAgent 객체 필드
이 섹션에서는 Google RTB 관련에 초점을 맞춰 각 필드를 요약합니다. 사용 권장사항이 있습니다.
브라우저
목록 포함
BrandVersion
일반적으로 특정성을 기준으로 정렬된 항목(예:
browsers
의 콘텐츠를 나열하면 각 항목의 brand
가 표시될 수 있습니다.
다음과 같습니다.
브랜드 | 의미 |
Mozilla | Mozilla 호환 |
AppleWebKit | AppleWebKit 기반(Mozilla의 하위 집합). |
Chrome | AppleWebKit 호환 브라우저의 하위 집합인 Chrome 브라우저 |
Safari | 모바일이 아닌 데스크톱 대안 |
UserAgent
는 특히 브라우저를 특정 순서로 나열하지 않습니다.
클라이언트 힌트를
기반으로 하는 경우 다음은 그 밖의 차이점에 대한 설명입니다.
다음과 같습니다.source
USER_AGENT
:version
필드가 주 버전으로 축소될 수 있습니다. 고정 (상담사별 정책에 따라 다름) 참고로 이는 값이 동결되었음을 나타냅니다.CLIENT_HINTS_LOW_ENTROPY
및CLIENT_HINTS_HIGH_ENTROPY
: 참가 신청은 어떤 기준에도 따라 정렬되지 않음 예를 들어, 동일한 브라우저가 각 요청에서 다른 순서로 입력됩니다. 또한 GREASE entry가 무시해야 합니다.CLIENT_HINTS_HIGH_ENTROPY
: 브라우저에 있는 모든version
입력란이 전체 버전으로 설정
플랫폼
BrandVersion
플랫폼을 설명하는
항목이 있어야 합니다 이는 사용자 에이전트에서 호환되지 않을 수 있습니다.
헤더 및 클라이언트 힌트가 포함되어 있으므로 일부 플랫폼의 타겟팅은 테스트가 필요할 수 있습니다.
있습니다. 예를 들어, Apple의 Macintosh 운영 체제는
User-Agent 헤더에 'Macintosh'가 있고 클라이언트 힌트에는 'macOS'가 있어야 합니다.
그 밖에 예상할 수 있는 차이점은 다음과 같습니다.
source
의 값:
USER_AGENT
:version
필드가 주 버전으로 축소될 수 있습니다. 고정되어 있습니다. 값이 고정되었다는 표시는 없습니다.CLIENT_HINTS_LOW_ENTROPY
:version
필드가 채워지지 않습니다.CLIENT_HINTS_HIGH_ENTROPY
:version
필드가 전체( 있습니다.
모바일
광고와 같은 콘텐츠를 작은 화면에 맞게 최적화해야 하는지 또는 있습니다. 이것은 반드시 기기 유형을 나타내는 것은 아닙니다 '데스크톱 사이트'를 요청하도록 모바일 브라우저를 설정할 수 있습니다.
아키텍처
'x86' 또는 'arm'과 같은 플랫폼의 아키텍처를 식별합니다.
클라이언트 힌트를 기반으로 하는 UserAgent
의 경우
source
가 CLIENT_HINTS_HIGH_ENTROPY
로 설정된 경우.
비트
플랫폼의 비트율을 식별합니다(예: 32비트인지 64비트인지 여부). CPU 사용량입니다. 이 필드는 아키텍처, 예를 들어, “x86” 아키텍처는 '32' 또는 '64'입니다.
클라이언트 힌트를 기반으로 하는 UserAgent
의 경우
source
가 CLIENT_HINTS_HIGH_ENTROPY
로 설정된 경우.
모델
기기 모델을 식별합니다. 휴대기기의 경우(노트북이나 데스크톱: 'Pixel 6 Pro'와 같은 모델 이름으로 채워집니다.
다음은
source
의 값:
USER_AGENT
- 휴대기기 이외의 기기:
model
입력란에는 일반적으로 비트율 값(예: Windows의 경우 'x64')입니다. 이 값은 크로스 플랫폼이 아닙니다. 예를 들어, 리눅스는 'x86_64'를 동일한 사용할 수 있습니다 - 휴대기기: 이 필드에는 아키텍처 및 비트율이 포함되지 않습니다.
이 값에 관심이 있다면
UserAgent.architecture
및UserAgent.bitness
입니다.
- 휴대기기 이외의 기기:
CLIENT_HINTS_LOW_ENTROPY
:model
필드가 채워지지 않습니다.CLIENT_HINTS_HIGH_ENTROPY
:model
필드는 모바일 장치의 기기 모델입니다. 데스크톱 플랫폼에는 설정된 값이 없습니다.
소스
UserAgent
를 만드는 데 사용된 헤더를 식별합니다. 클라이언트 힌트의 경우
다음 두 사례도 구별됩니다.
CLIENT_HINTS_LOW_ENTROPY
: 기본 클라이언트 힌트만 사용할 수 있습니다.CLIENT_HINTS_HIGH_ENTROPY
: 다음을 포함한 클라이언트 힌트를 사용할 수 있습니다. 높은 엔트로피로 분류되어 있습니다.