View a markdown version of this page

광고 부페 - AWS Elemental MediaTailor

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

광고 부페

Interactive Advertising Bureau (IAB) Video Ad Serving Template (VAST) 사양은 광고 포드와 광고 부페를 정의합니다. 이 메커니즘은 광고 삽입 실패 시 자동 대체와 함께 정렬된 광고 삽입을 지원합니다. 광고 포드에서 시퀀스화된 광고는 순서대로 재생됩니다. 독립 실행형 광고는 시퀀스 광고가 실패할 때 MediaTailor가 대체 광고를 선택할 수 있는 부페 역할을 합니다.

AWS Elemental MediaTailor 는 AdDecisionServerConfiguration의에 있는 AdSequencingMode 설정을 통해이 사양을 지원합니다PlaybackConfiguration. 로 설정하면 FOLLOW_AD_SEQUENCE MediaTailor는 순서대로 시퀀스화된 광고를 삽입하고 시퀀스화된 광고가 삽입되지 않을 때만 독립 실행형 광고를 대체물로 사용합니다.

VAST 응답 예

다음 예제는 시퀀스 광고와 독립 실행형 광고가 포함된 VAST 응답을 보여줍니다.

<VAST> <Ad sequence="1" id="sequencedAd1">...</Ad> <!-- Sequenced Ad 1 --> <Ad sequence="2" id="sequencedAd2">...</Ad> <!-- Sequenced Ad 2 --> <Ad id="standAloneAd1">...</Ad> <!-- Standalone Ad 1 --> <Ad id="standAloneAd2">...</Ad> <!-- Standalone Ad 2 --> <Ad id="standAloneAd3">...</Ad> <!-- Standalone Ad 3 --> </VAST>

이 예제에서는 두 개의 시퀀싱된 광고가 광고 포드를 형성합니다. 세 개의 독립 실행형 광고는 광고 부페를 형성합니다. 이들은 함께 하나의 부페 그룹을 구성합니다. sequencedAd1 실패하면 MediaTailor는 먼저 이를 동일한 부페 그룹의 적격 독립 실행형 광고로 교체하려고 시도합니다. 해당 그룹에서 사용할 수 있는 적격 독립 실행형 광고가 없는 경우 MediaTailor는 다른 부페 그룹의 독립 실행형 광고 중에서 선택합니다.

다음 다이어그램은 광고 포드(시퀀스 광고)와 함께 부페 그룹을 구성하는 광고 부페(독립형 광고)가 있는 VAST 응답을 보여줍니다.

하나의 부페 그룹을 구성하는 광고 포드(시퀀싱된 광고 2개)와 광고 부페(독립형 광고 3개)가 있는 VAST 응답의 다이어그램입니다.

주요 개념

다음 용어는 광고 부페의 핵심 개념을 설명합니다.

  • 시퀀스 광고 - <Ad> 요소에 sequence 속성이 있는 광고입니다. 이는 정렬된 광고 포드를 형성하며 증가하는 시퀀스 순서로 삽입됩니다.

  • 독립 실행형(버펫) 광고 - sequence 속성이 없는 광고입니다. 이는 시퀀스 광고가 삽입되지 않을 때만 대체물로 사용됩니다.

  • Vacuum Group - MediaTailor는 단일 VAST 응답 내에서 광고 포드를 독립 실행형 광고와 페어링합니다. 시퀀싱된 광고가 래퍼인 경우 리디렉션된 VAST는 자체 독립 부페 그룹을 구성합니다. 실패한 시퀀스 광고를 대체할 때 MediaTailor는 동일한 부페 그룹의 독립 실행형 광고의 우선 순위를 지정합니다. 동일한 부페 그룹에 적격 독립 실행형 광고가 없는 경우 MediaTailor는 다른 부페 그룹의 독립 실행형 광고로 돌아갑니다.

참고

sequence<Ad> 요소에 있는 속성이 아닌 <Creative> 요소 수준 sequence 속성을 참조합니다.

광고 부페의 이점

