應用程式處理 Google 的出價要求後,必須建立並傳送回應。本指南說明如何編寫應用程式程式碼來建構回應。
建立 BidResponse 訊息 
如要提交出價,出價應用程式必須以所設定格式,以包含 Bid 的 BidResponse 回應出價要求。如果您使用 JSON 格式,回應必須將 Content-Type 標頭設為 application/json; charset=utf-8,並在主體中加入 JSON BidResponse。如果您使用 Protobuf 格式,應用程式必須將 Content-Type 標頭設為 application/octet-stream,並在主體中加入序列化的 BidResponse。
如要建構並序列化 Protobuf 格式的 BidResponse,您必須根據 openrtb.proto  和 openrtb-adx.proto  產生並使用 Protobuf 程式庫,這兩個檔案分別實作標準 OpenRTB BidResponse 欄位和 Protobuf 中的 Google 擴充功能。這些資料可在 Protos & Reference Data  中找到。
如果您不想對曝光出價,則必須傳回空白的 HTTP 204 回應。應用程式必須針對每個 BidRequest 傳回回應。逾時和無法剖析的回應都視為錯誤,Google 會針對出價工具的錯誤率進行調節。
廣告素材 ID 
您的 BidResponse 會透過 BidResponse.seatbid.bid.crid 欄位指定廣告素材 (上限為 64 個位元組)。即使是相似的廣告素材,如果在任何顯著特徵上有所差異,也必須為這個欄位提供不重複的值,包括但不限於尺寸、宣告的網址、廣告素材屬性和供應商類型。換句話說,您必須為任何兩則廣告提供不同的廣告素材 ID,前提是:
  外觀或行為不同。 
  算繪至不同的圖片。 
  以不同的方式算繪 (例如,一個廣告包含圖片,另一個廣告則包含影片)。 
 
設計應用程式時,您應決定以系統化方式產生 ID,以便針對您要提交的廣告素材類型產生適當的 ID。
廣告屬性 
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 設為 JSON 格式。
SIZELESS
    將 BidResponse.seatbid.bid.attr 設為 RESPONSIVE,或 18 為 JSON 格式。
PLAYABLE
    如要表示這項資訊,請將 BidResponse.seatbid.bid.attr 設為 USER_INTERACTIVE,或將 13 設為 JSON 格式。
 
請參閱廣告素材資源 ,瞭解如何取得廣告素材偵測屬性的意見回饋。
公開出價欄位 
參與公開出價的廣告交易平台和聯播網出價方傳送的出價回應,與參與標準即時出價的授權買方傳送的出價回應類似。公開出價客戶可以指定少數額外欄位,而部分現有欄位可能有其他用途。其中包括:
  
    欄位 
    詳細資料 
   
  
    BidResponse.imp.pmp.deals.id廣告交易 ID 來自廣告交易平台的命名空間,與此出價相關聯,並回報給發布商。
      注意: 這個欄位只會傳送給封閉 Beta 版測試人員。
         
  
    BidResponse.seatbid.bid.ext.exchange_deal_type回報給發布商的交易類型,會影響競價中對交易的處理方式。
      注意: 這個欄位只會傳送給封閉 Beta 版測試人員。
         
  
    BidResponse.seatbid.bid.ext.third_party_buyer_token如果廣告交易平台是公開出價方,則此符記可用於識別最終第三方買家資訊。這個值是從第三方買家取得,必須在出價回應中保持不變,才能傳送給 Google。 
   
建議 
出價回應範例 
以下範例代表 Protobuf 和 JSON 要求的可讀取範例。
  
    OpenRTB Protobuf 
    顯示範例 
    序列化回應 
id :   "1lY5z94y6Bz404R9H0ZN38" 
seatbid   { 
   bid   { 
     id :   "n1KLe2Q26Xyu431W1PU" 
     impid :   "1" 
     price :   1.0575798749923706 
     adm :   "<iframe marginwidth=0 marginheight=0 height=600 frameborder=0 width=160 scrolling=no src= \" https://test.com/ads?id=123456&curl= %% CLICK_URL_ESC %% &wprice= %% WINNING_PRICE_ESC %% \" ></iframe>" 
     crid :   "test_creative_id_666097" 
     dealid :   "0" 
     w :   339 
     h :   53 
     burl :   "https://test.com/imp?id=123456" 
     [ com . google . doubleclick . bid ]   { 
       event_notification_token   { 
         payload :   "token" 
       } 
       billing_id :   86548870602 
       dsa   { 
         adrender :   true 
       } 
       clickurl :   "google.com" 
     } 
   } 
} 
cur :   "JPY" 
[ com . google . doubleclick . bid_response ]   { 
   processing_time_ms :   7 
}  
  
    OpenRTB JSON 
    顯示範例 
    
