이 페이지에서는 AMP HTML 광고를 실시간 입찰. 자세한 내용은 아래의 리소스를 참고하세요. AMP HTML 광고와 도구를 시작하는 데 도움이 됩니다
대략적인 접근 방식
RTB 입찰 요청
RTB 입찰 요청은 요청이 AMP 페이지에서 발생했는지 여부를 나타냅니다. AMP HTML 광고의 요구사항을 살펴보겠습니다
OpenRTB
AMP 페이지
message SiteExt { enum AmpPage { // This is not an AMP page. DIALECT_HTML = 0; // This is an Amp page. DIALECT_HTML_AMP = 1; } // Whether this is an AMP page or not. Omitted if unknown. optional AmpPage amp = 1; enum VisibilityState { VISIBILITY_STATE_UNKNOWN = 0; // The page is at least partially visible. For example, in the foreground // tab of a non-minimized window. VISIBILITY_STATE_VISIBLE = 1; // The page is not visible to users. For example, when the page is in a // background browser tab, or in a minimized window. VISIBILITY_STATE_HIDDEN = 2; } // The visibility state of the web page containing the ad slot. // See https://www.w3.org/TR/page-visibility/. // [AdX: BidRequest.page_visibility] optional VisibilityState page_visibility = 2 [default = VISIBILITY_STATE_UNKNOWN]; // Information about a browser window's user activation state. See // https://html.spec.whatwg.org/multipage/interaction.html#the-useractivation-interface. message UserActivation { // Indicates whether a user has completed an interaction since page load. optional bool wasact = 1; // Indicates whether a user is currently interacting with the page. optional bool isact = 2; } // User activation information from the browser for the current request, if // the request is for a web page. optional UserActivation uact = 5; // The set of possible web navigation types that predicate a page load. Each // of these types may have different performance characteristics. For example, // users going back and forth might experience a faster site than users // performing navigation for the first time or submitting forms. See // https://w3c.github.io/navigation-timing/#dom-performancenavigationtiming-type. enum NavigationType { NAVIGATION_TYPE_UNKNOWN = 0; // Navigation started by clicking a link, entering the URL in the browser's // address bar, form submission, or initializing through a script operation // other than reload and back_forward. NAVIGATION_TYPE_NAVIGATE = 1; // Navigation is through the browser's reload operation, location.reload(), // or a Refresh pragma directive like // <meta http-equiv="refresh" content="300">. NAVIGATION_TYPE_RELOAD = 2; // Navigation is through the browser's history traversal operation. NAVIGATION_TYPE_BACK_FORWARD = 3; // Navigation is initiated by a prerender hint (deprecated). See // https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel/prerender. NAVIGATION_TYPE_PRERENDER = 4; } // The type of browser navigation that led to the current page. Unset for // non-web ad requests. optional NavigationType ntype = 6; // Indicates that the request is using semi-transparent branding, // which means only a truncated version of the request URL will // be provided. This decision is made by the publisher, see // https://support.google.com/admanager/answer/4584891#urls for context. optional bool is_semi_transparent_request = 3; // The domain of the partner (of the site owner) with ownership // of some portion of ad inventory on the site. The partner's ads.txt file // will be hosted here. More detail at // http://iabtechlab.com/wp-content/uploads/2021/03/ctv-app-ads-explainer-guide.pdf optional string inventorypartnerdomain = 4; }
AMP HTML 광고의 요건
// Ad Exchange extensions for the Imp object. message ImpExt { ... // Possible requirement types for AMP ads. enum AmpAdRequirementType { // AMP ad requirements unknown. UNKNOWN_AMP_AD_REQUIREMENT_TYPE = 1; // AMP ads are not allowed. AMP_AD_NOT_ALLOWED = 2; // Either AMP ads or non-AMP ads are allowed; // AMP ads are not early rendered. AMP_AD_ALLOWED_AND_NOT_EARLY_RENDERED = 3; // Either AMP ads or non-AMP ads are allowed; // AMP ads are early rendered. AMP_AD_ALLOWED_AND_EARLY_RENDERED = 4; // AMP ads are required. // Ads that are non-AMP may be rejected by the publisher. AMP_AD_REQUIRED = 5; // Exchange-specific values above 500. } optional AmpAdRequirementType ampad = 8 [default = UNKNOWN_AMP_AD_REQUIREMENT_TYPE]; }
Authorized Buyers RTB
AMP 페이지
// Whether this is an AMP page or not. enum AmpPage { // AMP page status unknown. UNKNOWN_AMP_PAGE = 0;
AMP HTML 광고의 요건
// Possible requirement types for AMP ads. enum AmpAdRequirementType { // AMP ad requirements unknown. UNKNOWN_AMP_AD_REQUIREMENT_TYPE = 0;
RTB 입찰 응답
OpenRTB
<ph type="x-smartling-placeholder"></ph> 후 OpenRTB 3.0 및 함께 제공되는 광고 일반 모델에는 AMP HTML 광고를 지원하기 위한 몇 가지 추가 기능이 IAB의 최신 초안 사양에서 확인할 수 있습니다.
입찰가 | 필드 | Attr | 유형 | 설명 |
---|---|---|---|---|
요청 | Site.amp |
amp |
정수 | Site.amp 필드는 페이지 렌더링 여부를 나타냅니다.
AMP 형식, 알 수 없는 경우 생략됨:0 = AMP가 아닌 페이지1 = AMP HTML로 페이지가 작성됨 |
요청 | ampformat |
rend |
정수 | AMP 형식 사양은
AMP HTML 광고의 동작:1 = AMP 광고 요건 알 수 없음2 = AMP 광고가 허용되지 않음3 = AMP 광고 또는 비 AMP 광고 허용 AMP 광고는 조기에 렌더링되지 않습니다.4 = AMP 광고 또는 AMP가 아닌 광고가 허용되며 AMP 광고가 조기에 렌더링됨5 = AMP 광고가 필요합니다. AMP가 아닌 광고는 게시자가 거부할 수 있습니다.500+ = 거래소별 값 입찰할 수 있는 조건을 |
응답 | display |
curl |
문자열 | 입찰 응답에 제출할 수 있도록 display.curl 이(가) 추가되었습니다.
AMP HTML 광고 지원을 포함하여 URL을 통해 광고 소재를 만들 수 있습니다.이 URL에서 광고 소재 마크업이 발견됩니다. 다음과 같은 광고 소재 유형에 적용할 수 있습니다. AMP 광고, VAST, DAAST, 네이티브 광고를 지원합니다. 일반적으로 특정 광고에서는 adm 또는 curl 중 하나만 유효합니다. |
Authorized Buyers RTB
Authorized Buyers 입찰의 BidResponse.Ad.amp_ad_url
필드
응답은 AMP HTML 광고 콘텐츠를 가리키는 URL을 허용합니다. 동일한 필드가 있습니다.
Google OpenRTB의 Bid
객체에 확장 프로그램으로 등록
있습니다.
// The URL to fetch an AMPHTML ad. Only one of the following should be set: // html_snippet, video_url, amp_ad_url, native_ad. optional string amp_ad_url = 23;
유효한 AMP HTML 확인
AMP HTML 광고를 조기에 렌더링하려면 거래소에서
즉, 광고가 amp4ads <html
amp4ads>
광고 소재 형식으로 작성되었음을 나타냅니다.
AMP 페이지에서 유효한 AMP HTML 광고가 일찍 렌더링될 수 있습니다. 광고 유효한 AMP HTML로 확인되지 않은 페이지는 AMP HTML이 아닌 광고를 게재할 수 있습니다.
amp_ad_url
에는 AMP HTML 광고만 반환되어야 합니다.
향후 게시자가 AMP HTML 광고만 요구하는 경우 AMP HTML은 렌더링되지 않습니다.
Authorized Buyers에서는 입찰자가 AMP HTML이 아닌 광고를 AMP HTML 광고가 필요한 광고 슬롯에 추가합니다.
서버 측 가져오기
AMP HTML 광고를 조기에 렌더링하려면 AMP HTML 광고 콘텐츠를 렌더링해야 함 스테이트리스(Stateless) 컨테이너를 실행할 수 있습니다 이는 Google에서 광고 지연 시간 및 추가 클라이언트 측 호출로 인한 사용자 환경이 저하될 수 있습니다.
입찰자가 낙찰되면 거래소는
URL에 있는 AMP HTML 광고 콘텐츠를 가져오기 위한 서버 간 요청
amp_ad_url
에 제공됩니다. 광고 소재 서버가 응답하고
300ms 이내에 콘텐츠를 전송합니다.
광고 소재 서버에서 반환된 AMP HTML 광고는
이후에 렌더링됩니다. 유효한 AMP HTML 광고에는
iframe 또는 기타 <amp-ad>
태그 자세한 내용은 AMP HTML
광고 사양을 참조하세요.
베타 전용 기능: 필요한 경우 계정팀에 문의하세요.
AMP HTML 광고(
amp_ad_url
)의 경우, Authorized Buyers는 HTTP 헤더 및
광고 소재 서버로 전송됩니다. 이렇게 하면 광고 소재가
서버에서 표준 클라이언트 측에서 전송한 것과 유사한 정보를
가져올 수 있습니다 경우에 따라 IP 주소가 처음 3바이트로만 잘릴 수 있습니다.
(IPv4) 또는 처음 6바이트 (IPv6) 필요한 경우 계정팀에 문의하세요.
기능을 사용할 수 있습니다. 다음은 샘플 HTTP 헤더입니다.
노출 추적 URL 및 클릭 매크로
RTB 구매자는 종종
입찰 응답 (Bid.burl
,
OpenRTB 2.5)을 사용합니다.
Authorized Buyers의 경우 고객 측에서 실행됩니다. amp-pixel 는 광고 소재가 렌더링될 때 추적 URL을 실행합니다. amp-analytics 렌더링 이상의 고급 추적 사용 사례를 처리할 수 있습니다.
AMP HTML 광고는 다음 위치에 유효한 클릭 매크로를 포함해야 합니다. 확인해 보겠습니다. 일반적으로 코드 형식은 다음과 같습니다.
<a href="%%CLICK_URL_UNESC%%http%3A%2F%2my.adserver.com%2Fsome%2Fpath%2Fhandleclick%3Fclick%3Dclk"></a> <a href=”https://my.adserver.com/click?google_click_url=%%CLICK_URL_ESC%%”></a>
쿠키 매칭
광고 소재는 종종 쿠키를 포함함
일치하는 픽셀이 있는지 확인하세요. AMP HTML 광고는
amp-pixel
및 amp-analytics
구성요소를 살펴보겠습니다 머신러닝 모델을 사용하여 사용 사례를
amp-analytics
또는 amp-pixel
,
GitHub 문제에서 논의하기
사용할 수 있습니다. Google은 조직 내에서
널리 사용할 수 있는 새로운 확장 프로그램을
확인할 수 있습니다. 자세한 내용은
상세한
가이드라인 또는
기술적인
새 확장 프로그램 빌드 가이드를 참조하세요.
테스트용 샘플 AMP 광고 URL
다음 샘플 AMP HTML 광고 콘텐츠를 테스트에 사용할 수 있습니다.
리소스
AMP 프로젝트와 Google에서는 시작하는 데 도움이 되는 다양한 리소스를 공개했습니다.
- AMP에서 광고 제작하기
- AMPHTML 광고 소재 형식 사양 (GitHub)
- AMPHTML 광고 개요 (GitHub)
- AMP HTML 광고 AMP 프로젝트의 웹사이트
- 예시 AMP HTML 광고
- 속도 비교 - 일반 동영상 디스플레이와 비교하여 AMP HTML 광고가 일반 광고 3G 연결에서 가장 잘 보입니다.
- IAB / OpenRTB 그룹에 RTB 관련 제안