광고 부페가 없으면 MediaTailor는 모든 광고를 동일하게 취급하므로 다음과 같은 문제가 발생할 수 있습니다.

  • VOD - 장애가 발생하지 않더라도 독립 실행형 광고가 삽입되어 합의된 광고 중단 위치가 중단되고 광고 중단이 과도하게 채워집니다.

  • 라이브 - 낮은 수익의 독립 실행형 광고는 시퀀스 광고 전에 삽입할 수 있으며 가용 시간을 차지하므로 수익이 높은 시퀀스 광고를 위한 공간이 없습니다.

광고 부페가 활성화된 경우 MediaTailor는 시퀀스화된 광고만 삽입하고 시퀀스화된 광고가 삽입되지 않을 때 독립 실행형 광고를 대체물로만 사용합니다. 이렇게 하면 수익이 가장 높은 광고가 먼저 재생됩니다.

주의

광고 결정 서버(ADS) 응답에 시퀀스가 지정된 광고가 포함되지 않은 경우(sequence속성이 있는 <Ad> 요소가 없음) 광고 부페를 활성화하면 광고 삽입이 발생하지 않습니다.

광고 부페 활성화

광고 부페는 PutPlaybackConfiguration API를 사용하여 각 재생 구성에 대해 구성하는 옵트인 기능입니다.

AdSequencingMode 값

다음 표에서는 사용 가능한 AdSequencingMode 값을 설명합니다.

설명
IGNORE_AD_SEQUENCE(기본값) MediaTailor는 시퀀스 속성에 관계없이 VAST 응답에 표시되는 순서대로 광고를 삽입합니다.
FOLLOW_AD_SEQUENCE MediaTailor는 라이브 및 VOD 워크플로 모두에 대해 시퀀스 광고를 삽입합니다. 실패한 시퀀스 광고는 독립 실행형 광고로 대체됩니다.
FOLLOW_AD_SEQUENCE_ONLY_LIVE 광고 부페 동작은 라이브 워크플로에서만 활성화됩니다.
FOLLOW_AD_SEQUENCE_ONLY_VOD 광고 부페 동작은 VOD 워크플로에서만 활성화됩니다.
참고

광고 부페를 활성화하면 MediaTailor는 Wrapper.fallbackOnNoAdWrapper.allowMultipleAds 속성을 준수합니다.

미드롤 구성

다음 예제에서는 라이브 워크플로와 VOD 워크플로 모두에 대한 광고 부페를 활성화합니다.

{ "PlaybackConfiguration": { "AdDecisionServerConfiguration": { "VastResponse": { "AdSequencingMode": "FOLLOW_AD_SEQUENCE" } } } }

다음 예제에서는 라이브 워크플로에 대해서만 광고 부페를 활성화합니다.

{ "PlaybackConfiguration": { "AdDecisionServerConfiguration": { "VastResponse": { "AdSequencingMode": "FOLLOW_AD_SEQUENCE_ONLY_LIVE" } } } }

다음 예제에서는 VOD 워크플로에 대해서만 광고 부페를 활성화합니다.

{ "PlaybackConfiguration": { "AdDecisionServerConfiguration": { "VastResponse": { "AdSequencingMode": "FOLLOW_AD_SEQUENCE_ONLY_VOD" } } } }

라이브 프리롤 구성

다음 예시에서는 라이브 프리롤 광고에 대한 광고 부페를 활성화합니다.

{ "PlaybackConfiguration": { "LivePrerollConfiguration": { "AdDecisionServerConfiguration": { "VastResponse": { "AdSequencingMode": "FOLLOW_AD_SEQUENCE" } } } } }
참고

LivePrerollConfigurationFOLLOW_AD_SEQUENCE 및 만 지원합니다IGNORE_AD_SEQUENCE. 미드롤 구성을 통해 VOD 프리롤에 대한 광고 부페를 구성합니다.

광고 부페 작동 방식

광고 대체 조건

시퀀스 광고에 다음 실패 사례 중 하나가 발생하면 MediaTailor는 시퀀스 광고를 동일한 부페 그룹의 적격 독립 실행형 광고로 교체하려고 시도합니다. 동일한 부페 그룹에서 독립 실행형 광고를 사용할 수 없는 경우 MediaTailor는 가능한 경우 다른 부페 그룹의 독립 실행형 광고를 사용합니다.

