본문으로 건너뛰기
피드

챗GPT 광고는 이렇게 대화창에 끼어들고 추적된다

ai-ml 약 10분
vote
0
댓글
북마크

한 연구자가 동의받은 모바일 트래픽에서 챗GPT 광고 삽입과 광고주 사이트 추적 흐름을 관찰했다. 챗GPT 백엔드는 대화 응답 스트림에 구조화된 광고 객체를 끼워 넣고, 광고주 사이트는 오픈AI의 OAIQ SDK로 클릭 이후 행동을 다시 보고하는 구조였다. 핵심은 Fernet 암호화 토큰 4개로 대화 속 광고 노출, 클릭, 광고주 페이지 방문, 이후 이벤트를 묶는 귀속 루프다.

  • 1

    챗GPT 응답 스트림에 single_advertiser_ad_unit 광고 객체가 모델 출력과 함께 전달됨

  • 2

    광고 클릭 링크에는 oppref와 olref 토큰이 붙고, 광고주 페이지의 OAIQ SDK가 oppref를 30일짜리 1차 쿠키로 저장함

  • 3

    관찰된 광고는 같은 계정에서도 대화 주제에 따라 다른 브랜드가 나오는 문맥 기반 타기팅에 가까웠음

  • 4

    Fernet 토큰은 서버 키 없이는 복호화할 수 없지만 생성 시각은 공개 바이트만으로 확인 가능함

  • 챗GPT 광고는 그냥 화면 어딘가에 붙는 배너가 아니라, 대화 응답 스트림 안에 구조화된 객체로 들어오는 방식이었음

    • 사용자가 메시지를 보내면 chatgpt.com/backend-api/f/conversation 쪽으로 서버 전송 이벤트(SSE) 응답이 열림
    • 대부분은 모델 출력 이벤트지만, 중간에 single_advertiser_ad_unit 타입의 광고 이벤트가 섞여 들어감
    • 객체 안에는 광고 요청 ID, 광고주 브랜드, 캐러셀 카드, 이미지, 클릭 대상 URL, 광고 데이터 토큰 같은 값이 들어 있었음
  • 광고 객체 이름부터 꽤 노골적임. single_advertiser_ad_unit이라는 타입명은 “한 광고주짜리 광고 단위”라는 뜻에 가깝고, 다른 형제 타입도 있을 법한 네이밍임

    • 광고주 ID는 adacct_ 뒤에 32자리 16진수가 붙는 형태였고, 광고주 계정 단위로 안정적인 식별자처럼 보였음
    • 광고주의 파비콘과 광고 이미지는 모두 bzrcdn.openai.com에서 로드됨
    • 즉 광고 소재를 광고주 서버가 아니라 오픈AI 쪽 CDN이 호스팅하는 구조였음
  • 클릭은 챗GPT 안의 인앱 웹뷰로 열리도록 설정돼 있었음

    • 광고 카드의 target.open_externally 값이 false였음
    • 사용자가 바깥 브라우저로 바로 나가는 게 아니라 챗GPT 안에서 광고주 페이지를 여는 흐름이라, 오픈AI가 클릭 이후 내비게이션도 관찰하기 쉬워짐
    • 여기에 광고주 사이트의 픽셀 신호까지 붙으면, 대화창에서 광고를 본 뒤 실제 사이트에서 뭘 봤는지까지 이어지는 그림이 나옴

중요

> 핵심은 “광고 노출” 하나가 아니라, 대화 스트림 광고 객체, 클릭 URL 토큰, 인앱 웹뷰, 광고주 SDK 이벤트가 한 루프로 묶인다는 점임.

문맥 타기팅은 꽤 직접적으로 보임

  • 같은 계정에서도 대화 주제가 바뀌면 완전히 다른 광고주가 나왔음

    • 베이징 여행 계획 대화에서는 Grubhub의 “중국 음식 배달” 광고가 나왔음
    • 베이징 투어 예약 대화에서는 GetYourGuide의 만리장성 투어 광고가 나왔음
    • 베이징 항공권 대화에서는 항공권 관련 캠페인이 붙었음
    • NBA 플레이오프 대화에서는 Gametime 광고가 나왔고, 봄 패션 트렌드 대화에서는 Aritzia 광고가 나왔음
    • 생산성이나 슬라이드 관련 대화에서는 Canva 광고가 붙었음
  • 이 관찰만 놓고 보면 최소한 대화 주제 기반 문맥 타기팅은 작동하고 있었음

    • 연구자는 이전 대화 기록까지 타기팅에 쓰이는지는 확인하지 못했다고 선을 그음
    • 그래서 “챗GPT가 모든 과거 대화를 광고에 쓴다” 같은 결론까지 가면 안 됨
    • 확인된 건 같은 계정, 다른 대화 주제, 다른 광고주라는 패턴임