{ 
   "id" :   "1lY5z94y6Bz404R9H0ZN38" , 
   "seatbid" :   [ 
     { 
       "bid" :   [ 
         { 
           "id" :   "n1KLe2Q26Xyu431W1PU" , 
           "impid" :   "1" , 
           "price" :   1.0575798749923706 , 
           "adm" :   "<iframe marginwidth=0 marginheight=0 height=600 frameborder=0 width=160 scrolling=no src= \" https://test.com/ads?id=123456&curl= %% CLICK_URL_ESC %% &wprice= %% WINNING_PRICE_ESC %% \" ></iframe>" , 
           "crid" :   "test_creative_id_666097" , 
           "dealid" :   "0" , 
           "w" :   339 , 
           "h" :   53 , 
           "burl" :   "https://test.com/imp?id=123456" , 
           "ext" :   { 
             "event_notification_token" :   { 
               "payload" :   "token" 
             }, 
             "billing_id" :   "86548870602" , 
             "dsa" :   { 
               "adrender" :   1 
             }, 
             "clickurl" :   [ 
               "google.com" 
             ] 
           } 
         } 
       ] 
     } 
   ], 
   "cur" :   "JPY" , 
   "ext" :   { 
     "processing_time_ms" :   7 
   } 
}  
 
重要事項: 範例中顯示的 Protobuf 訊息會以人類可讀的文字表示。不過,這並不是訊息透過電線傳送的方式。使用 OpenRTB Protobuf 格式時,系統只會接受序列化的 BidResponse 訊息。
您可以使用下列 C++ 程式碼建立及序列化 BidResponse 訊息:
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 
 
在 BidResponse.seatbid.bid.adm 欄位中使用 HTML 程式碼片段,指定在您自有伺服器上託管的廣告。程式碼片段會封裝在插入網頁的 iFrame 中,因此在載入網頁時,系統會擷取並轉譯廣告。您必須編寫 HTML 程式碼片段,讓廣告 (橫幅或插頁式廣告) 正確顯示在 iFrame 中,並以適當的大小顯示在您出價的廣告版位中。
此外,在下列情況下,出價回應中宣告的大小必須與出價要求中完全相符的大小組合相符:
  廣告是一般橫幅廣告 (不是影片、原生或插頁式廣告)。 
  出價者已在出價回應中宣告大小。請求中只要有兩種以上的大小,就必須宣告大小。 
  插頁式廣告則例外。插頁式廣告的寬度必須至少為螢幕寬度的 50%,高度則至少為螢幕高度的 40%。 
 
您可以使用任何有效的 HTML 程式碼指定 HTML 廣告素材片段,但請注意,在「Create BidResponse message」crid 欄位的限制。這項功能的其中一個用途,就是在擷取自伺服器的網址引數中加入額外資訊,以便在算繪廣告時使用。這樣一來,您就能將曝光次數的任意資料傳回至自己的伺服器。
在出價回應中傳回的 HTML 程式碼片段,大多適用於第三方廣告的政策。詳情請參閱「授權買家計畫規範 」、「第三方廣告放送相關規定 」和「在廣告中宣告點擊率網址 」。
指定巨集 
巨集是經過格式設定的文字,會嵌入部分包含網址的出價回應欄位,並在廣告放送期間替換為相關值。舉例來說,如果您在出價時,HTML 程式碼片段廣告素材中包含得標出價的 AUCTION_PRICE 巨集,系統就會將巨集替換為您可解密的值,以便判斷您在競價中為曝光支付的金額。
您可以在下列欄位中加入巨集:
  
    BidResponse.seatbid.bid.adm
    巨集支援 HTML 程式碼片段、原生、影片網址和影片 VAST XML 格式。
 
  
    BidResponse.seatbid.bid.adm_native.eventtrackers.url
   
  
    BidResponse.seatbid.bid.adm_native.imptrackers
   
  
    BidResponse.seatbid.bid.ext.amp_ad_url
    AMP 廣告素材僅支援 Google 專屬的 WINNING_PRICE 和 WINNING_PRICE_ESC 巨集。
   
  
    BidResponse.seatbid.bid.burl
   
  
    BidResponse.seatbid.bid.ext.impression_tracking_url
    如果您需要多個帳單網址,請使用這個值,而非 BidResponse.seatbid.bid.burl。
   
 
舉例來說,您可以將巨集納入 HTML 程式碼片段,方法是在用於擷取廣告素材的網址中嵌入 ${MACRO},其中 MACRO 是 OpenRTB 規格 中所述的支援巨集之一。
Google 巨集 
除了 OpenRTB 規格中的巨集,Google 也支援其他巨集。這些巨集的格式不同,如果嵌入網址,會顯示為 %%MACRO%%。下表說明這些巨集:
  
    
       
    
    巨集 說明  
    
    
      ADVERTISING_IDENTIFIER允許買方在曝光顯示時收到 iOS IDFA 或 Android 廣告 ID。詳情請參閱「解密廣告主 ID 」。 
     
    
      CACHEBUSTER隨機的無符號四位元整數字串表示法。 
     
    
      CLICK_URL_UNESC
        廣告的未逸出點擊網址。在程式碼片段中,第三方點擊網址的已編碼版本應直接接在巨集後方。
        舉例來說,如果第三方點擊網址是 http://my.adserver.com/some/path/handleclick?click=clk,則可在巨集呼叫後,使用單一逸出的第三方點擊網址版本搭配下列程式碼:
<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>
 這個網址會先向 Google 註冊點擊,然後重新導向至第三方點擊網址。
       
     
    
      CLICK_URL_ESC
        廣告的已轉義點擊網址。如果您需要先將值傳遞到另一部稍後將會傳回重新導向的伺服器,請使用此巨集取代 CLICK_URL_UNESC。
        例如,下列程式碼可用於 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>
 這會將點擊事件註冊至 my.adserver.com,而 my.adserver.com 會負責將使用者重新導向至 google_click_url 參數中傳遞的網址。這會假設 my.adserver.com 會為 google_click_url 參數解碼。
        您可以將兩次轉義的網址附加到 %%CLICK_URL_ESC%% 之後。my.adserver.com 完成解碼後,會將單一逸出的網址版本附加到 google_click_url。擷取 google_click_url 時,系統會再次解碼,然後重新導向。
       
     
    
      CLICK_URL_ESC_ESC
        廣告的雙逸出網址。如果您需要先將值傳遞到另一部稍後將會傳回重新導向的伺服器,請使用此巨集取代 CLICK_URL_UNESC。
        例如,下列程式碼可用於 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如果出價要求不要求 SSL,則會展開為 http:;如果出價要求要求 SSL,則會展開為 https:。 
     
    
      SITE內容網址的網址逸出網域,或匿名廣告空間的匿名 ID。 
     
      SITE_URL已淘汰,已由 SITE 巨集取代,後者提供相同的功能。 
    
      TZ_OFFSET時區偏移。 
     
    
      VERIFICATION
        製作時和廣告素材在驗證管道中掃描時的不同值。格式如下:%%?VERIFICATION:true-val:false-val%%,其中除了巨集以外的任何值都可以用於 true-val 和 false-val,包括空白字串。針對公開出價,我們建議廣告交易平台使用這個巨集;一旦廣告交易平台使用這個巨集,需求方平台就不需要進行變更。
        舉例來說,如果廣告素材包含 %%?VERIFICATION:-1:5000%%,則文字替換會在放送時為 5000,在驗證管道中為 -1。這有助於區分這兩組 ping。
 
     
    
      WINNING_PRICE經過編碼的曝光費用 (單次安裝出價,而非千次曝光出價),以帳戶幣別的百萬分之一表示。舉例來說,以美金 $5 元贏得的千次曝光出價,相當於 5 百萬個百萬分之一的千次曝光出價,或是 5 千個百萬分之一單次安裝出價。在此情況下,WINNING_PRICE 的解碼值為 5,000。單次安裝出價中會指定勝出價格。
        如要剖析這個巨集,您必須導入可解密價格確認的應用程式。詳情請參閱「解密價格確認資料 」頁面。
       
    
      WINNING_PRICE_ESC網址逸出的 WINNING_PRICE。 
     
   
Google 規定您必須在第三方放送廣告的廣告素材中使用 CLICK_URL_UNESC 或 CLICK_URL_ESC 巨集。Google 會使用 CLICK_URL 巨集追蹤點擊次數。
巨集中的網址逸出會使用以下配置:
  空格字元會由加號 (+) 取代。 
  英數字元 (0-9、a-z、A-Z) 和 !()*,-./:_~ 集合的字元則保持不變。 
  所有其他字元都會替換成 %XX,其中 XX 是代表字元的十六進制數字。 
 
發布商限制和規定 
出價要求包含資訊,說明發布商在競價中對廣告素材設定的限制類型和要求。
  BidRequest.bcat
    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 
請勿使用含有管制功能的廣告出價。如果是允許的功能 (例如供應商類型),只有在廣告供應商類型出現在 BidRequest 的 allowed_vendor_type 清單中的情況下,您才需要傳回廣告。出價時,請只納入出價要求中透過填入 BidRequest.imp.banner 等欄位指定的廣告格式。如需詳細資訊,請參閱 BidRequest 通訊協定緩衝區定義中這些欄位的註解。
如果 BidResponse 傳回廣告,您必須在 BidResponse 中正確設定 BidResponse.seatbid.bid.attr、BidResponse.seatbid.bid.cat,以及 BidResponse.seatbid.bid.adomain 或 BidResponse.seatbid.bid.adm_native.link.url 欄位。如果廣告對這些欄位有許多適用的值,則必須納入每個值。如需更多詳細資訊,請參閱 BidResponse 通訊協定緩衝區定義中這些欄位的註解。系統會捨棄未設定這些欄位的回應。
Open Measurement 
您可以透過 Open Measurement 指定第三方供應商,為放送至行動應用程式環境的廣告提供獨立評估和驗證服務。
支援的廣告格式包括影片、橫幅和插頁式廣告。如要進一步瞭解如何在包含這些格式的出價回應中使用 Open Measurement,請參閱 Open Measurement SDK  說明中心文章。
出價回應範例 
下列各節會列出不同廣告類型的範例出價回應。
  注意: Protobuf 範例包含類似序列化出價回應的下載連結。但不保證兩者完全相同。 
