Skip to content

SSAI Beacon, 광고가 진짜 재생됐다는 걸 증명하는 방법 ​

광고가 화면에 나갔다는 사실만으로는 광고비를 정산할 근거가 되지 않습니다. 광고주와 광고 대행사 입장에서 필요한 건 시청자가 그 광고를 몇 초까지 봤는지, 끝까지 봤는지, 중간에 넘겼는지입니다. 그것도 표준화된 방식으로 보고받아야 실제 집행 결과를 신뢰할 수 있습니다. SSAI에서 이 역할을 맡는 게 비콘(beacon)입니다. 아래에서는 AWS MediaTailor가 공개한 비콘 명세를 예시로 이 구조가 어떻게 동작하는지 살펴보고, Tencent Cloud StreamPackage는 같은 문제를 어떻게 다루는지 정리합니다.

비콘이 하는 일 ​

비콘은 서버가 ADS와 광고 검증 서비스로 보내는 짧은 HTTP 요청입니다. 광고 재생 진행 상황이 특정 지점에 도달할 때마다 하나씩 나갑니다. 클라이언트(플레이어) 쪽에 별도의 트래킹 스크립트를 심는 방식과 달리, SSAI 환경에서는 광고 자체가 서버에서 스트림에 합쳐지니 재생 보고도 서버가 대신 맡습니다. 이 방식을 서버사이드 트래킹이라고 부르며, IAB가 정한 영상 광고 측정 표준을 따릅니다.

여섯 가지 표준 이벤트 ​

AWS MediaTailor는 광고 하나가 재생되는 동안 여섯 개의 표준 이벤트를 순서대로 발사합니다.

이벤트발사 시점의미
Impression첫 광고 세그먼트를 요청할 때광고 콘텐츠 로딩이 시작됨
Start광고 렌더링이 시작될 때실제 재생이 시작됨
First Quartile광고 길이의 25% 지점4분의 1 지점까지 시청 지속
Midpoint광고 길이의 50% 지점절반까지 시청 지속
Third Quartile광고 길이의 75% 지점4분의 3 지점까지 시청 지속
Complete마지막 세그먼트를 요청할 때광고 전체가 전달됨

20초짜리 광고를 2초 단위 세그먼트로 나눴다고 하면, 대략 3번째 세그먼트 요청에서 First Quartile이, 5번째에서 Midpoint가, 8번째에서 Third Quartile이, 10번째(마지막) 세그먼트 요청에서 Complete가 찍힙니다. Impression과 Start는 보통 첫 세그먼트 요청 시점에 함께 찍힙니다. 다만 Impression은 "로딩이 시작됐다", Start는 "실제 렌더링이 시작됐다"는 뜻이라 검증 서비스 쪽에서는 이 둘을 구분해 다룹니다.

왜 세그먼트 요청을 기준으로 삼는가 ​

여기서 눈여겨볼 설계 원칙은 발사 기준입니다. 비콘은 매니페스트를 파싱하는 시점이 아니라, 플레이어가 실제로 /v1/segment 경로에 HTTP 요청을 보내는 시점에만 발사됩니다. 플레이어가 매니페스트를 미리 받아 캐시에 저장해두는 동작만으로는 어떤 이벤트도 발생하지 않습니다. 반대로 플레이어가 재생 전에 광고 세그먼트 자체를 미리 가져오는(pre-fetch) 경우에는, 아직 화면에 나오지 않았더라도 그 요청 시점에 비콘이 찍힙니다. 세그먼트 요청 자체를 유효한 노출로 보는 업계 표준 관행을 그대로 따릅니다.

전체 흐름은 네 단계로 나뉩니다. 먼저 플레이어가 매니페스트를 요청하면 서버는 광고 세그먼트 URL이 포함된 개인화 매니페스트를 돌려줍니다. 이 매니페스트를 파싱하고 캐시하는 동안에는 아무 이벤트도 찍히지 않습니다. 그러다 첫 광고 세그먼트를 실제로 요청하는 순간 Impression과 Start 비콘이 ADS와 검증 서비스 양쪽으로 동시에 발사됩니다. 이후 요청되는 세그먼트마다 해당 구간에 맞는 분기점 비콘이 이어지고, 서버는 비콘을 쏜 다음에야 실제 광고 세그먼트로 리다이렉트합니다.

설계가 이렇다 보니, 네트워크 상태가 나빠 플레이어가 같은 세그먼트를 여러 번 요청하거나 CDN 캐시 설정이 잘못돼 /v1/segment 요청이 중복되거나 누락되면 그대로 비콘 집계에 영향을 줍니다. 서드파티 리포팅 수치와 SSAI 서버의 집계가 어긋날 때 플레이어의 프리페치 전략, 네트워크 상태, CDN 캐시 설정, 세션 식별자 중복 여부부터 확인해야 하는 것도 이 때문입니다.

Tencent Cloud StreamPackage는 어떻게 지원하는가 ​

Tencent Cloud StreamPackage도 같은 여섯 가지 이벤트, 곧 Impression, Start, First Quartile, Midpoint, Third Quartile, Complete를 성능 지표로 제공합니다. 광고가 클라이언트에서 재생된 뒤 StreamPackage가 광고 트래킹 서비스로 리포팅하는 구조입니다. 서버가 재생 진행 상황을 대신 보고한다는 설계 자체는 MediaTailor와 같습니다. VAST 응답에 담긴 트래킹 URL을 서버가 파싱해 ADS로 이벤트를 쏘는 흐름이라, SSAI를 도입할 때 "우리 스트림에서도 광고가 실제로 얼마나 재생됐는지 표준 방식으로 리포팅되는가"라는 질문에는 두 플랫폼 모두 같은 답을 내놓는 셈입니다.

이 수치는 정산의 근거가 됩니다. SSAI를 붙일 때는 스트리밍이 끊김 없이 나가는지 확인하는 것 못지않게, 이 비콘 체계가 어떤 시점을 기준으로 발사되는지도 함께 이해해두는 편이 좋습니다. 리포팅 수치가 예상과 다르게 나올 때 원인을 찾는 첫 단추가 바로 이 발사 시점입니다.

基于 VitePress 构建 · 部署于腾讯云 EdgeOne Pages