광고 하나에 Fernet 토큰이 4개 붙음

  • 광고에는 서로 다른 Fernet 암호화 토큰 4개가 실려 있었음

    • ads_spam_integrity_payload는 SSE 데이터 안에만 있고 클릭 URL에는 없었음. 위조 클릭을 막는 서버 측 무결성 체크 용도로 보임
    • oppref는 클릭 URL에 붙고, 광고주 사이트의 OAIQ 픽셀이 __oppref 쿠키로 그대로 복사함
    • olref도 클릭 URL에 붙지만 관찰된 SDK에서는 저장되지 않았음. 노출이나 아웃바운드 링크 기록 쪽에 쓰일 가능성이 있음
    • ad_data_token은 base64로 감싼 JSON 안에 또 다른 Fernet 토큰을 담고 있었고, 서버 측에서 클릭 시점에 대조하는 용도로 추정됨
  • Fernet은 내용을 못 읽게 암호화하지만, 토큰 생성 시각은 일부 공개 바이트만으로 확인할 수 있음

    • Fernet 토큰의 첫 9바이트는 버전 바이트 0x80과 8바이트 빅엔디언 유닉스 타임스탬프임
    • 서버 키가 없어도 토큰이 언제 만들어졌는지는 뽑아낼 수 있음
    • 연구자가 캡처한 Home Depot 클릭 URL은 2026년 4월 26일 11시 30분 8초 UTC에 만들어졌고, 브라우저가 광고주 페이지를 가져온 시각은 11시 31분 43초였음
    • 클릭까지 걸린 시간은 95초였음. 이런 디테일이 실제 트래픽 관찰 기반이라는 느낌을 확 줌

ℹ️참고

> Fernet 토큰의 내용을 복호화한 건 아님. 다만 포맷상 생성 시각은 암호화 키 없이도 읽을 수 있어서, 토큰 발급과 실제 클릭 사이의 시간차를 계산할 수 있었음.

광고주 사이트에서는 OAIQ SDK가 루프를 닫음

  • 사용자가 광고 카드를 누르면 광고주 URL에 opprefolref가 붙은 채로 이동함

    • 예시 흐름에서는 utm_source=chatgptpilot 같은 캠페인 파라미터도 함께 붙었음
    • 일반적인 광고 캠페인 UTM에 오픈AI 전용 귀속 토큰이 추가된 형태라고 보면 됨
  • 광고주 페이지에는 오픈AI의 oaiq.min.js SDK가 로드됨

    • 관찰된 버전은 0.1.3이었음
    • 초기화할 때 광고주 픽셀 ID를 받고, contents_viewed 같은 측정 이벤트를 호출함
    • SDK는 URL의 oppref 값을 읽어서 __oppref라는 1차 쿠키에 저장함
    • 쿠키 TTL은 720시간, 즉 30일임
  • 이후 이벤트는 오픈AI의 수집 엔드포인트로 POST됨

    • 요청은 bzr.openai.com/v1/sdk/events 계열 엔드포인트로 나감
    • 파라미터에는 광고주 ID, SDK 종류, SDK 버전 같은 값이 포함됨
    • 이렇게 되면 “챗GPT 대화에서 광고 노출 → 광고 클릭 → 광고주 사이트 방문 → 상품 조회 같은 후속 행동”을 한 광고 루프로 이어 붙일 수 있음
sequenceDiagram
    participant 사용자
    participant 챗GPT백엔드
    participant 챗GPT웹뷰
    participant 광고주사이트
    participant 오픈AI수집서버

    사용자->>챗GPT백엔드: 대화 메시지 전송
    챗GPT백엔드-->>사용자: SSE로 모델 출력과 광고 객체 전달
    사용자->>챗GPT웹뷰: 광고 카드 클릭
    챗GPT웹뷰->>광고주사이트: oppref와 olref가 붙은 URL 열기
    광고주사이트->>광고주사이트: OAIQ SDK가 oppref를 30일 쿠키로 저장
    광고주사이트->>오픈AI수집서버: 상품 조회 등 픽셀 이벤트 전송
  • 개발자 입장에서 재밌는 지점은 챗GPT가 광고를 “대화형 UI에 맞게” 넣고 있다는 거임

    • 전통적인 웹 광고처럼 DOM 어딘가에 광고 스크립트가 붙는 게 아니라, 백엔드가 대화 이벤트 스트림에 광고 단위를 직접 넣음
    • 모델 출력과 광고 단위가 같은 스트리밍 채널에 있으니, 제품 경험상으로는 답변의 일부처럼 매끄럽게 보일 수 있음
    • 반대로 투명성이나 추적 범위 관점에서는 사용자가 어디까지 광고 시스템에 들어왔는지 알아차리기 어려울 수도 있음
  • 다만 이 글에서 확인된 건 관찰된 트래픽의 구조지, 오픈AI의 전체 광고 정책이나 내부 타기팅 로직 전부는 아님

    • 사전 대화 기록을 쓰는지, 계정 프로필을 쓰는지, 어떤 기준으로 광고주를 고르는지는 확정할 수 없음
    • 그래도 대화 주제 기반 광고 선택, 4개 토큰 기반 귀속, 광고주 사이트 SDK 추적이라는 큰 흐름은 꽤 선명하게 드러남