실패 사례 설명
VAST 구문 분석 실패 시퀀스 광고는 필수 VAST 요소가 누락되어 구문 분석에 실패합니다(예: , Creatives또는 MediaFilesImpression가 누락되었거나 MediaFile 또는 VASTAdTagURI가 유효하지 않음).
VAST 래퍼 해상도 실패 리디렉션 시간이 초과되거나 실패하거나 빈 응답을 반환합니다.
VPAID 광고 삭제됨 시퀀스 광고는 VPAID이고 세션은 서버 측 보고를 사용하거나 슬레이트가 구성되지 않았습니다.
광고 트랜스코딩 준비되지 않음 시퀀스 광고의 트랜스코딩 상태는 성공이 아닙니다(예: IN_PROGRESS 또는 ERROR).
가용 기간 초과 시퀀스 광고의 지속 시간이 나머지 가용 지속 시간(실시간 워크플로)을 초과합니다.

독립 실행형 광고 자격

교체 자격을 갖추려면 독립 실행형 광고가 다음 기준을 충족해야 합니다.

  • VPAID 광고가 아님

  • 트랜스코딩 완료

  • 남은 가용 기간 내에 맞는 기간이 있어야 합니다.

독립 실행형 광고 선택

시퀀스 광고가 실패하면 MediaTailor는 다음 우선 순위를 사용하여 적격 독립 실행형 광고에서 대체를 선택합니다.

  1. 동일한 부페 그룹 먼저 - MediaTailor는 실패한 광고의 자체 부페 그룹의 독립 실행형 광고를 선호합니다.

  2. 기타 부페 그룹 - 동일한 부페 그룹에 적격 광고가 없는 경우에만 사용됩니다.

적합한 독립 실행형 광고를 찾을 수 없는 경우 해당 위치가 채워지지 않고 적절한 SkippedReason이 내보내집니다.

VAST 래퍼 동작

MediaTailor의 래퍼 리디렉션 응답 처리는 두 가지 래퍼 변수인 Wrapper.fallbackOnNoAd 및의 값에 따라 달라집니다Wrapper.allowMultipleAds.

  • fallbackOnNoAd는 리디렉션 응답이 비어 있거나, 시간이 초과되었거나, ADS 요청 중에 오류가 발생할 때 적용됩니다.

  • allowMultipleAds는 ADS 응답에 하나 이상의 광고가 포함된 경우 적용됩니다.

VAST 비우기, 요청 오류 또는 요청 제한 시간

다음 표에서는 리디렉션 응답이 비어 있거나, 시간이 초과되었거나, 오류가 발생할 때의 MediaTailor 동작을 설명합니다.

fallbackOnNoAd MediaTailor 동작
true(기본값) MediaTailor는 실패한 래퍼를 대체할 독립 실행형 광고를 선택하며, 동일한 부페 그룹을 선호합니다. 사용 가능한 동일한 그룹 광고가 없는 경우 MediaTailor는 다른 부페 그룹 중에서 선택합니다.
false MediaTailor는 광고 위치를 삭제하고 포드의 다음 광고로 이동합니다. 대체가 발생하지 않습니다.
예 fallbackOnNoAd=true(리디렉션 실패)

상위 VAST:

<VAST> <Ad sequence="1" id="seqAd1">...</Ad> <Ad sequence="2"> <Wrapper fallbackOnNoAd="true"> <VASTAdTagURI>https://ads.example.com/vast</VASTAdTagURI> </Wrapper> </Ad> <Ad id="standAloneAd1">...</Ad> <Ad id="standAloneAd2">...</Ad> </VAST>

래퍼 리디렉션 응답: VAST 비우기, 시간 초과 또는 오류.

해결된 VAST:

<VAST> <Ad sequence="1" id="seqAd1">...</Ad> <!-- standAloneAd1 replaced failed Wrapper Ad and now has the Wrapper's sequence (2) --> <Ad sequence="2" id="standAloneAd1">...</Ad> <Ad id="standAloneAd2">...</Ad> </VAST>