應用程式橫幅廣告 
  
    OpenRTB Protobuf 
    顯示範例 
    序列化回應 
id :   "4308k26S0C36XQ2z1dIo99" 
seatbid   { 
   bid   { 
     id :   "y2OcJw5j213rO95Gz78" 
     impid :   "1" 
     price :   18.360865389304116 
     adm :   "<iframe marginwidth=0 marginheight=0 height=600 frameborder=0 width=160 scrolling=no src=\"https://test.com/ads?id=123456&curl=%%CLICK_URL_ESC%%&wprice=%%WINNING_PRICE_ESC%%\"></iframe>" 
     crid :   "test_creative_id_391487" 
     dealid :   "1" 
     w :   390 
     h :   60 
     [ com . google . doubleclick . bid ]   { 
       impression_tracking_url :   "https://test.com/impression?id=123456" 
       ad_choices_destination_url :   "https://test.com/preferences" 
       billing_id :   82364411103 
       skadn   { 
         version :   "4.0" 
         network :   "cF58w81X" 
         itunesitem :   "788729094" 
         sourceapp :   "1422994973" 
         fidelities   { 
           fidelity :   VIEW_THROUGH_ADS 
           nonce :   "017e597c-3c7d-4a44-afeb-41cd9a17066f" 
           timestamp :   "1757235407882" 
           signature :   "11iF1L96q2cw8tu790p301c10530ogr7h250k1P9pLxqcJ2qe37klG8xB3M592YbpafQ9861493838C521XA6AEF4A40DK8X" 
         } 
         fidelities   { 
           fidelity :   STOREKIT_RENDERED_ADS 
           nonce :   "017e597c-3c7d-4a44-afeb-41cd9a17066f" 
           timestamp :   "1757235407882" 
           signature :   "f67L3C138Y6XB7940141011Pd58AZbdBk9Xo1Mlf1973706DsB5808ILLKumU2ic9fr72b9bSs3CD25CCZo8DJB65JB0615L" 
         } 
         sourceidentifier :   "5507" 
       } 
       app_promotion_type :   INSTALLS 
       clickurl :   "google.com" 
       clickurl :   "example.com" 
     } 
   } 
   seat :   "2542:1534:245840" 
} 
[ com . google . doubleclick . bid_response ]   { 
   processing_time_ms :   3 
}  
  
    OpenRTB JSON 
    顯示範例 
    
{ 
   "id" :   "4308k26S0C36XQ2z1dIo99" , 
   "seatbid" :   [ 
     { 
       "bid" :   [ 
         { 
           "id" :   "y2OcJw5j213rO95Gz78" , 
           "impid" :   "1" , 
           "price" :   18.360865389304116 , 
           "adm" :   "<iframe marginwidth=0 marginheight=0 height=600 frameborder=0 width=160 scrolling=no src=\"https://test.com/ads?id=123456&curl=%%CLICK_URL_ESC%%&wprice=%%WINNING_PRICE_ESC%%\"></iframe>" , 
           "crid" :   "test_creative_id_391487" , 
           "dealid" :   "1" , 
           "w" :   390 , 
           "h" :   60 , 
           "ext" :   { 
             "impression_tracking_url" :   [ 
               "https://test.com/impression?id=123456" 
             ], 
             "ad_choices_destination_url" :   "https://test.com/preferences" , 
             "billing_id" :   "82364411103" , 
             "skadn" :   { 
               "version" :   "4.0" , 
               "network" :   "cF58w81X" , 
               "itunesitem" :   "788729094" , 
               "sourceapp" :   "1422994973" , 
               "fidelities" :   [ 
                 { 
                   "fidelity" :   0 , 
                   "nonce" :   "017e597c-3c7d-4a44-afeb-41cd9a17066f" , 
                   "timestamp" :   "1757235407882" , 
                   "signature" :   "11iF1L96q2cw8tu790p301c10530ogr7h250k1P9pLxqcJ2qe37klG8xB3M592YbpafQ9861493838C521XA6AEF4A40DK8X" 
                 }, 
                 { 
                   "fidelity" :   1 , 
                   "nonce" :   "017e597c-3c7d-4a44-afeb-41cd9a17066f" , 
                   "timestamp" :   "1757235407882" , 
                   "signature" :   "f67L3C138Y6XB7940141011Pd58AZbdBk9Xo1Mlf1973706DsB5808ILLKumU2ic9fr72b9bSs3CD25CCZo8DJB65JB0615L" 
                 } 
               ], 
               "sourceidentifier" :   "5507" 
             }, 
             "app_promotion_type" :   1 , 
             "clickurl" :   [ 
               "google.com" , 
               "example.com" 
             ] 
           } 
         } 
       ], 
       "seat" :   "2542:1534:245840" 
     } 
   ], 
   "ext" :   { 
     "processing_time_ms" :   3 
   } 
}  
 
