How ChatGPT serves ads

개요

ChatGPT 광고는 서버 측에서 대화 스트림에 광고 객체를 삽입하고, 클라이언트 측에서는 OAIQ라는 추적 SDK를 통해 제품 조회 정보를 OpenAI로 보고하는 방식으로 작동한다.

주요 내용

  • 광고 삽입 방식: ChatGPT 백엔드는 사용자와의 SSE(Server-Sent Events) 스트림에 single_advertiser_ad_unit 객체를 포함시켜 광고를 전달한다. 모델 응답과 동시에 광고가 삽입될 수 있다.
  • 추적 SDK (OAIQ): 방문자의 브라우저에서 실행되는 OAIQ(OpenAI Impression Quality) SDK는 광고 클릭 및 제품 조회 데이터를 수집하여 OpenAI로 전송한다.
  • 클릭 토큰: 광고 클릭 추적을 위해 Fernet으로 암호화된 네 가지 토큰이 사용된다. 이 토큰들은 ads_spam_integrity_payload, oppref, olref, ad_data_token으로 구성되며, 각각 서버 측 무결성 검증, 최초 클릭 정보 전달, 노출 정보 기록, 추가 데이터 전달 등의 역할을 수행한다.
  • 광고 선택: 광고 타겟팅은 현재 대화의 문맥에 따라 이루어지며, 사용자의 이전 대화 기록이 활용되는지에 대한 명확한 증거는 발견되지 않았다.
  • 데이터 흐름: 사용자가 광고 카드를 클릭하면, 해당 URL에 opprefolref 토큰이 포함된다. 브라우저는 해당 페이지를 로드하면서 OAIQ SDK를 실행시키고, SDK는 URL에서 oppref를 추출하여 __oppref 쿠키에 저장한다. 이후 발생하는 모든 이벤트는 이 쿠키를 참조하여 추적된다.
  • OpenAI 호스팅: 광고 이미지와 브랜드 아이콘은 OpenAI의 CDN(bzrcdn.openai.com)에서 호스팅되며, 이는 OpenAI가 광고 크리에이티브를 관리함을 시사한다.
  • 인앱 웹뷰: target.open_externally: false 설정은 광고 링크를 ChatGPT 자체 웹뷰 내에서 열도록 하여, OpenAI가 클릭 후 탐색을 직접 관찰할 수 있게 한다.
  • 추적 도메인: 광고 이벤트 추적을 위한 도메인으로는 bzrcdn.openai.combzr.openai.com이 사용된다.

시사점

ChatGPT의 광고 시스템은 대화 흐름에 광고를 자연스럽게 통합하고, SDK 및 암호화된 토큰을 통해 사용자 행동을 추적함으로써 정교한 광고 생태계를 구축하고 있음을 보여준다.

원문 읽기 →
원문을 불러오는 중...

댓글

GitHub Discussions