หลังจากที่แอปพลิเคชันประมวลผลคำขอราคาเสนอจาก Google แล้ว แอปพลิเคชันจะต้องสร้างและส่งการตอบกลับ คู่มือนี้จะอธิบายวิธีเขียนโค้ดแอปพลิเคชันเพื่อสร้างการตอบกลับ
สร้างข้อความ BidResponse
หากต้องการส่งราคาเสนอ แอปพลิเคชันการเสนอราคาของคุณต้องตอบกลับคำขอราคาเสนอด้วย BidResponse ที่มี Bid ในรูปแบบที่คุณกำหนดค่าไว้ หากใช้รูปแบบ JSON การตอบกลับต้องตั้งค่าส่วนหัว Content-Type เป็น application/json; charset=utf-8 และรวม BidResponse JSON ไว้ในเนื้อหา หากใช้รูปแบบ Protobuf แอปพลิเคชันของคุณต้องตั้งค่าส่วนหัว Content-Type เป็น application/octet-stream และรวม BidResponse ที่เรียงลำดับแล้วไว้ในเนื้อหา
หากต้องการสร้างและจัดรูปแบบ BidResponse สำหรับรูปแบบ Protobuf คุณต้องสร้างและใช้ไลบรารี Protobuf โดยอิงตาม openrtb.proto และ openrtb-adx.proto ซึ่งใช้ช่อง BidResponse ของ OpenRTB มาตรฐานและส่วนขยาย Google ใน Protobuf ตามลำดับ ซึ่งดูได้ในโปรโตและข้อมูลอ้างอิง
หากไม่ต้องการเสนอราคาสำหรับการแสดงผล คุณต้องส่งการตอบกลับ HTTP 204 ที่ว่างเปล่ากลับมา แอปพลิเคชันของคุณต้องส่งการตอบกลับไปยังทุก BidRequest การหมดเวลาและการตอบกลับที่แยกวิเคราะห์ไม่ได้จะถือว่าเป็นข้อผิดพลาด และ Google จะควบคุมผู้เสนอราคาที่มีอัตราข้อผิดพลาดสูง
รหัสครีเอทีฟโฆษณา
BidResponse ของคุณจะระบุครีเอทีฟโฆษณาผ่านช่อง BidResponse.seatbid.bid.crid (จำกัด 128 ไบต์) แม้แต่ครีเอทีฟโฆษณาที่คล้ายกันก็ต้องมีค่าที่ไม่ซ้ำกันสำหรับช่องนี้ หากมีลักษณะที่แตกต่างกันอย่างเห็นได้ชัด ซึ่งรวมถึงแต่ไม่จำกัดเพียงขนาด, URL ที่ประกาศ, แอตทริบิวต์ครีเอทีฟโฆษณา และประเภทผู้ให้บริการ กล่าวคือ คุณต้องกำหนดรหัสครีเอทีฟโฆษณาที่แตกต่างกันให้กับโฆษณา 2 รายการที่มีลักษณะดังนี้
- มีลักษณะหรือพฤติกรรมที่แตกต่างออกไป
- แสดงผลเป็นรูปภาพต่างๆ
- แสดงผลด้วยวิธีที่แตกต่างกัน (เช่น โฆษณาหนึ่งประกอบด้วยรูปภาพ ส่วนอีกโฆษณาหนึ่งเป็นวิดีโอ)
ขณะออกแบบแอปพลิเคชัน คุณควรตัดสินใจเลือกวิธีสร้างตัวระบุอย่างเป็นระบบซึ่งเหมาะสมกับประเภทครีเอทีฟโฆษณาที่คุณวางแผนจะส่ง
แอตทริบิวต์โฆษณา
Google ขอแนะนำให้ประกาศแอตทริบิวต์ครีเอทีฟโฆษณาเพื่ออธิบายลักษณะของโฆษณาและการกำหนดเป้าหมายโดยใช้ทั้ง BidResponse.seatbid.bid.apis และ BidResponse.seatbid.bid.attr ร่วมกัน หรือใช้ส่วนขยาย BidResponse.seatbid.bid.ext.attribute ข้อมูลต่อไปนี้อธิบายวิธีประกาศแอตทริบิวต์
VPAIDตั้งค่าBidResponse.seatbid.bid.apisเป็นVPAID_1หรือVPAID_2สำหรับรูปแบบ JSON คุณสามารถตั้งค่าเป็น1หรือ2ตามลำดับMRAIDตั้งค่าBidResponse.seatbid.bid.apisเป็นMRAID_1หรือ3สำหรับรูปแบบ JSONSIZELESSตั้งค่าBidResponse.seatbid.bid.attrเป็นRESPONSIVEหรือ18สำหรับรูปแบบ JSONPLAYABLEซึ่งระบุได้โดยการตั้งค่าBidResponse.seatbid.bid.attrเป็นUSER_INTERACTIVEหรือ13สำหรับรูปแบบ JSON
ดูคำอธิบายเกี่ยวกับวิธีรับความคิดเห็นเกี่ยวกับพร็อพเพอร์ตี้ที่ตรวจพบของครีเอทีฟโฆษณาได้ที่แหล่งข้อมูลครีเอทีฟโฆษณา
ช่องการเสนอราคาแบบเปิด
การเสนอราคาตอบที่ส่งโดยผู้เสนอราคาของ Exchange และเครือข่ายที่เข้าร่วมการเสนอราคาแบบเปิดจะคล้ายกับการเสนอราคาตอบของ Authorized Buyers ที่เข้าร่วมการเสนอราคาแบบเรียลไทม์มาตรฐาน ลูกค้าการเสนอราคาแบบเปิดสามารถระบุช่องเพิ่มเติมได้จำนวนเล็กน้อย และช่องที่มีอยู่บางช่องอาจมีการใช้งานทางเลือก ซึ่งรวมถึงแอปต่อไปนี้ด้วย
| ช่อง | รายละเอียด |
|---|---|
BidResponse.imp.pmp.deals.id |
รหัสดีลจากเนมสเปซของ Exchange ที่เชื่อมโยงกับการเสนอราคานี้และรายงานต่อผู้เผยแพร่โฆษณา |
BidResponse.seatbid.bid.ext.exchange_deal_type |
ประเภทของดีลที่รายงานต่อผู้เผยแพร่โฆษณา ซึ่งส่งผลต่อวิธีจัดการดีลในการประมูล |
BidResponse.seatbid.bid.ext.third_party_buyer_token |
โทเค็นที่ใช้ระบุข้อมูลผู้ซื้อบุคคลที่สามปลายทางหาก Exchange ในฐานะผู้เสนอราคาแบบเปิดเป็นสื่อกลาง ซึ่งได้รับจากผู้ซื้อบุคคลที่สามและต้องส่งไปยัง Google โดยไม่มีการเปลี่ยนแปลงในการเสนอราคาตอบ |
คำแนะนำ
- เปิดใช้การเชื่อมต่อ HTTPS แบบถาวร (หรือที่เรียกว่า "Keep-Alive" หรือ "การใช้การเชื่อมต่อซ้ำ") ในเซิร์ฟเวอร์ ตั้งค่าระยะหมดเวลาเป็นอย่างน้อย 10 วินาที โดยค่าที่สูงกว่าจะเป็นประโยชน์ในหลายกรณี Google จะตรวจสอบเรื่องนี้ในระหว่างการทดสอบเวลาในการตอบสนองเบื้องต้นของแอปพลิเคชัน เนื่องจาก Authorized Buyers จะส่งคำขอในอัตราที่สูงและต้องหลีกเลี่ยงโอเวอร์เฮดของเวลาในการตอบสนองในการสร้างการเชื่อมต่อ TCP แยกต่างหากสำหรับแต่ละคำขอ
ใส่ URL ติดตามการแสดงผลที่ไม่บังคับเพื่อติดตามเมื่อการแสดงผลแสดงขึ้นแทนที่จะติดตามเมื่อผู้เสนอราคาชนะ เนื่องจากมีการลดลงระหว่างการชนะและการแสดงผล วิธีนี้จึงให้สถิติการติดตามที่แม่นยำยิ่งขึ้น
- ตรวจสอบว่าโค้ดของผู้เสนอราคาไม่มีการพึ่งพาช่องที่เลิกใช้งานแล้ว ซึ่งอาจทำให้การเสนอราคาไม่สำเร็จและเกิดข้อผิดพลาด
- รวม
BidResponse.seatbid.bid.wและBidResponse.seatbid.bid.hไว้ในBidResponseBidResponseสำหรับคำขอที่มีขนาดโฆษณาหลายขนาดต้องมีช่องเหล่านี้ ไม่เช่นนั้นระบบจะตัดออกจากการประมูล - จำกัดขนาดคำตอบให้ต่ำกว่า 8K การตอบกลับที่มีขนาดใหญ่มากอาจเพิ่มเวลาในการตอบสนองของเครือข่ายและทำให้เกิดการหมดเวลา
- ทำตามหลักเกณฑ์สำหรับราคาเสนอในพื้นที่โฆษณา iOS ที่ต้องใช้การระบุแหล่งที่มาของ SKAdNetwork
ตัวอย่างการเสนอราคาตอบ
ตัวอย่างต่อไปนี้แสดงตัวอย่างคำขอ Protobuf และ JSON ที่มนุษย์อ่านได้
OpenRTB Protobuf
OpenRTB JSON
สำคัญ: ข้อความ Protobuf ที่แสดงในตัวอย่างจะแสดงเป็นข้อความที่มนุษย์อ่านได้ แต่ข้อความไม่ได้ถูกส่งผ่านสายในลักษณะนั้น เมื่อใช้รูปแบบ Protobuf ของ OpenRTB ระบบจะยอมรับเฉพาะข้อความ BidResponse ที่เรียงลำดับแล้วเท่านั้น
คุณสร้างและจัดเรียงข้อความ BidResponse ได้โดยใช้โค้ด C++ ต่อไปนี้
BidResponse bid_response;
// fill in bid response with bid information
string post_response;
if (bid_response.SerializeToString(&post_response)) {
// respond to the POST with post_response as the content
} else {
// return an error to the POST
}ระบุครีเอทีฟโฆษณา
การเสนอราคาตอบจะระบุครีเอทีฟโฆษณาที่จะแสดงหากราคาเสนอของคุณชนะ ราคาเสนอของคุณต้องมีรูปแบบโฆษณาที่รองรับ (AMP, วิดีโอ, เนทีฟ) รูปแบบใดรูปแบบหนึ่ง ในตัวอย่างนี้ เราจะระบุครีเอทีฟโฆษณาโดยใช้ช่อง html_snippet
หรือจะระบุครีเอทีฟโฆษณาโดยใช้ช่องใดช่องหนึ่งต่อไปนี้ตามรูปแบบโฆษณาก็ได้
- โฆษณาที่แสดงผลโดย SDK
BidResponse.seatbid.bid.ext.sdk_rendered_ad
- AMP
BidResponse.seatbid.bid.amp_ad_url
- วิดีโอ
BidResponse.seatbid.bid.adm
- เนทีฟ
BidResponse.seatbid.bid.adm_native
ระบุโฆษณาที่โฮสต์บนเซิร์ฟเวอร์ของคุณเองโดยใช้ข้อมูลโค้ด HTML ในช่อง BidResponse.seatbid.bid.adm ข้อมูลโค้ดจะอยู่ใน iFrame ที่แทรกในหน้าเว็บ ซึ่งส่งผลให้มีการดึงข้อมูลและแสดงผลโฆษณาเมื่อโหลดหน้าเว็บ คุณต้องสร้างข้อมูลโค้ด HTML เพื่อให้โฆษณา (แบนเนอร์หรือโฆษณาคั่นระหว่างหน้า) แสดงผลอย่างถูกต้องภายใน iFrame และมีขนาดที่เหมาะสมสำหรับช่องโฆษณาที่คุณเสนอราคา
นอกจากนี้ ขนาดโฆษณาที่ประกาศในการเสนอราคาตอบต้องตรงกับชุดค่าผสมขนาดชุดใดชุดหนึ่งในคำขอราคาเสนอในกรณีต่อไปนี้
- โฆษณาเป็นแบนเนอร์ปกติ (ไม่ใช่วิดีโอ โฆษณาเนทีฟ หรือโฆษณาคั่นระหว่างหน้า)
- ผู้เสนอราคาได้ประกาศขนาดในการเสนอราคาตอบแล้ว ต้องมีการประกาศขนาดเมื่อใดก็ตามที่มีขนาดมากกว่า 1 ขนาดในคำขอ
- ทั้งนี้มีข้อยกเว้นสำหรับโฆษณาคั่นระหว่างหน้า สำหรับโฆษณาคั่นระหว่างหน้า ความกว้างต้องมีขนาดอย่างน้อย 50% ของความกว้างหน้าจอ และความสูงต้องมีขนาดอย่างน้อย 40% ของความสูงหน้าจอ
คุณสามารถระบุครีเอทีฟโฆษณา HTML ที่เป็นข้อมูลโค้ดโดยใช้โค้ด HTML ที่ถูกต้องซึ่งแสดงผลอย่างเหมาะสม แต่โปรดคำนึงถึงข้อจำกัดในการระบุช่อง crid ในส่วนสร้างข้อความ BidResponse
การใช้งานอย่างหนึ่งคือการใส่ข้อมูลเพิ่มเติมลงในอาร์กิวเมนต์ของ URL ที่ดึงมาจากเซิร์ฟเวอร์ของคุณโดยเป็นส่วนหนึ่งของการแสดงโฆษณา ซึ่งจะช่วยให้คุณส่งข้อมูลที่กำหนดเองเกี่ยวกับการแสดงผลกลับไปยังเซิร์ฟเวอร์ของคุณเองได้
นโยบายส่วนใหญ่สำหรับข้อมูลโค้ด HTML ที่แสดงในการเสนอราคาตอบจะเหมือนกับนโยบายสำหรับโฆษณาของบุคคลที่สาม ดูข้อมูลเพิ่มเติมได้ที่หลักเกณฑ์ของโปรแกรม Authorized Buyers, ข้อกำหนดสำหรับการแสดงโฆษณาของบุคคลที่สาม และประกาศ URL การคลิกผ่านในโฆษณา
ใช้ URL การคลิกผ่านที่สอดคล้องกัน
URL การคลิกผ่านที่คุณระบุในช่อง BidResponse.seatbid.bid.ext.clickurl ต้องเหมือนกับ URL ของหน้า Landing Page ที่ระบุไว้ในครีเอทีฟโฆษณา ตัวอย่างครีเอทีฟโฆษณาในรูปแบบที่รองรับซึ่งสอดคล้องกับช่อง clickurl ที่ตั้งค่าเป็น https://play.google.com/store/apps/details?id=com.example.myawesomeapp&referrer=utm_source%3Dgoogle_ab%26utm_medium%3Dcpc%26utm_campaign%3Dinstall_campaign_1 มีดังนี้
HTML
<div id="my-app-install-ad"
style="font-family: sans-serif; border: 1px solid #ddd; padding: 10px;
display: flex; align-items: center; width: 100%; height: 100%;
box-sizing: border-box; cursor: pointer;"
onclick="window.open('https://play.google.com/store/apps/details?id=com.example.myawesomeapp&referrer=utm_source%3Dgoogle_ab%26utm_medium%3Dcpc%26utm_campaign%3Dinstall_campaign_1', '_blank')">
<img src="https://example.com/path/to/app_icon.png" alt="App Icon"
style="width: 60px; height: 60px; margin-right: 10px;
border-radius: 8px;">
<div style="flex-grow: 1;">
<h4 style="margin: 0 0 5px 0; font-size: 16px; color: #1a73e8;">
My Awesome App
</h4>
<p style="margin: 0 0 10px 0; font-size: 14px; color: #5f6368;">
The best app for doing awesome things! Download now and get started!
</p>
<span style="background-color: #1a73e8; color: white; padding: 8px 12px;
text-align: center; text-decoration: none;
display: inline-block; border-radius: 4px; font-size: 14px;
font-weight: bold;">Install</span>
</div>
</div>VAST XML
<VAST version="3.0"> <Ad id="creative_id_789"> <InLine> <AdSystem>MyBidderSystem</AdSystem> <AdTitle>My Awesome App Install Video</AdTitle> <Description>Install My Awesome App now!</Description> <Error> <![CDATA[https://tracking.example.com/vast_error?errorcode=[ERRORCODE]]]> </Error> <Impression> <![CDATA[https://tracking.example.com/vast_impression]]> </Impression> <Creatives> <!-- Main Video Creative --> <Creative> <Linear> <Duration>00:00:15</Duration> <TrackingEvents> <Tracking event="start"> <![CDATA[https://tracking.example.com/vast_event?label=start]]> </Tracking> <Tracking event="firstQuartile"> <![CDATA[https://tracking.example.com/vast_event?label=firstQuartile]]> </Tracking> <Tracking event="midpoint"> <![CDATA[https://tracking.example.com/vast_event?label=midpoint]]> </Tracking> <Tracking event="thirdQuartile"> <![CDATA[https://tracking.example.com/vast_event?label=thirdQuartile]]> </Tracking> <Tracking event="complete"> <![CDATA[https://tracking.example.com/vast_event?label=complete]]> </Tracking> </TrackingEvents> <VideoClicks> <ClickThrough id="gplay-video"> <![CDATA[https://play.google.com/store/apps/details?id=com.example.myawesomeapp&referrer=utm_source%3Dgoogle_ab%26utm_medium%3Dcpc%26utm_campaign%3Dinstall_campaign_1]]> </ClickThrough> <ClickTracking id="bidder-tracker-video"> <![CDATA[https://tracking.example.com/vast_click]]> </ClickTracking> </VideoClicks> <MediaFiles> <MediaFile delivery="progressive" type="video/mp4" width="640" height="360" bitrate="800" scalable="true" maintainAspectRatio="true"> <![CDATA[https://cdn.example.com/myawesomeapp_video.mp4]]> </MediaFile> </MediaFiles> </Linear> </Creative> <!-- Companion Ad Creative --> <Creative> <CompanionAds> <Companion id="companion1" width="300" height="250" assetWidth="300" assetHeight="250"> <StaticResource creativeType="image/png"> <![CDATA[https://cdn.example.com/companion_banner_300x250.png]]> </StaticResource> <TrackingEvents> <Tracking event="creativeView"> <![CDATA[https://tracking.example.com/vast_companion_view]]> </Tracking> </TrackingEvents> <CompanionClickThrough> <![CDATA[https://play.google.com/store/apps/details?id=com.example.myawesomeapp&referrer=utm_source%3Dgoogle_ab%26utm_medium%3Dcpc%26utm_campaign%3Dinstall_campaign_1]]> </CompanionClickThrough> <CompanionClickTracking> <![CDATA[https://tracking.example.com/vast_companion_click]]> </CompanionClickTracking> </Companion> </CompanionAds> </Creative> </Creatives> </InLine> </Ad> </VAST>
เนทีฟ
{ "ver": "1.2", "assets": [ { "id": 1, "title": { "text": "My Awesome App" } }, { "id": 2, "img": { "url": "https://example.com/path/to/app_icon.png", "w": 60, "h": 60 } }, { "id": 3, "data": { "value": "The best app for doing awesome things! Download now and get started!" } }, { "id": 4, "data": { "value": "Install" } } ], "link": { "url": "https://play.google.com/store/apps/details?id=com.example.myawesomeapp&referrer=utm_source%3Dgoogle_ab%26utm_medium%3Dcpc%26utm_campaign%3Dinstall_campaign_1", "clicktrackers": [ "https://tracking.example.com/native_click" ] }, "imptrackers": [ "https://tracking.example.com/native_impression" ] }
ระบุมาโคร
มาโครคือข้อความที่จัดรูปแบบซึ่งฝังอยู่ในช่องการเสนอราคาตอบบางช่องที่มี URL ซึ่งจะถูกแทนที่ด้วยค่าที่เกี่ยวข้อง ณ เวลาที่แสดงโฆษณา ตัวอย่างเช่น หากราคาเสนอที่ชนะของคุณมีมาโคร AUCTION_PRICE ในครีเอทีฟโฆษณาที่เป็นข้อมูลโค้ด HTML ที่รวมอยู่ในการเสนอราคา ระบบจะแทนที่มาโครด้วยค่าที่คุณสามารถถอดรหัสเพื่อระบุจำนวนเงินที่คุณจ่ายสำหรับการแสดงผลในการประมูล
คุณสามารถใส่มาโครในช่องต่อไปนี้
-
BidResponse.seatbid.bid.admระบบรองรับมาโครสำหรับรูปแบบข้อมูลโค้ด HTML, เนทีฟ, URL ของวิดีโอ และ VAST XML ของวิดีโอ
-
BidResponse.seatbid.bid.adm_native.eventtrackers.url -
BidResponse.seatbid.bid.adm_native.imptrackers -
BidResponse.seatbid.bid.ext.amp_ad_urlครีเอทีฟโฆษณา AMP รองรับเฉพาะมาโคร
WINNING_PRICEและWINNING_PRICE_ESCของ Google เท่านั้น -
BidResponse.seatbid.bid.burl -
BidResponse.seatbid.bid.ext.impression_tracking_urlใช้ตัวเลือกนี้แทน
BidResponse.seatbid.bid.burlหากคุณต้องการ URL การเรียกเก็บเงินมากกว่า 1 รายการ
ตัวอย่างเช่น คุณสามารถรวมมาโครเป็นส่วนหนึ่งของข้อมูลโค้ด HTML โดยฝัง ${MACRO} ไว้ใน URL ที่ใช้ดึงข้อมูลครีเอทีฟโฆษณา โดยที่ MACRO เป็นหนึ่งในมาโครที่รองรับซึ่งอธิบายไว้ในข้อกำหนดเฉพาะของ OpenRTB
มาโครของ Google
Google รองรับมาโครเพิ่มเติมจากที่พบในข้อกำหนด OpenRTB โดยมาโครเหล่านี้มีรูปแบบที่แตกต่างกัน และจะปรากฏเป็น %%MACRO%% หากฝังอยู่ใน URL ตารางต่อไปนี้จะอธิบายมาโครเหล่านี้
| มาโคร | คำอธิบาย |
|---|---|
ADVERTISING_IDENTIFIER |
อนุญาตให้ผู้ซื้อได้รับ IDFA ของ iOS หรือรหัสโฆษณาของ Android ในการแสดงผล ดูรายละเอียดได้ที่การถอดรหัสตัวระบุโฆษณา |
CACHEBUSTER |
การนําเสนอสตริงของจำนวนเต็ม 4 ไบต์แบบสุ่มที่ไม่มีเครื่องหมาย |
CLICK_URL_UNESC |
URL การคลิกที่ไม่ใช้ Escape สำหรับโฆษณา ในข้อมูลโค้ด เวอร์ชันที่ใช้ Escape ของ URL การคลิกของบุคคลที่สามควรอยู่ต่อจากมาโครโดยตรง ตัวอย่างเช่น หาก URL การคลิกของบุคคลที่สามคือ <a href="%%CLICK_URL_UNESC%%http%3A%2F%2Fmy.adserver.com%2Fsome%2Fpath%2Fhandleclick%3Fclick%3Dclk"></a> เมื่อถึงเวลาแสดงโฆษณา ระบบจะขยายมาโครนี้เป็น <a href="http://google-click-url?...&ad_url=http%3A%2F%2Fmy.adserver.com%2Fsome%2Fpath%2Fhandleclick%3Fclick%3Dclk"></a> URL จะลงทะเบียนการคลิกกับ Google ก่อน จากนั้นจึงเปลี่ยนเส้นทางไปยัง URL การคลิกของบุคคลที่สาม |
CLICK_URL_ESC |
URL การคลิกที่หลีกเลี่ยงสำหรับโฆษณา ใช้ค่านี้แทน ตัวอย่างเช่น คุณสามารถใช้โค้ดต่อไปนี้ในข้อมูลโค้ด HTML <a href="http://my.adserver.com/click?google_click_url=%%CLICK_URL_ESC%%"></a> เมื่อถึงเวลาแสดงโฆษณา ระบบจะขยายมาโครนี้เป็น <a href="http://my.adserver.com/click?google_click_url=http://google-click- url%3F...%26ad_url%3D"></a> ซึ่งจะลงทะเบียนการคลิกกับ คุณสามารถเพิ่ม URL ที่มีการหลีกอักขระซ้ำซ้อนต่อท้าย |
CLICK_URL_ESC_ESC |
URL ที่กำหนดเป็นอักขระหลีก 2 ครั้งสำหรับโฆษณา ใช้ค่านี้แทน ตัวอย่างเช่น คุณสามารถใช้โค้ดต่อไปนี้ในข้อมูลโค้ด HTML <a href="http://my.adserver.com/click?google_click_url=%%CLICK_URL_ESC_ESC%%"></a> เมื่อถึงเวลาแสดงโฆษณา ระบบจะขยายมาโครนี้เป็น <a href="http://my.otheradserver.com/click?google_click_url=http%3A%2F%2Fmy.adserver.com%2Fclick%3Fgoogle_click_url%3Dhttp%3A%2F%2Fgoogle-click-%20url%253F...%2526ad_url%253D"></a> |
SCHEME |
ขยายเป็น http: หากคำขอราคาเสนอไม่จำเป็นต้องใช้ SSL หรือเป็น https: หากคำขอราคาเสนอจำเป็นต้องใช้ SSL |
SITE |
โดเมน URL ที่ใช้อักขระหลีกของ URL เนื้อหาหรือรหัสที่ไม่ระบุตัวตนสำหรับพื้นที่โฆษณาที่ไม่ระบุตัวตน |
SITE_URL |
เลิกใช้งานแล้ว แทนที่ด้วยมาโคร SITE ซึ่งมีฟังก์ชันการทำงานเหมือนกัน |
TZ_OFFSET |
ออฟเซ็ตเขตเวลา |
VERIFICATION |
ค่าที่แตกต่างกันสำหรับการผลิตและเมื่อสแกนครีเอทีฟโฆษณาในไปป์ไลน์การตรวจสอบ รูปแบบคือ ตัวอย่างเช่น หากครีเอทีฟโฆษณามี |
WINNING_PRICE |
ราคาการแสดงผลที่เข้ารหัส (ซึ่งจะเป็น CPI ไม่ใช่ CPM) ที่เป็นจำนวนเล็กน้อยมากในสกุลเงินของบัญชี เช่น CPM ที่ชนะซึ่งมีค่าเป็น $5 USD จะเท่ากับ 5,000,000 ไมโคร CPM หรือ 5,000 ไมโคร CPI ค่าที่ถอดรหัสแล้วของ หากต้องการแยกวิเคราะห์มาโครนี้ คุณจะต้องใช้แอปพลิเคชันที่ถอดรหัสการยืนยันราคา ดูข้อมูลเพิ่มเติมได้ที่หน้าการถอดรหัสการยืนยันราคา |
WINNING_PRICE_ESC |
WINNING_PRICE ของ URL ที่ใช้อักขระหลีก |
Google กำหนดให้คุณใช้มาโคร CLICK_URL_UNESC หรือ CLICK_URL_ESC ภายในครีเอทีฟโฆษณาของโฆษณาที่แสดงโดยบุคคลที่สาม Google ใช้มาโคร CLICK_URL สำหรับการติดตามการคลิก
การหลีกเลี่ยง URL ในมาโครใช้รูปแบบต่อไปนี้
- ระบบจะแทนที่อักขระที่เป็นช่องว่างด้วยเครื่องหมายบวก (
+) - อักขระที่เป็นตัวอักษรและตัวเลขคละกัน (0-9, a-z, A-Z) และอักขระจากชุด !()*,-./:_~ จะยังคงเหมือนเดิม
- อักขระอื่นๆ ทั้งหมดจะถูกแทนที่ด้วย
%XXโดยที่XXคือเลขฐาน 16 ที่แสดงถึงอักขระนั้น
ข้อจำกัดและข้อกำหนดของผู้เผยแพร่โฆษณา
คำขอราคาเสนอจะมีข้อมูลเกี่ยวกับประเภทของข้อจำกัดและข้อกำหนดที่ผู้เผยแพร่โฆษณากำหนดไว้สำหรับครีเอทีฟโฆษณาในการประมูล
BidRequest.bcat- คุณสามารถเปรียบเทียบหมวดหมู่ที่ถูกบล็อกซึ่งระบุโดยช่องนี้กับหมวดหมู่ที่ตรวจพบสำหรับครีเอทีฟโฆษณาที่ส่งโดยใช้ช่อง
detectedCategoriesของ Real-time Bidding API
- คุณสามารถเปรียบเทียบหมวดหมู่ที่ถูกบล็อกซึ่งระบุโดยช่องนี้กับหมวดหมู่ที่ตรวจพบสำหรับครีเอทีฟโฆษณาที่ส่งโดยใช้ช่อง
BidRequest.imp.ext.allowed_vendor_typeBidRequest.imp.secure- ในทางปฏิบัติ ระบบจะตั้งค่านี้เป็น
trueเสมอ เนื่องจาก Google กำหนดให้ครีเอทีฟโฆษณาทั้งหมดต้องรองรับ SSL
- ในทางปฏิบัติ ระบบจะตั้งค่านี้เป็น
BidRequest.imp.{audio/banner/native/video}BidRequest.imp.{audio/banner/native/video}.apiBidRequest.imp.{audio/banner/native/video}.battrBidRequest.imp.{audio/banner/video}.mimes
อย่าเสนอราคาด้วยโฆษณาที่มีฟีเจอร์ที่ถูกจำกัด สำหรับฟีเจอร์ที่อนุญาต เช่น ประเภทผู้ให้บริการ ให้แสดงโฆษณาเฉพาะในกรณีที่ประเภทผู้ให้บริการอยู่ในรายการ allowed_vendor_type ใน BidRequest ราคาเสนอของคุณควรมีเฉพาะรูปแบบโฆษณาที่ระบุไว้ในคำขอราคาเสนอโดยการป้อนข้อมูลในช่องต่างๆ เช่น BidRequest.imp.banner ดูรายละเอียดเพิ่มเติมได้จากความคิดเห็นสำหรับช่องเหล่านี้ในคำจำกัดความของบัฟเฟอร์โปรโตคอล BidRequest
หากมีการแสดงโฆษณาใน BidResponse คุณต้องตั้งค่าฟิลด์ BidResponse.seatbid.bid.attr, BidResponse.seatbid.bid.cat และ BidResponse.seatbid.bid.adomain หรือ BidResponse.seatbid.bid.adm_native.link.url ใน BidResponse ให้ถูกต้อง หากโฆษณามีค่าที่เกี่ยวข้องหลายค่าสำหรับช่องเหล่านี้ คุณต้องระบุทุกค่า ดูรายละเอียดเพิ่มเติมได้จากความคิดเห็นสำหรับฟิลด์เหล่านี้ในคำจำกัดความของบัฟเฟอร์โปรโตคอล BidResponse
ระบบจะทิ้งการตอบกลับที่ไม่ได้ตั้งค่าช่องเหล่านี้
Open Measurement
Open Measurement ช่วยให้คุณระบุผู้ให้บริการบุคคลที่สามที่ให้บริการวัดผลและตรวจสอบอิสระสำหรับโฆษณาที่แสดงในสภาพแวดล้อมของแอปบนอุปกรณ์เคลื่อนที่ได้
รูปแบบโฆษณาที่รองรับ ได้แก่ โฆษณาวิดีโอ แบนเนอร์ และโฆษณาคั่นระหว่างหน้า ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีใช้ Open Measurement ในการตอบกลับราคาเสนอที่มีรูปแบบเหล่านี้ได้ที่บทความในศูนย์ช่วยเหลือเรื่อง Open Measurement SDK
ตัวอย่างการเสนอราคาตอบ
ส่วนต่อไปนี้แสดงตัวอย่างการเสนอราคาตอบสำหรับประเภทโฆษณาต่างๆ