應用程式插頁式廣告 
  
    OpenRTB Protobuf 
    顯示範例 
    序列化回應 
id :   "U0t6Une80802A28Mi98o1t" 
seatbid   { 
   bid   { 
     id :   "300z78I726nCP7u4sFp" 
     impid :   "1" 
     price :   149.83914184570312 
     adm :   "<iframe marginwidth=0 marginheight=0 height=600 frameborder=0 width=160 scrolling=no src= \" https://test.com/ads?id=123456&curl= %% CLICK_URL_ESC %% &wprice= %% WINNING_PRICE_ESC %% \" ></iframe>" 
     crid :   "test_creative_id_732353" 
     dealid :   "0" 
     w :   360 
     h :   715 
     burl :   "https://test.com/imp?id=123456" 
     [ com . google . doubleclick . bid ]   { 
       event_notification_token   { 
         payload :   "token" 
       } 
       billing_id :   68640308112 
       dsa   { 
         adrender :   true 
       } 
       clickurl :   "google.com" 
     } 
   } 
} 
cur :   "JPY" 
[ com . google . doubleclick . bid_response ]   { 
   processing_time_ms :   10 
}  
  
    OpenRTB JSON 
    顯示範例 
    
{ 
   "id" :   "U0t6Une80802A28Mi98o1t" , 
   "seatbid" :   [ 
     { 
       "bid" :   [ 
         { 
           "id" :   "300z78I726nCP7u4sFp" , 
           "impid" :   "1" , 
           "price" :   149.83914184570312 , 
           "adm" :   "<iframe marginwidth=0 marginheight=0 height=600 frameborder=0 width=160 scrolling=no src= \" https://test.com/ads?id=123456&curl= %% CLICK_URL_ESC %% &wprice= %% WINNING_PRICE_ESC %% \" ></iframe>" , 
           "crid" :   "test_creative_id_732353" , 
           "dealid" :   "0" , 
           "w" :   360 , 
           "h" :   715 , 
           "burl" :   "https://test.com/imp?id=123456" , 
           "ext" :   { 
             "event_notification_token" :   { 
               "payload" :   "token" 
             }, 
             "billing_id" :   "68640308112" , 
             "dsa" :   { 
               "adrender" :   1 
             }, 
             "clickurl" :   [ 
               "google.com" 
             ] 
           } 
         } 
       ] 
     } 
   ], 
   "cur" :   "JPY" , 
   "ext" :   { 
     "processing_time_ms" :   10 
   } 
}  
 
應用程式插頁式影片 
  
    OpenRTB Protobuf 
    顯示範例 
    序列化回應 
id :   "n40G42d551UX18627ao8lt" 
seatbid   { 
   bid   { 
     id :   "17u6BnD62h88r5q7066" 
     impid :   "1" 
     price :   0.797848 
     adm :   "https://video.test.com/ads?id=123456&wprice=%%WINNING_PRICE%%" 
     adomain :   "google.com" 
     crid :   "test_creative_id_987914" 
     w :   320 
     h :   480 
     cattax :   GOOGLE_CATEGORIES 
     [ com . google . doubleclick . bid ]   { 
       attribute :   47 
       attribute :   50 
       billing_id :   55383762512 
       skadn   { 
         version :   "4.0" 
         network :   "306el65O" 
         itunesitem :   "832461214" 
         sourceapp :   "977150768" 
         fidelities   { 
           fidelity :   VIEW_THROUGH_ADS 
           nonce :   "0054e0b9-0b53-4426-99dd-a1eefeb45565" 
           timestamp :   "1757329316673" 
           signature :   "oE3Ek8347oZV1Yl1J42G2c88BSKr2dqEbiOK2S4ni7NVDh3v128NN0hlzWK5aX96ecV1504E9k288i0t0wGX73P317812WE7" 
         } 
         fidelities   { 
           fidelity :   STOREKIT_RENDERED_ADS 
           nonce :   "0054e0b9-0b53-4426-99dd-a1eefeb45565" 
           timestamp :   "1757329316673" 
           signature :   "b1GqXA4v889p842512GQ1p3249q5VmPt1335f1H1zdK92fq24j7a7ml419W7u8B7rhhH97s507f2251923oWi89XF1voZv4b" 
         } 
         sourceidentifier :   "8396" 
       } 
       app_promotion_type :   INSTALLS 
       clickurl :   "google.com" 
     } 
   } 
} 
[ com . google . doubleclick . bid_response ]   { 
   processing_time_ms :   20 
}  
  
    OpenRTB JSON 
    顯示範例 
    