재생 순서:

  1. seqAd1

  2. standAloneAd1

예 fallbackOnNoAd=false(리디렉션 실패)

상위 VAST:

<VAST> <Ad sequence="1" id="seqAd1">...</Ad> <Ad sequence="2"> <Wrapper fallbackOnNoAd="false"> <VASTAdTagURI>https://ads.example.com/vast</VASTAdTagURI> </Wrapper> </Ad> <Ad id="standAloneAd1">...</Ad> <Ad id="standAloneAd2">...</Ad> </VAST>

래퍼 리디렉션 응답: VAST 비우기, 시간 초과 또는 오류.

해결된 VAST:

<VAST> <Ad sequence="1" id="seqAd1">...</Ad> <!-- sequence 2 is not replaced --> <Ad id="standAloneAd1">...</Ad> <Ad id="standAloneAd2">...</Ad> </VAST>

재생 순서:

  1. seqAd1

응답에 하나 이상의 광고 포함

다음 표에서는 리디렉션 응답에 하나 이상의 광고가 포함된 경우 MediaTailor 동작을 설명합니다.

allowMultipleAds MediaTailor 동작
false(기본값) MediaTailor는 리디렉션 응답에서 하나의 광고를 선택하고 나머지 광고를 삭제합니다. 선택한 광고는 상위 래퍼 광고에서 시퀀스 값을 상속합니다. 선택 전략: MediaTailor는 리디렉션 응답에서 가장 낮은 순서의 광고를 선택합니다. 사용 가능한 순차적 광고가 없는 경우 MediaTailor는 가능한 경우 독립 실행형 광고를 선택합니다.
true 래퍼에 시퀀스 속성이 있는 경우 MediaTailor는 래퍼의 위치에 리디렉션 광고를 삽입합니다. 래퍼에 시퀀스 속성이 없는 경우 MediaTailor는 상위의 시퀀스 광고 뒤에 리디렉션 광고를 삽입합니다. 해결된 광고는 자체 부페 그룹을 형성합니다.
예 allowMultipleAds=false, 래퍼의 시퀀스=2

상위 VAST:

<VAST> <Ad sequence="1" id="seqAd1">...</Ad> <Ad sequence="2"> <Wrapper allowMultipleAds="false"> <VASTAdTagURI>https://ads.example.com/vast</VASTAdTagURI> </Wrapper> </Ad> <Ad sequence="3" id="seqAd3">...</Ad> <Ad id="standAloneAd1">...</Ad> <Ad id="standAloneAd2">...</Ad> </VAST>

래퍼 리디렉션 응답:

<VAST> <Ad sequence="1" id="redirectSeqAd1">...</Ad> <Ad sequence="2" id="redirectSeqAd2">...</Ad> <Ad id="redirectStandAloneAd1">...</Ad> </VAST>

해결된 VAST:

<VAST> <Ad sequence="1" id="seqAd1">...</Ad> <Ad sequence="2" id="redirectSeqAd1">...</Ad> <!-- redirectSeqAd1 selected, inherits Wrapper's sequence (2) --> <Ad sequence="3" id="seqAd3">...</Ad> <Ad id="standAloneAd1">...</Ad> <Ad id="standAloneAd2">...</Ad> </VAST>

재생 순서:

  1. seqAd1

  2. redirectSeqAd1

  3. seqAd3

예 allowMultipleAds=false, 래퍼에 시퀀스 없음

상위 VAST:

<VAST> <Ad sequence="1" id="seqAd1">...</Ad> <Ad> <Wrapper allowMultipleAds="false"> <VASTAdTagURI>https://ads.example.com/vast</VASTAdTagURI> </Wrapper> </Ad> <Ad sequence="3" id="seqAd3">...</Ad> <Ad id="standAloneAd1">...</Ad> <Ad id="standAloneAd2">...</Ad> </VAST>

래퍼 리디렉션 응답:

<VAST> <Ad sequence="1" id="redirectSeqAd1">...</Ad> <Ad sequence="2" id="redirectSeqAd2">...</Ad> <Ad id="redirectStandAloneAd1">...</Ad> </VAST>

해결된 VAST:

<VAST> <Ad sequence="1" id="seqAd1">...</Ad> <Ad id="redirectSeqAd1">...</Ad> <!-- redirectSeqAd1 selected, inherits Wrapper's sequence (UNDEFINED) --> <Ad sequence="3" id="seqAd3">...</Ad> <Ad id="standAloneAd1">...</Ad> <Ad id="standAloneAd2">...</Ad> </VAST>

재생 순서:

  1. seqAd1

  2. seqAd3

참고

redirectSeqAd1에는 시퀀스가 정의되지 않았으므로 재생되지 않습니다.

예 allowMultipleAds=true, 래퍼의 시퀀스=2

상위 VAST:

<VAST> <Ad sequence="1" id="seqAd1">...</Ad> <Ad sequence="2"> <Wrapper allowMultipleAds="true"> <VASTAdTagURI>https://ads.example.com/vast</VASTAdTagURI> </Wrapper> </Ad> <Ad sequence="3" id="seqAd3">...</Ad> <Ad id="standAloneAd1">...</Ad> <Ad id="standAloneAd2">...</Ad> </VAST>

래퍼 리디렉션 응답:

<VAST> <Ad sequence="1" id="redirectSeqAd1">...</Ad> <Ad sequence="2" id="redirectSeqAd2">...</Ad> <Ad id="redirectStandAloneAd1">...</Ad> </VAST>

해결된 VAST:

<VAST> <Ad sequence="1" id="seqAd1">...</Ad> <!-- Redirect response merged at sequence 2 --> <Ad sequence="1" id="redirectSeqAd1">...</Ad> <Ad sequence="2" id="redirectSeqAd2">...</Ad> <Ad id="redirectStandAloneAd1">...</Ad> <Ad sequence="3" id="seqAd3">...</Ad> <Ad id="standAloneAd1">...</Ad> <Ad id="standAloneAd2">...</Ad> </VAST>

재생 순서:

  1. seqAd1

  2. redirectSeqAd1

  3. redirectSeqAd2

  4. seqAd3

예 allowMultipleAds=true, 래퍼에 시퀀스가 없음

상위 VAST:

<VAST> <Ad sequence="1" id="seqAd1">...</Ad> <Ad> <Wrapper allowMultipleAds="true"> <VASTAdTagURI>https://ads.example.com/vast</VASTAdTagURI> </Wrapper> </Ad> <Ad sequence="3" id="seqAd3">...</Ad> <Ad id="standAloneAd1">...</Ad> <Ad id="standAloneAd2">...</Ad> </VAST>

래퍼 리디렉션 응답:

<VAST> <Ad sequence="1" id="redirectSeqAd1">...</Ad> <Ad sequence="2" id="redirectSeqAd2">...</Ad> <Ad id="redirectStandAloneAd1">...</Ad> </VAST>

해결된 VAST:

<VAST> <Ad sequence="1" id="seqAd1">...</Ad> <Ad sequence="3" id="seqAd3">...</Ad> <!-- Redirect response merged after sequenced ads --> <Ad sequence="1" id="redirectSeqAd1">...</Ad> <Ad sequence="2" id="redirectSeqAd2">...</Ad> <Ad id="redirectStandAloneAd1">...</Ad> <Ad id="standAloneAd1">...</Ad> <Ad id="standAloneAd2">...</Ad> </VAST>

재생 순서:

  1. seqAd1

  2. seqAd3

  3. redirectSeqAd1

  4. redirectSeqAd2

지표 및 로그 모니터링

기존 지표에 대한 변경 사항

광고 부페가 활성화되면 다음과 같은 기존 지표의 동작이 변경됩니다.

지표 광고 부페를 사용한 동작
AdDecisionServer.Ads ADS 응답에서 구문 분석된 시퀀스 광고 수입니다.
AdDecisionServer.Duration 순서가 지정된 광고의 총 기간입니다.
AdDecisionServer.FillRate 시퀀스 광고만 사용하여 계산된 채우기 속도입니다.

