ขณะนี้ การประมูลแอพบนมือถือมีให้บริการเฉพาะกับผู้เผยแพร่บางรายเท่านั้น
สื่อกลางโฆษณาภายในองค์กรยังไม่พร้อมให้บริการต่อสาธารณะ
ขณะนี้การประมูลภายในองค์กรด้วย Audience Network เป็นเวอร์ชั่นเบต้าแบบปิดและยังไม่พร้อมให้บริการต่อสาธารณะ เราจะแจ้งข้อมูลอัพเดตเพิ่มเติมหากมีการเปลี่ยนแปลง
ในระหว่างนี้ คุณสามารถเข้าถึงการประมูลของ Audience Network ผ่านแพลตฟอร์มสื่อกลางโฆษณาอย่างใดอย่างหนึ่งที่เราเป็นพาร์ทเนอร์ด้วยแทนได้
Facebook Audience Network รองรับการประมูลผ่านแอพบนมือถือรวมทั้งเว็บไซต์บนมือถือ การผสานการทำงานการประมูลผ่านแอพบนมือถืออาจมาจากไคลเอ็นต์สำหรับมือถือไปยังเซิร์ฟเวอร์ของเราหรือจากเซิร์ฟเวอร์ของคุณไปยังเซิร์ฟเวอร์ของเรา ภาพรวมนี้จะครอบคลุมแนวคิดทั่วไปของการประมูลผ่านแอพ
การประมูลผ่านแอพเป็นวิธีที่ผู้เผยแพร่สื่อใช้ตั้งการประมูลแบบเปิดและเป็นกลางสำหรับคลังโฆษณาของตน โดยเสนอทุกโอกาสในการโฆษณาแก่ทุกฝ่ายแบบเรียลไทม์ ทุกแหล่งความต้องการมีโอกาสที่จะแข่งขันและชนะทุกอิมเพรสชั่นเมื่อมีค่าสูงสุด
ระบบจะเสนอการประมูลผ่านแอพผ่านตำแหน่งข้อมูลที่ใช้โปรโตคอลการประมูลเรียลไทม์แบบเปิด (ORTB) เพื่อเสนอราคาประมูลสำหรับโอกาสของอิมเพรสชั่นแต่ละครั้ง โดยระบบจะต้องใช้ SDK ของ Audience Network ในการประมูลผ่านแอพเพื่อดำเนินการต่อไปนี้:
buyeruid
(ที่ระบุชื่อเป็น bidderToken
ใน Audience Network SDK โทเค็นนี้เป็นช่องที่ต้องระบุในคำขอประมูลและจะต่างกันไปสำหรับผู้ใช้แต่ละรายและแอพแต่ละแอพ ซึ่งโทเค็นดังกล่าวจะใช้ไม่ได้กับผู้ใช้หรือแอพอื่นช่อง adm
จากการตอบกลับราคาประมูลไปยัง Audience Network SDK บนอุปกรณ์ของผู้ใช้ โปรดทราบว่า ช่อง adm
ไม่มีโฆษณาจริงอยู่ แต่จะมีข้อมูลที่เอื้อให้ SDK สามารถเรียกดูโฆษณาจากเซิร์ฟเวอร์ Audience Network ได้เมื่อดำเนินการประมูลราคา (ขั้นตอนที่ 3 ในกระบวนการประมูล) สามารถโฮสต์การประมูลบนฝั่งไคลเอ็นต์หรือฝั่งเซิร์ฟเวอร์ก็ได้ ด้านล่างนี้เป็นการผสานการทำงานที่แตกต่างกัน 3 ประเภท:
สถาปัตยกรรมการผสานการทำงานแบบระหว่างเซิร์ฟเวอร์
ในการผสานการทำงานแบบเซิร์ฟเวอร์ถึงเซิร์ฟเวอร์นี้ เซิร์ฟเวอร์การประมูลราคาจะเรียกตำแหน่งข้อมูลการประมูลของ Facebook Audience Network และแหล่งความต้องการอื่นๆ ทั้งหมดเพื่อรับการตอบกลับการประมูล จากนั้นเซิร์ฟเวอร์การประมูลจะดำเนินการประมูลราคาและเลือกราคาประมูลที่ชนะ เซิร์ฟเวอร์การประมูลราคาสามารถเป็นเซิร์ฟเวอร์ภายในที่ใช้งานตรรกะการประมูลที่คุณสร้าง หรืออาจเป็นเซิร์ฟเวอร์ของบุคคลที่สามที่ผสานการทำงานกับการประมูลผ่านแอพของ Audience Network เองก็ได้ ซึ่งจะช่วยให้คุณใช้ทรัพยากรและเครือข่ายที่ใช้งานได้ของเซิร์ฟเวอร์เพื่อเรียกตำแหน่งข้อมูลการประมูลของแหล่งความต้องการได้ นอกจากนี้ยังช่วยให้คุณเปลี่ยนแปลงการผสานการทำงานของตำแหน่งข้อมูลเหล่านี้โดยไม่จำเป็นต้องอัพเดตไคลเอ็นต์อีกด้วย
การผสานการทำงานเซิร์ฟเวอร์โฆษณาภายนอก
การผสานการทำงานของเซิร์ฟเวอร์โฆษณาจากภายนอกช่วยให้คุณเชื่อมโยงโลกของสื่อกลางการนำเสนอโฆษณาแบบลดหลั่นในปัจจุบันเข้ากับการประมูลผ่านแอพ ซึ่งสามารถทำงานได้ด้วยการผสานการทำงานแบบเซิร์ฟเวอร์ถึงเซิร์ฟเวอร์เข้ากับแหล่งความต้องการที่รองรับการประมูลผ่านแอพ จากนั้นจึงส่งต่อผู้ชนะไปยังแพลตฟอร์มของสื่อกลางที่นำเสนอโฆษณาแบบลดหลั่นดังกล่าว และเลือกแหล่งความต้องการโดยรวมที่เป็นผู้ชนะ การผสานการทำงานนี้เปรียบเสมือนตัวเชื่อมโยงชั่วคราวระหว่างโลกของสื่อกลางการนำเสนอโฆษณาแบบลดหลั่นและการประมูลผ่านแอพ คุณไม่จำเป็นต้องเขียนตรรกะการประมูลของตนเองด้วยประเภทการผสานการทำงานนี้
ตำแหน่งข้อมูลการประมูลของเรารองรับชุดย่อยของโปรโตคอล OpenRTB เวอร์ชั่น 2.5
หมายเหตุ: โปรดดูตัวอย่างคำขอแบบเต็มในคู่มือการตั้งค่าเซิร์ฟเวอร์การประมูล
'id' => string, // platform's auction identifier, 'imp' => vec< // slots to bid on shape( 'id' => string, // platform's identifier for this slot auction // only for banner impression opportunities 'banner' => shape( 'w' => int, // width 'h' => int, // height ), // only for native impression opportunities 'native' => shape( 'w' => int, // width 'h' => int, // height ), // only for video impression opportunities 'video' => shape( 'w' => int, // width 'h' => int, // height 'linearity' => int, // 1 = instream, optional 'ext' => shape( 'videotype' => string, // 'rewarded' for Rewarded Video impression opportunities, optional ), ), 'tagid' => string, // Placement ID 'instl' => int, // interstitial flag, 1 = On, 0 = Off, optional ) >, // app details (in-app bidding only) 'app' => shape( 'publisher' => shape( 'id' => string, // publisher app ID ), ), 'device' => shape( 'ua' => string, // device user-agent 'ifa' => string, // ID sanctioned for advertiser use // Do not send ip or ipv6 if you are requesting bids from the client device. // For server-side bid requests set ip or ipv6. 'ip' => string, // device IPv4 'ipv6' => string, // device IPv6 'dnt' => int, // "do not track", 1 = On, 0 = Off, optional 'lmt' => int, // "limit ad tracking", 1 = On, 0 = Off ), 'regs' => shape( // regulations object 'coppa' => int, // US FTC regulations for Children's Online Privacy Protection Act, 1 = On, 0 = Off, optional ), 'user' => shape( 'buyeruid' => string, // Audience Network Identity Token, mandatory ), 'ext' => shape( 'platformid' => string, // Mediation partner Platform ID or publisher FB app ID, mandatory 'authentication_id' => string // Authentication token to validate the originator of the request ), 'at' => int, // auction type: 1 = First Price, 2 = Second Price 'tmax' => int, // auction timeout in milliseconds 'test' => int, // 0 = normal, 1 = test-mode (we bid $99.99, but don't pay out), optional
ปัจจุบันเรารองรับโฆษณา 4 ประเภทที่สามารถขอผ่าน OpenRTB ได้ ได้แก่ แบนเนอร์ เนทีฟ (เนทีฟหรือแบนเนอร์เนทีฟ) วิดีโอ (วิดีโอที่มีรางวัลหลังชมจบหรือวิดีโอในสตรีม) และโฆษณาคั่น หมายเหตุ: คุณจะใช้อ็อบเจ็กต์แบนเนอร์ เนทีฟ และวิดีโอร่วมกันไม่ได้ แต่จำเป็นต้องมีรูปแบบใดรูปแบบหนึ่ง
รายการต่อไปนี้คือรูปแบบโฆษณาที่รองรับในคำขอประมูล
รูปแบบโฆษณา | พารามิเตอร์ในคำขอประมูล |
---|---|
เนทีฟ |
|
แบนเนอร์เนทีฟ |
|
โฆษณาคั่น |
|
วิดีโอที่มีรางวัลหลังชมจบ |
|
โฆษณาคั่นที่มีรางวัลหลังชมจบ |
|
แบนเนอร์ - ความสูง: 50 |
|
แบนเนอร์ - ความสูง: 250* |
|
*คุณสามารถสร้างแบนเนอร์หรือตำแหน่งการจัดวางแบบสี่เหลี่ยมผืนผ้าขนาดกลางได้ในตัวจัดการการสร้างรายได้สำหรับรูปแบบโฆษณานี้
การตอบกลับราคาประมูลจะใช้ได้เป็นเวลา 30 นาที คุณสามารถส่งคำขอโฆษณาในเวลาใดก็ได้ภายใน 30 นาทีนับจากที่ได้รับการตอบกลับราคาประมูล ระบบจะไม่ชำระเงินให้กับอิมเพรสชั่นใดๆ ที่อิงจากราคาประมูลนานกว่า 30 นาที
หมายเหตุ: เมื่อคุณส่งคำขอโฆษณาพร้อมการตอบกลับราคาประมูล ระบบสามารถแคชโฆษณาบนไคลเอ็นต์ได้ แต่จะต้องแสดงภายใน 60 นาทีนับจากที่ระบบโหลดโฆษณา ระบบจะไม่ชำระเงินให้กับอิมเพรสชั่นใดๆ ที่อิงจากโฆษณาที่แคชไว้นานกว่า 60 นาที..
1 'id' => string // platform's request identifier 'seatbid' => vec< shape( 'bid' => vec< shape( 'id' => string, // Our identifier for this bid 'impid' => string, // platform's identifier for this slot auction 'price' => float, // Our bid price on CPM basis, in USD 'adm' => string, // Our creative - see Rendering The Ad 'nurl' => string, // URL to get if we win the impression 'lurl' => string, // URL to get if we lose the impression ) >, ), >, 'bidid' => string, // Our identifier for this response 'cur' => string, // bid currency: USD
เราต้องการการแจ้งเตือนการชนะ, การพ่ายแพ้, การเรียกเก็บเงิน และการหมดเวลา พร้อมโค้ดการพ่ายแพ้ที่เหมาะสมที่กำหนดไว้ใน ORTB ระบบจะแสดง nurl, lurl และ burl ของ ORTB ในการตอบกลับราคาประมูล โปรดตรวจสอบตัวอย่างการตอบกลับราคาประมูลที่ส่วนก่อนหน้านี้ ในกรณีของการหมดเวลาราคาประมูล เราจะระบุเส้นทางการรายงานทางเลือกแก่คุณ
ระบบจะระบุ nurl ผู้ชนะในการตอบกลับราคาประมูล คุณต้องเพิ่มจำนวนราคาที่เป็นดุลยภาพใน nurl:
"https://www.facebook.com/audiencenetwork/nurl/?partner=${PARTNER_FBID}&app=${APP_FBID}&placement=${PLACEMENT_FBID}&auction=${AUCTION_ID}&impression=${IMPRESSION_ID}&request=${BID_REQUEST_ID}&bid=${BID_ID}&ortb_loss_code=0&clearing_price=${AUCTION_PRICE}"
${AUCTION_PRICE}
: ซึ่งควรจะแทนที่ด้วยราคาที่เป็นดุลยภาพสำหรับการประมูลราคาในหน่วยเดียวกันกับราคาประมูลของเรา (เช่น USD ต่อ CPM)lurl การพ่ายแพ้ของเราจะมีตัวบ่งชี้ 2 รายการที่คุณต้องเพิ่มจำนวน:
"https://www.facebook.com/audiencenetwork/nurl/?partner=${PARTNER_FBID}&app=${APP_FBID}&placement=${PLACEMENT_FBID}&auction=${AUCTION_ID}&impression=${IMPRESSION_ID}&request=${BID_REQUEST_ID}&bid=${BID_ID}&ortb_loss_code=${AUCTION_LOSS}&clearing_price=${AUCTION_PRICE}"
${AUCTION_LOSS}
ซึ่งควรจะแทนที่ด้วย โค้ดการพ่ายแพ้ ของ ORTB${AUCTION_PRICE}
: ซึ่งควรจะแทนที่ด้วยราคาที่เป็นดุลยภาพสำหรับการประมูลราคาในหน่วยเดียวกันกับราคาประมูลของเรา (เช่น USD ต่อ CPM)ด้านล่างนี้เป็นรายการของโค้ดการพ่ายแพ้ที่แตกต่างกันและเหตุผลการพ่ายแพ้ที่สอดคล้องกัน
เหตุผลของการพ่ายแพ้ | คำอธิบาย | โค้ดการพ่ายแพ้เวอร์ชั่น 2.5 ของ ORTB |
---|---|---|
การตอบกลับราคาประมูลที่ไม่ถูกต้อง | ราคาประมูลไม่ถูกต้อง (แต่ตรงเวลา, ไม่ใช่การไม่มีราคาประมูล และถูกต้องเพียงพอที่คุณจะสามารถดึง nurl ได้) | 3 |
การหมดเวลาราคาประมูล * | ได้รับการตอบกลับราคาประมูล แต่ช้าเกินไปสำหรับการตัดยอดประมูลราคา | 2 |
ไม่มีราคาประมูล | ระบบจะแสดงการไม่มีราคาประมูลเป็น HTTP 204 (เช่น ไม่มี nurl ให้เรียก) แต่คุณอาจตีความการตอบกลับของเราเป็นการไม่มีราคาประมูล (อาจเป็นปัญหาเกี่ยวกับการผสานการทำงาน) คุณยังอาจส่งคำขอราคาประมูลสำหรับอิมเพรสชั่นหลายครั้ง และเราจะร่วมประมูลบางส่วนแต่ไม่ใช่ทั้งหมด | 9 |
ไม่ใช่ผู้ประมูล RTB สูงสุด | มีผู้ประมูลรายอื่นที่เอาชนะคุณได้รวมถึงราคาประมูลแบบสังเคราะห์ (เช่น การแลกเปลี่ยนที่ไม่ใช่ RTB) หากผู้ประมูลเหล่านี้เข้าร่วมการประมูลราคาเดียวกัน | 102 |
พื้นที่โฆษณาไม่ปรากฏ | ราคาประมูลของเราชนะการประมูลราคา แต่อิมเพรสชั่นไม่ปรากฏ (เช่น หน้ายาวไม่พอที่จะรวมในช่องนี้ หรือผู้ใช้ออกจากแอพก่อนที่จะใช้โฆษณาที่แคชไว้) พาร์ทเนอร์บางรายไม่สามารถระบุได้ (ไม่ใช่เหตุการณ์) ดังนั้นเราจะอนุมานได้หากไม่ได้ระบุไว้ | 4902 |
ส่งไปยังเซิร์ฟเวอร์โฆษณาแล้ว | ส่งข้อความนี้หากทัชพอยท์ที่คุณมีส่วนกับกระบวนการตัดสินใจได้ส่งราคาประมูลที่สูงของเราไปยังเซิร์ฟเวอร์โฆษณา อิมเพรสชั่นอาจสูญหายไประหว่างรายการโฆษณาที่ขาดหายไป เซิร์ฟเวอร์โฆษณาล้มเลิกการประมูลราคา หรือพื้นที่โฆษณาไม่ปรากฏ | 4900 |
เซิร์ฟเวอร์โฆษณาไม่ได้เลือกผู้ชนะ RTB | เราชนะการประมูลราคา RTB แต่เซิร์ฟเวอร์โฆษณาล้มเลิกการประมูลราคา (เช่น โดยตรง) | 4903 |
การชนะ | เราชนะต้นไม้ตัดสินใจทั้งหมด และวางแท็กบนหน้า (เว็บ) หรือแคชอ็อบเจ็กต์โฆษณาไว้ (แอพ) อิมเพรสชั่นที่มีการเห็นจริงอาจยังไม่ระบุผลลัพธ์ | 0 |
เราต้องการการแจ้งเตือนการเรียกเก็บเงินในกรณีที่ระบบกระตุ้นการเรียกกลับอิมเพรสชั่นใน SDK ของ Audience Network คุณต้องเพิ่มจำนวนราคาที่เป็นดุลยภาพใน burl:
"https://www.facebook.com/audiencenetwork/burl/?partner=${PARTNER_FBID}&app=${APP_FBID}&placement=${PLACEMENT_FBID}&auction=${AUCTION_ID}&impression=${IMPRESSION_ID}&request=${BID_REQUEST_ID}&bid=${BID_ID}&ortb_loss_code=0&clearing_price=${AUCTION_PRICE}"
${AUCTION_PRICE}
: ซึ่งควรจะแทนที่ด้วยราคาที่เป็นดุลยภาพสำหรับการประมูลราคาในหน่วยเดียวกันกับราคาประมูลของเรา (เช่น USD ต่อ CPM)สำหรับกรณีของการหมดเวลาราคาประมูล เราจะระบุเส้นทางการรายงานทางเลือกแก่คุณ โดยจะเป็น nurl ทั่วไปที่อาจเรียกได้โดยไม่ต้องรอให้การเสนอราคาประมูลมาถึง รูปแบบเป็นดังนี้:
"https://www.facebook.com/audiencenetwork/nurl/?partner=${PARTNER_FBID}&app=${APP_FBID}&auction=${AUCTION_ID}&ortb_loss_code=2"
หมายเหตุ: ควรเพิ่มจำนวน ${PARTNER_FBID}
, ${APP_FBID}
และ ${AUCTION_ID}
ด้วยค่าที่เหมาะสม ตารางด้านล่างนี้ให้คำอธิบายเกี่ยวกับค่าเหล่านี้
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
PARTNER_FBID | จำนวนเต็ม | ID ของเซิร์ฟเวอร์การประมูลโฆษณาที่ออกโดย Facebook ใช้ ID ของแอพที่นี่หากคุณไม่มีพาร์ทเนอร์การประมูลโฆษณาโดยเฉพาะ |
APP_FBID | จำนวนเต็ม | ID ที่ Facebook ออกให้ของแอพพลิเคชั่น/ธุรกิจที่จะเริ่มต้นดำเนินการประมูลราคา |
AUCTION_ID | สตริง | ID ที่ไคลเอ็นต์สร้างขึ้นของการประมูลราคาที่คุณใช้เพื่อส่งคำขอประมูล |
ระบบจะเสนอราคาในรูปแบบ USD ต่อ CPM (เช่น 4.25 หมายความว่าเราจะจ่าย 4.25 USD/1000 อิมเพรสชั่นหากเราชนะการประมูล) โดยคุณจะต้องใช้หน่วยเดียวกันสำหรับราคาที่เป็นดุลยภาพใน nurl และ lurl การรับชำระเงินจะทำโดยตรงกับผู้เผยแพร่
เราจะร่วมประมูลโดยใช้เกณฑ์จ่ายตามราคาแรก (First-price) ซึ่งหมายความว่าเราจะจ่ายตามราคาที่เราร่วมประมูล และเราร่วมประมูลจากสมมติฐานว่าเราจะจ่ายเต็มจำนวน หมายความว่าเราจะเสียเปรียบในการประมูลแบบจ่ายราคารอง (Second-price) ซึ่งผู้ประมูลอื่นๆ สามารถร่วมประมูลจากสมมติฐานว่าตนเองจะจ่ายน้อยว่าราคาประมูล
สำหรับอิมเพรสชั่นของแอพ เราจะจ่ายเงินต่อเมื่อมีการดูอิมเพรสชั่นแล้วไม่ว่าเราจะเป็นผู้เสนอราคาสูงสุดหรือไม่ก็ตาม