{ 
   "id" :   "n40G42d551UX18627ao8lt" , 
   "seatbid" :   [ 
     { 
       "bid" :   [ 
         { 
           "id" :   "17u6BnD62h88r5q7066" , 
           "impid" :   "1" , 
           "price" :   0.797848 , 
           "adm" :   "https://video.test.com/ads?id=123456&wprice=%%WINNING_PRICE%%" , 
           "adomain" :   [ 
             "google.com" 
           ], 
           "crid" :   "test_creative_id_987914" , 
           "w" :   320 , 
           "h" :   480 , 
           "cattax" :   500 , 
           "ext" :   { 
             "attribute" :   [ 
               47 , 
               50 
             ], 
             "billing_id" :   "55383762512" , 
             "skadn" :   { 
               "version" :   "4.0" , 
               "network" :   "306el65O" , 
               "itunesitem" :   "832461214" , 
               "sourceapp" :   "977150768" , 
               "fidelities" :   [ 
                 { 
                   "fidelity" :   0 , 
                   "nonce" :   "0054e0b9-0b53-4426-99dd-a1eefeb45565" , 
                   "timestamp" :   "1757329316673" , 
                   "signature" :   "oE3Ek8347oZV1Yl1J42G2c88BSKr2dqEbiOK2S4ni7NVDh3v128NN0hlzWK5aX96ecV1504E9k288i0t0wGX73P317812WE7" 
                 }, 
                 { 
                   "fidelity" :   1 , 
                   "nonce" :   "0054e0b9-0b53-4426-99dd-a1eefeb45565" , 
                   "timestamp" :   "1757329316673" , 
                   "signature" :   "b1GqXA4v889p842512GQ1p3249q5VmPt1335f1H1zdK92fq24j7a7ml419W7u8B7rhhH97s507f2251923oWi89XF1voZv4b" 
                 } 
               ], 
               "sourceidentifier" :   "8396" 
             }, 
             "app_promotion_type" :   1 , 
             "clickurl" :   [ 
               "google.com" 
             ] 
           } 
         } 
       ] 
     } 
   ], 
   "ext" :   { 
     "processing_time_ms" :   20 
   } 
}  
 
原生應用程式 
  
    OpenRTB Protobuf 
    顯示範例 
    序列化回應 
id :   "550102L8So5v6gi4C00T36" 
seatbid   { 
   bid   { 
     id :   "U796oSA426V3U666ue8" 
     impid :   "1" 
     price :   1.057860016822815 
     crid :   "test_creative_id_395811" 
     dealid :   "0" 
     adm_native   { 
       ver :   "1.2" 
       assets   { 
         id :   6 
         img   { 
           url :   "https://native.test.com/logo?id=123456" 
           w :   200 
           h :   200 
           type :   LOGO 
         } 
       } 
       assets   { 
         id :   5 
         img   { 
           url :   "https://native.test.com/image?id=123456" 
           w :   800 
           h :   800 
           type :   MAIN 
         } 
       } 
       assets   { 
         id :   4 
         data   { 
           value :   "Galactic Luxury Cruises" 
           type :   SPONSORED 
         } 
       } 
       assets   { 
         id :   3 
         data   { 
           value :   "Book today" 
           type :   CTATEXT 
         } 
       } 
       assets   { 
         id :   1 
         title   { 
           text :   "Luxury Mars Cruises" 
         } 
       } 
       assets   { 
         id :   2 
         data   { 
           value :   "Visit the planet in a luxury spaceship." 
           type :   DESC 
         } 
       } 
       link   { 
         url :   "https://www.google.com" 
       } 
     } 
     [ com . google . doubleclick . bid ]   { 
       impression_tracking_url :   "https://test.com/impression?id=123456" 
       impression_tracking_url :   "https://test.com/impression?id=123456" 
       ad_choices_destination_url :   "https://test.com/preferences" 
       event_notification_token   { 
         payload :   "token" 
       } 
       billing_id :   73917825312 
       dsa   { 
         adrender :   true 
       } 
       clickurl :   "google.com" 
     } 
   } 
} 
cur :   "JPY" 
[ com . google . doubleclick . bid_response ]   { 
   processing_time_ms :   17 
}  
  
    OpenRTB JSON 
    顯示範例 
    
{ 
   "id" :   "550102L8So5v6gi4C00T36" , 
   "seatbid" :   [ 
     { 
       "bid" :   [ 
         { 
           "id" :   "U796oSA426V3U666ue8" , 
           "impid" :   "1" , 
           "price" :   1.057860016822815 , 
           "crid" :   "test_creative_id_395811" , 
           "dealid" :   "0" , 
           "ext" :   { 
             "impression_tracking_url" :   [ 
               "https://test.com/impression?id=123456" , 
               "https://test.com/impression?id=123456" 
             ], 
             "ad_choices_destination_url" :   "https://test.com/preferences" , 
             "event_notification_token" :   { 
               "payload" :   "token" 
             }, 
             "billing_id" :   "73917825312" , 
             "dsa" :   { 
               "adrender" :   1 
             }, 
             "clickurl" :   [ 
               "google.com" 
             ] 
           }, 
           "adm" :   "{ \" ver \" : \" 1.2 \" , \" assets \" :[{ \" id \" :6, \" img \" :{ \" url \" : \" https://native.test.com/logo?id=123456 \" , \" w \" :200, \" h \" :200, \" type \" :2}},{ \" id \" :5, \" img \" :{ \" url \" : \" https://native.test.com/image?id=123456 \" , \" w \" :800, \" h \" :800, \" type \" :3}},{ \" id \" :4, \" data \" :{ \" value \" : \" Galactic Luxury Cruises \" , \" type \" :1}},{ \" id \" :3, \" data \" :{ \" value \" : \" Book today \" , \" type \" :12}},{ \" id \" :1, \" title \" :{ \" text \" : \" Luxury Mars Cruises \" }},{ \" id \" :2, \" data \" :{ \" value \" : \" Visit the planet in a luxury spaceship. \" , \" type \" :2}}], \" link \" :{ \" url \" : \" https://www.google.com \" }}" 
         } 
       ] 
     } 
   ], 
   "cur" :   "JPY" , 
   "ext" :   { 
     "processing_time_ms" :   17 
   } 
}  
 
