หน้านี้อธิบายวิธีเริ่มต้นใช้งาน โฆษณา AMPHTML พร้อม RTB ดูข้อมูลเพิ่มเติมได้ในแหล่งข้อมูลด้านล่าง เกี่ยวกับโฆษณา AMPHTML และเครื่องมือที่จะช่วยคุณเริ่มต้นใช้งาน
แนวทางระดับสูง
คำขอราคาเสนอ RTB
คำขอราคาเสนอ RTB จะระบุว่าคำขอมาจากหน้า AMP หรือไม่ และข้อกำหนดสำหรับโฆษณา AMPHTML
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; }
ข้อกำหนดโฆษณา AMPHTML
// 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]; }
RTB ของ Authorized Buyers
หน้า AMP
// Whether this is an AMP page or not. enum AmpPage { // AMP page status unknown. UNKNOWN_AMP_PAGE = 0;
ข้อกำหนดโฆษณา AMPHTML
// Possible requirement types for AMP ads. enum AmpAdRequirementType { // AMP ad requirements unknown. UNKNOWN_AMP_AD_REQUIREMENT_TYPE = 0;
การเสนอราคาตอบ RTB
OpenRTB
ใน OpenRTB 3.0 และการโฆษณาที่เกี่ยวข้อง รูปแบบทั่วไปการเพิ่มหลายรายการเพื่อรองรับโฆษณา AMPHTML จะรวมอยู่ใน ข้อกำหนดเฉพาะของร่างล่าสุดโดย IAB รวมถึงข้อมูลต่อไปนี้
ราคาเสนอ | ช่อง | แอตทริบิวต์ | ประเภท | คำอธิบาย |
---|---|---|---|---|
ส่งคำขอ | Site.amp |
amp |
จำนวนเต็ม | ฟิลด์ Site.amp ระบุว่าหน้าเว็บจะแสดงผลหรือไม่
ใน AMP หากไม่ทราบ:0 = หน้าเว็บไม่ใช่ AMP1 = หน้าเว็บสร้างขึ้นด้วย AMP HTML |
ส่งคำขอ | ampformat |
rend |
จำนวนเต็ม | ข้อกำหนดรูปแบบ AMP ระบุข้อกำหนดและการแสดงภาพ
ลักษณะการทำงานของโฆษณา AMPHTML1 = ไม่ทราบข้อกำหนดของโฆษณา AMP2 = ไม่อนุญาตให้ใช้โฆษณา AMP3 = อนุญาตโฆษณา AMP หรือโฆษณาที่ไม่ใช่ AMP โฆษณา AMP ไม่แสดงผลก่อนกำหนด4 = อนุญาตโฆษณา AMP หรือโฆษณาที่ไม่ใช่ AMP และโฆษณา AMP จะแสดงผลก่อนกำหนด5 = ต้องมีโฆษณา AMP โฆษณาที่ไม่ใช่ AMP อาจถูกปฏิเสธจากผู้เผยแพร่โฆษณา500+ = ค่าเฉพาะของ Exchange ควรแจ้งให้ผู้เสนอราคาทราบลำดับความสำคัญ |
คำตอบ | display |
curl |
สตริง | เพิ่ม display.curl ในการเสนอราคาตอบเพื่อให้ส่งได้
ครีเอทีฟโฆษณาผ่าน URL รวมถึงการรองรับโฆษณา AMPHTMLนี่คือ URL ที่จะพบมาร์กอัปครีเอทีฟโฆษณา เกี่ยวข้องกับครีเอทีฟโฆษณาประเภทต่างๆ เช่น โฆษณา AMP, VAST, DAAST และเนทีฟ โดยปกติแล้ว โฆษณาหนึ่งๆ จะใช้ adm หรือ curl ได้เพียงรายการเดียว |
RTB ของ Authorized Buyers
ช่อง BidResponse.Ad.amp_ad_url
ในราคาเสนอของ Authorized Buyers
การตอบกลับจะยอมรับ URL ที่ชี้ไปยังเนื้อหาโฆษณา AMPHTML มีช่องเดียวกันนี้
เป็นส่วนขยายในออบเจ็กต์ Bid
ใน OpenRTB ของ Google
การใช้งานของคุณ
// 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;
การยืนยัน AMPHTML ที่ถูกต้อง
หากต้องการให้โฆษณา AMPHTML แสดงผลก่อนกำหนด พาร์ทเนอร์ Exchange จะต้องยืนยันและ
ลงนามเพื่อบ่งบอกว่าโฆษณาเขียนในรูปแบบครีเอทีฟโฆษณา <html
amp4ads>
ของ amp4ads
โฆษณาที่เป็น AMPHTML ที่ถูกต้องจะได้รับอนุญาตให้แสดงผลล่วงหน้าในหน้า AMP โฆษณา ที่ไม่ได้รับการยืนยันว่าเป็น AMPHTML ที่ถูกต้องจะแสดงผลที่ความเร็วเท่ากับ โฆษณาที่ไม่ใช่ AMPHTML
ควรแสดงเฉพาะโฆษณา AMPHTML ใน amp_ad_url
ในอนาคต หากผู้เผยแพร่โฆษณาต้องใช้โฆษณา AMPHTML เท่านั้น โฆษณาที่ไม่มีการรับรอง AMPHTML จะไม่แสดงผล
เมื่อใช้ Authorized Buyers ระบบจะยังคงเรียกเก็บเงินจากผู้เสนอราคาหากส่งคืน โฆษณาที่ไม่ใช่ AMPHTML ไปยังช่องโฆษณาที่ต้องระบุโฆษณา AMPHTML
การดึงข้อมูลฝั่งเซิร์ฟเวอร์
ต้องแสดงผลเนื้อหาโฆษณา AMPHTML เพื่อให้โฆษณา AMPHTML แสดงผลก่อนกำหนด โดยไม่ต้องมีการกระโดดเพิ่มจากไคลเอ็นต์ ซึ่งออกแบบมาเพื่อหลีกเลี่ยง ผู้ใช้ได้รับประสบการณ์ที่ไม่ดีเนื่องจากเวลาในการตอบสนองของโฆษณาและมีการเรียกจากฝั่งไคลเอ็นต์เพิ่มเติม
หลังจากที่ผู้เสนอราคาชนะการประมูล พาร์ทเนอร์ Exchange จะดำเนินการดังนี้
คำขอแบบเซิร์ฟเวอร์ต่อเซิร์ฟเวอร์เพื่อดึงเนื้อหาโฆษณา AMPHTML ที่อยู่ใน URL
ที่ให้ไว้ใน amp_ad_url
เซิร์ฟเวอร์ครีเอทีฟโฆษณาต้องตอบสนองและแสดงผล
เนื้อหาภายในช่วง 300 มิลลิวินาที
ระบบจะแทรกโฆษณา AMPHTML ที่แสดงผลจากเซิร์ฟเวอร์ครีเอทีฟโฆษณาลงใน
ช่องโฆษณาและแสดงผลหลังจากนั้น โปรดทราบว่าโฆษณา AMPHTML ที่ถูกต้องต้องไม่มี
iframe หรือแท็ก <amp-ad>
อื่นๆ โปรดดู AMPHTML
สำหรับรายละเอียดเพิ่มเติม
ฟีเจอร์เวอร์ชันเบต้าเท่านั้น: ติดต่อทีมดูแลลูกค้าหากต้องการ
ระหว่างการเรียกแบบเซิร์ฟเวอร์ต่อเซิร์ฟเวอร์ของโฆษณา AMPHTML (ที่ระบุไว้ใน
amp_ad_url
) Authorized Buyers อาจส่งส่วนหัว HTTP และ IP
จากเบราว์เซอร์ของผู้ใช้ไปยังเซิร์ฟเวอร์ครีเอทีฟโฆษณา ซึ่งช่วยให้ครีเอทีฟโฆษณา
เซิร์ฟเวอร์จะได้รับข้อมูลที่คล้ายกับที่ส่งจากฝั่งไคลเอ็นต์มาตรฐาน
ดึงข้อมูล ในบางกรณี ที่อยู่ IP อาจถูกตัดให้เหลือเพียง 3 ไบต์แรก
(IPv4) หรือ 6 ไบต์แรก (IPv6) โปรดติดต่อทีมดูแลลูกค้าหากต้องการ
ตัวอย่างส่วนหัว HTTP มีดังนี้
URL ติดตามการแสดงผลและมาโครการคลิก
ผู้ซื้อ RTB มักรวมเครื่องมือติดตามการแสดงผลเป็นฟิลด์ที่มีโครงสร้างใน
การเสนอราคาตอบ (นี่คือ Bid.burl
ซึ่งเป็น "URL การแจ้งการเรียกเก็บเงิน" ใน
OpenRTB 2.5)
เมื่อใช้ Authorized Buyers ข้อกำหนดเหล่านี้จะเริ่มทำงานจากฝั่งไคลเอ็นต์ amp-pixel เริ่มการทำงานของ URL ติดตามเมื่อแสดงผลครีเอทีฟโฆษณา amp-analytics สามารถจัดการ Use Case การติดตามขั้นสูงที่นอกเหนือจากการแสดงผลได้
โฆษณา AMPHTML ต้องมีมาโครการคลิกที่ถูกต้องใน AMPHTML ซึ่งโดยทั่วไปจะมีรูปแบบดังนี้
<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>
การจับคู่คุกกี้
โฆษณามักมีคุกกี้
การจับคู่พิกเซลภายในโค้ดโฆษณา โฆษณา AMPHTML สามารถใช้เมธอด
amp-pixel
และ amp-analytics
คอมโพเนนต์สำหรับกรณีการใช้งานนี้ หากกรณีการใช้งานของคุณไม่สามารถรองรับด้วยการใช้
amp-analytics
หรือ amp-pixel
เปิด
ปัญหาเกี่ยวกับ GitHub เพื่อพูดคุยถึง
ตัวเลือกอื่นๆ เรายินดีรับส่วนขยายใหม่ๆ ที่สามารถใช้งานได้อย่างแพร่หลายโดย
บริษัทต่างๆ มากมาย โปรดดู
รายละเอียด
หลักเกณฑ์หรือ
ด้านเทคนิค
ในการสร้างส่วนขยายใหม่
ตัวอย่าง URL ของโฆษณา AMP สำหรับการทดสอบ
คุณใช้เนื้อหาโฆษณา AMPHTML ตัวอย่างต่อไปนี้ในการทดสอบได้
แหล่งข้อมูล
โครงการ AMP และ Google ได้เผยแพร่แหล่งข้อมูลจำนวนมากเพื่อช่วยคุณเริ่มต้นใช้งาน
- การสร้างโฆษณาใน AMP
- AMPHTML ข้อกำหนดรูปแบบครีเอทีฟโฆษณา (GitHub)
- AMPHTML ภาพรวมโฆษณา (GitHub)
- โฆษณา AMPHTML เว็บไซต์จากโครงการ AMP
- ตัวอย่าง โฆษณา AMPHTML
- ความเร็ว การเปรียบเทียบ - ดูว่าโฆษณา AMPHTML โหลดได้เร็วเพียงใดเมื่อเทียบกับ โฆษณาปกติ ดูได้ดีที่สุดเมื่อใช้การเชื่อมต่อ 3G
- ข้อเสนอเฉพาะสำหรับ RTB สำหรับกลุ่ม IAB / OpenRTB