기술 맥락

  • 여기서 가장 중요한 선택은 광고를 별도 웹 광고 슬롯이 아니라 챗GPT의 SSE 응답 스트림 안에 넣었다는 점이에요. 챗GPT는 답변을 토큰 단위로 계속 흘려보내는 제품이라, 같은 채널에 광고 객체를 섞으면 UI 입장에서는 자연스럽게 렌더링할 수 있거든요.

  • 귀속 쪽에서는 oppref, olref, ad_data_token, ads_spam_integrity_payload처럼 역할이 나뉜 토큰을 여러 개 둔 게 눈에 띄어요. 하나의 토큰에 모든 걸 넣기보다 클릭 URL, 서버 검증, 광고 데이터 대조, 광고주 픽셀 전달을 분리하면 각 단계에서 필요한 값만 노출할 수 있기 때문이에요.

  • 광고주 사이트에 OAIQ SDK를 심는 방식은 기존 광고 픽셀과 닮아 있어요. 차이는 출발점이 검색 결과나 소셜 피드가 아니라 대화형 AI라는 점이고, 그래서 “어떤 질문을 하다가 이 광고를 봤는가”라는 문맥이 훨씬 강한 신호가 될 수 있어요.

  • 30일짜리 __oppref 1차 쿠키는 클릭 직후 한 번의 방문만 보려는 게 아니라 이후 행동까지 묶으려는 설계로 보여요. 사용자가 바로 구매하지 않고 나중에 돌아와도 광고 기여를 계산할 수 있어야 광고 플랫폼으로서 의미가 생기거든요.

챗GPT 광고가 단순 배너가 아니라 대화 스트림, 인앱 웹뷰, 광고주 픽셀까지 이어지는 폐쇄형 귀속 시스템으로 설계된 게 포인트다. 개발자 입장에서는 AI 서비스가 광고 플랫폼이 될 때 어떤 추적 표면이 생기는지 꽤 구체적으로 볼 수 있는 사례다.

댓글

댓글

댓글을 불러오는 중...

ai-ml

메가존클라우드, 양자 회로 시뮬레이터 큐엑셀 독점 판매 맡는다

메가존클라우드가 큐비스택의 고성능 양자 회로 시뮬레이터 큐엑셀 독점 판매 계약을 맺었다. 큐엑셀은 실제 양자컴퓨터 없이도 양자 알고리즘을 설계하고 검증할 수 있게 해주는 소프트웨어로, 보조 스토리지 오프로딩을 통해 시뮬레이션 한계를 30여 큐비트에서 최대 43큐비트까지 넓히는 게 핵심이다.

ai-ml

삼성SDS, 클라우드 매출 17% 키우고 AI 풀스택으로 확장 시동

삼성SDS가 2분기에 매출 3조7178억원, 영업이익 2318억원을 냈고, 클라우드와 AI 사업이 성장을 끌었음. 특히 클라우드 매출은 7794억원으로 17% 늘었고, 대외 사업 매출은 75% 급증했음. GPUaaS, NPUaaS, 생성형 AI 솔루션, 디지털 자산 인프라까지 묶어 중장기 성장판을 넓히려는 흐름임.

ai-ml

엔비디아가 밀어준 리플렉션 인공지능, 첫 오픈소스 모델 로드맵 공개했지만 반응은 싸늘

리플렉션 인공지능이 올해 첫 오픈소스 인공지능 모델을 내놓고 2027년 초 더 큰 고성능 모델을 출시하겠다는 로드맵을 공개했음. 하지만 첫 모델 성능 목표가 이미 20위권 수준인 잉클링 정도로 알려지면서, 중국 오픈소스 모델들과의 격차를 따라잡기 어렵다는 평가가 나옴.

ai-ml

미소정보기술 AI OCR ‘빅스’, 공공 조달 문턱 넘는 GS인증 1등급 획득

미소정보기술의 VLM 기반 AI OCR 솔루션 ‘빅스’가 GS인증 1등급을 받았다. 기존 OCR처럼 글자만 뽑는 게 아니라 문서 레이아웃, 표, 이미지, 문맥, 키-값 정보를 함께 분석해 비정형 문서를 구조화하는 쪽에 초점이 있다. 공공기관 우선구매와 조달청 수의계약 자격을 바탕으로 의료, 제조, 공공, 국방 같은 온프레미스 시장을 노린다.

ai-ml

삼성SDS, AI 인프라 110MW에서 2031년 800MW 이상으로 키운다

삼성SDS가 AI 데이터센터와 GPU 인프라를 공격적으로 늘리겠다는 계획을 밝혔다. 현재 110MW 규모의 AI 인프라를 2029년 230MW, 2031년 800MW 이상으로 키우고, 구미·해남·동탄을 축으로 CAPEX, 지분 투자, DBO 모델을 병행한다는 전략이야. 엔비디아 B300, 베라루빈, 국산 NPU, 멀티 LLM, 금융권 AI 에이전트까지 한꺼번에 묶어 AI 인프라 사업자로 포지션을 넓히려는 움직임이 보임.