網路影片 
  
    OpenRTB Protobuf 
    顯示範例 
    序列化回應 
id :   "04XK8XoQI227314y42h0LL" 
seatbid   { 
   bid   { 
     id :   "R9TtHE88cGu48FA4DuG" 
     impid :   "1" 
     price :   1.0523000955581665 
     adm :   "https://video.test.com/ads?id=123456&wprice= %% WINNING_PRICE %% " 
     crid :   "test_creative_id_400281" 
     dealid :   "45957820" 
     [ com . google . doubleclick . bid ]   { 
       event_notification_token   { 
         payload :   "token" 
       } 
       billing_id :   63495119434 
       dsa   { 
         adrender :   true 
       } 
       clickurl :   "google.com" 
     } 
   } 
} 
cur :   "JPY" 
[ com . google . doubleclick . bid_response ]   { 
   processing_time_ms :   11 
}  
  
    OpenRTB JSON 
    顯示範例 
    
{ 
   "id" :   "04XK8XoQI227314y42h0LL" , 
   "seatbid" :   [ 
     { 
       "bid" :   [ 
         { 
           "id" :   "R9TtHE88cGu48FA4DuG" , 
           "impid" :   "1" , 
           "price" :   1.0523000955581665 , 
           "adm" :   "https://video.test.com/ads?id=123456&wprice= %% WINNING_PRICE %% " , 
           "crid" :   "test_creative_id_400281" , 
           "dealid" :   "45957820" , 
           "ext" :   { 
             "event_notification_token" :   { 
               "payload" :   "token" 
             }, 
             "billing_id" :   "63495119434" , 
             "dsa" :   { 
               "adrender" :   1 
             }, 
             "clickurl" :   [ 
               "google.com" 
             ] 
           } 
         } 
       ] 
     } 
   ], 
   "cur" :   "JPY" , 
   "ext" :   { 
     "processing_time_ms" :   11 
   } 
}  
 
廣告交易平台出價方適用的行動版網站橫幅廣告 
  
    OpenRTB Protobuf 
    顯示範例 
    序列化回應 
id :   "1qCcL0350ZX64rx8WQm7N1" 
seatbid   { 
   bid   { 
     id :   "9I6TCG083egHnxY1490" 
     impid :   "1" 
     price :   0.34 
     adm :   "<iframe marginwidth=0 marginheight=0 height=600 frameborder=0 width=160 scrolling=no src= \" https://test.com/ads?id=123456&curl= %% CLICK_URL_ESC %% &wprice= %% WINNING_PRICE_ESC %% \" ></iframe>" 
     adomain :   "google.com" 
     crid :   "test_creative_id_607960" 
     w :   320 
     h :   100 
     [ com . google . doubleclick . bid ]   { 
       impression_tracking_url :   "https://test.com/impression?id=123456" 
       event_notification_token   { 
         payload :   "token" 
       } 
       billing_id :   29290087654 
       third_party_buyer_token :   "0W4u1J2Ya9GqKfzo925xPxN527l74y91z6P9h9b4s0Dg2t1q84O4S652wcHe63576VvK8aG6K7387yQujd13kdb99q75447qr6k332G4l3Mzhq75f155894Jg0U1vB18t73C24B4D1cd" 
     } 
   } 
   bid   { 
     id :   "1xHeg1ANn9RbY9n4rG2" 
     impid :   "1" 
     price :   0.2 
     adm :   "<iframe marginwidth=0 marginheight=0 height=600 frameborder=0 width=160 scrolling=no src= \" https://test.com/ads?id=123456&curl= %% CLICK_URL_ESC %% &wprice= %% WINNING_PRICE_ESC %% \" ></iframe>" 
     adomain :   "google.com" 
     crid :   "test_creative_id_607960" 
     w :   300 
     h :   50 
     [ com . google . doubleclick . bid ]   { 
       impression_tracking_url :   "https://test.com/impression?id=123456" 
       event_notification_token   { 
         payload :   "token" 
       } 
       third_party_buyer_token :   "ha1g9MaJIJ8R0110bkX95Jb0ksv78l4139zr4t98A19DDO6NCpX84TQp84a6H470M7mop5KzVHRyrJtn1zw78N1559WRm7554X7R21jnI0E1X7c10Xj98c08iH85742t76Y26H67cW78" 
     } 
   } 
   seat :   "3581:7507:419542" 
} 
seatbid   { 
   bid   { 
     id :   "x0ch5K0vq3iY6M7ZT84" 
     impid :   "1" 
     price :   0.11 
     adm :   "<iframe marginwidth=0 marginheight=0 height=600 frameborder=0 width=160 scrolling=no src= \" https://test.com/ads?id=123456&curl= %% CLICK_URL_ESC %% &wprice= %% WINNING_PRICE_ESC %% \" ></iframe>" 
     adomain :   "google.com" 
     crid :   "test_creative_id_607960" 
     w :   320 
     h :   50 
     [ com . google . doubleclick . bid ]   { 
       impression_tracking_url :   "https://test.com/impression?id=123456" 
       impression_tracking_url :   "https://test.com/impression?id=123456" 
       event_notification_token   { 
         payload :   "token" 
       } 
     } 
   } 
   seat :   "3581:7507:419542" 
} 
bidid :   "EFa8lD5s-3w28kZzd-4221-aZkE1F6r5810" 
[ com . google . doubleclick . bid_response ]   { 
   processing_time_ms :   250 
}  
  
    OpenRTB JSON 
    顯示範例 
    