새로운 지표

광고 부페가 활성화되면 다음과 같은 새 지표를 사용할 수 있습니다.

지표 설명
AdNotReady.SequencedAd 삽입할 준비가 되지 않은 시퀀스 광고 수입니다.
AdNotReady.StandaloneAd 삽입할 준비가 되지 않은 독립 실행형 광고 수(로 건너뛴 광고 제외StandaloneAdNotNeeded).
Avail.FillRate.SequencedAd 시퀀스 광고로 채워진 가용성의 백분율입니다.
Avail.FillRate.StandaloneAd 독립 실행형 광고로 채워진 가용성의 백분율입니다.
Avail.FilledDuration.SequencedAd 시퀀스 광고로 채워진 가용 기간입니다.
Avail.FilledDuration.StandaloneAd 독립 실행형 광고로 채워진 가용 기간입니다.
AdsBilled.SequencedAd 순서가 지정된 청구된 광고 수입니다.
AdsBilled.StandaloneAd 독립 실행형인 청구된 광고 수입니다.
SkippedReason.StandaloneAdNotNeeded 순서가 지정된 모든 광고가 성공적으로 삽입되었기 때문에 독립 실행형 광고가 필요하지 않을 때 발생합니다.

새로 건너뛴 광고 이유

광고 부페가 활성화된 경우 다음과 같은 새로운 건너뛴 광고 이유를 사용할 수 있습니다.

이유 설명
STANDALONE_AD_NOT_NEEDED 독립 실행형 광고는 적격했지만 시퀀스가 지정된 모든 광고가 성공적으로 삽입되었기 때문에 필요하지 않았습니다. 오류 비컨이 실행되지 않습니다.

삽입할 수 없는 독립 실행형 광고(예: VPAID 또는 트랜스코딩 준비되지 않음)의 경우 실제 실패 이유(예: TRANSCODE_IN_PROGRESS 또는 VPAID_AD)가 로 내보내집니다SkippedReason.

오류 비컨

MediaTailor는 다음과 같이 광고 부페에 대한 오류 비컨을 처리합니다.

  • 실패한 순차적 광고 - 오류 비컨이 실행됩니다(기존 동작).

  • 준비되지 않은 독립 실행형 광고(광고 트랜스코딩 상태가 성공하지 않음) - 오류 비컨이 실행됩니다(시퀀싱된 광고와 동일).

  • 삽입할 수 있지만 필요하지 않은 미사용 독립 실행형 광고 - 오류 비컨이 실행되지 않습니다.

ADS 이벤트 변경

광고 부페가 활성화되면 MediaTailor는 다음 필드를 두 개의 ADS 이벤트에 추가합니다.

VAST_RESPONSE 이벤트

VAST_RESPONSE 이벤트VastAd의 각 에는 다음 필드가 포함됩니다.

Field 유형 설명
buffetGroup 문자열 MediaTailor에서 생성한 문자열로, 광고가 속한 부페 그룹을 정의합니다.
sequence 정수 Ad 요소의 시퀀스 값입니다.

FILLED_AVAIL 이벤트

creativeAdsFILLED_AVAIL 이벤트skippedAds의 각 항목에는 다음 필드가 포함됩니다.

Field 유형 설명
buffetGroup 문자열 MediaTailor에서 생성한 문자열로, 광고가 속한 부페 그룹을 정의합니다.
sequence 정수 Ad 요소의 시퀀스 값입니다.

이러한 필드를 통해 다음을 확인할 수 있습니다.

  • 순서와 독립 실행형으로 구문 분석된 광고

  • 삽입된 광고 및 유형

  • 순서가 지정된 광고를 건너뛰는 이유와 독립 실행형 광고가 이를 대체했는지 여부

  • 독립 실행형 광고를 사용할 수 없는 이유

다음 사항도 참조하세요.

PutPlaybackConfiguration API 및 IAB VAST 사양에 대한 자세한 내용은 다음을 참조하세요.