{ 
   "id" :   "1qCcL0350ZX64rx8WQm7N1" , 
   "seatbid" :   [ 
     { 
       "bid" :   [ 
         { 
           "id" :   "9I6TCG083egHnxY1490" , 
           "impid" :   "1" , 
           "price" :   0.34 , 
           "adm" :   "<iframe marginwidth=0 marginheight=0 height=600 frameborder=0 width=160 scrolling=no src= \" https://test.com/ads?id=123456&curl= %% CLICK_URL_ESC %% &wprice= %% WINNING_PRICE_ESC %% \" ></iframe>" , 
           "adomain" :   [ 
             "google.com" 
           ], 
           "crid" :   "test_creative_id_607960" , 
           "w" :   320 , 
           "h" :   100 , 
           "ext" :   { 
             "impression_tracking_url" :   [ 
               "https://test.com/impression?id=123456" 
             ], 
             "event_notification_token" :   { 
               "payload" :   "token" 
             }, 
             "billing_id" :   "29290087654" , 
             "third_party_buyer_token" :   "0W4u1J2Ya9GqKfzo925xPxN527l74y91z6P9h9b4s0Dg2t1q84O4S652wcHe63576VvK8aG6K7387yQujd13kdb99q75447qr6k332G4l3Mzhq75f155894Jg0U1vB18t73C24B4D1cd" 
           } 
         }, 
         { 
           "id" :   "1xHeg1ANn9RbY9n4rG2" , 
           "impid" :   "1" , 
           "price" :   0.2 , 
           "adm" :   "<iframe marginwidth=0 marginheight=0 height=600 frameborder=0 width=160 scrolling=no src= \" https://test.com/ads?id=123456&curl= %% CLICK_URL_ESC %% &wprice= %% WINNING_PRICE_ESC %% \" ></iframe>" , 
           "adomain" :   [ 
             "google.com" 
           ], 
           "crid" :   "test_creative_id_607960" , 
           "w" :   300 , 
           "h" :   50 , 
           "ext" :   { 
             "impression_tracking_url" :   [ 
               "https://test.com/impression?id=123456" 
             ], 
             "event_notification_token" :   { 
               "payload" :   "token" 
             }, 
             "third_party_buyer_token" :   "ha1g9MaJIJ8R0110bkX95Jb0ksv78l4139zr4t98A19DDO6NCpX84TQp84a6H470M7mop5KzVHRyrJtn1zw78N1559WRm7554X7R21jnI0E1X7c10Xj98c08iH85742t76Y26H67cW78" 
           } 
         } 
       ], 
       "seat" :   "3581:7507:419542" 
     }, 
     { 
       "bid" :   [ 
         { 
           "id" :   "x0ch5K0vq3iY6M7ZT84" , 
           "impid" :   "1" , 
           "price" :   0.11 , 
           "adm" :   "<iframe marginwidth=0 marginheight=0 height=600 frameborder=0 width=160 scrolling=no src= \" https://test.com/ads?id=123456&curl= %% CLICK_URL_ESC %% &wprice= %% WINNING_PRICE_ESC %% \" ></iframe>" , 
           "adomain" :   [ 
             "google.com" 
           ], 
           "crid" :   "test_creative_id_607960" , 
           "w" :   320 , 
           "h" :   50 , 
           "ext" :   { 
             "impression_tracking_url" :   [ 
               "https://test.com/impression?id=123456" , 
               "https://test.com/impression?id=123456" 
             ], 
             "event_notification_token" :   { 
               "payload" :   "token" 
             } 
           } 
         } 
       ], 
       "seat" :   "3581:7507:419542" 
     } 
   ], 
   "bidid" :   "EFa8lD5s-3w28kZzd-4221-aZkE1F6r5810" , 
   "ext" :   { 
     "processing_time_ms" :   250 
   } 
}