# Bid Specification

## 1. Bid Request Specification

{% hint style="success" %}
**Object Model**

OpenRTB 스펙과 동일 (OpenRTB 스펙 3.1 Object Model 참고)
{% endhint %}

## 1-1. Object Specifications

### Object : Bid Request

<table data-full-width="false"><thead><tr><th>Attribute</th><th width="157.26953125">Type</th><th width="458.18359375">Description</th><th>kakao Description</th></tr></thead><tbody><tr><td>id</td><td>string; required</td><td>BidRequest의 고유 ID값</td><td>해당 값은 Bid Response의 “id”와 매핑</td></tr><tr><td>imp</td><td>object array; required</td><td><a href="#object-imp">Object: Imp</a> 참조</td><td></td></tr><tr><td>site</td><td>object; recommended</td><td><a href="#object-site">Object : Site</a> 참조</td><td></td></tr><tr><td>app</td><td>object; recommended</td><td><a href="#object-app">Object : App</a> 참조</td><td></td></tr><tr><td>device</td><td>object; recommended</td><td><a href="#object-device">Object : Device</a> 참조</td><td></td></tr><tr><td>user</td><td>object; recommended</td><td><a href="#object-user">Object : User</a> 참조</td><td></td></tr><tr><td>test</td><td>integer</td><td>0=live mode, <br>1= test mode</td><td>0</td></tr><tr><td>at</td><td>integer</td><td>1 = First Price</td><td></td></tr><tr><td>tmax</td><td>integer</td><td>Maximum time in milliseconds to submit a bid to avoid timeout.</td><td><p>180</p><p>(별도 협의 사항)</p></td></tr><tr><td>cur</td><td>string array</td><td>Array of allowed currencies for bids on this bid request using ISO-4217 alpha codes.</td><td>KRW, USD<br>(별도 협의 사항)</td></tr><tr><td>bcat</td><td>string array</td><td>Blocked advertiser categories using the IAB content categories.</td><td></td></tr><tr><td>badv</td><td>string array</td><td>Block list of advertisers by their domains (e.g., “ford.com”)</td><td></td></tr><tr><td>source</td><td>object</td><td><a href="#object-source">Object: Source</a> 참조</td><td></td></tr><tr><td>ext</td><td>object</td><td></td><td></td></tr></tbody></table>

### Object : Source

<table><thead><tr><th width="125">Attribute</th><th width="152.5859375">Type</th><th width="468.05859375">Description</th><th>kakao Description</th></tr></thead><tbody><tr><td>fd</td><td>Integer; recommended</td><td>Entity responsible for the final impression sale decision, where 0 = exchange, 1 = upstream source.</td><td></td></tr><tr><td>tid</td><td>string; recommended</td><td>Transaction ID that must be common across all participants in this bid request (e.g., potentially multiple exchanges).</td><td></td></tr><tr><td>schain</td><td>object; recommended</td><td>This object represents both the links in the supply chain as well as an indicator whether or not the supply chain is complete. Details via the SupplyChain object</td><td></td></tr><tr><td>ext</td><td>object</td><td>Placeholder for exchange-specific extensions to OpenRTB.</td><td></td></tr></tbody></table>

### Object : Regs

<table><thead><tr><th width="125">Attribute</th><th width="98">Type</th><th width="521.58984375">Description</th><th>kakao Description</th></tr></thead><tbody><tr><td>coppa</td><td>integer</td><td>Flag indicating if this request is subject to the COPPA regulations established by the USA FTC, where 0 = no, 1 = yes.</td><td>coppa=1인 앱의 경우 adid 전달되지 않음</td></tr><tr><td>ext</td><td>object</td><td>Placeholder for exchange-specific extensions to OpenRTB.</td><td></td></tr></tbody></table>

### Object : Imp

<table><thead><tr><th width="154">Attribute</th><th width="126.58203125">Type</th><th width="479.43359375">Description</th><th width="279">kakao Description</th></tr></thead><tbody><tr><td>id</td><td>string; required</td><td>A unique identifier for this impression within the context of the bid request</td><td>단일 imp.id를 통해 Multi-Ad-Format을 지원 가능 <br>(Banner Object &#x26; Native Object)</td></tr><tr><td>banner</td><td>object</td><td><a href="#object-banner">Object : Banner</a> 참조</td><td></td></tr><tr><td>native</td><td>object</td><td><a href="#object-native">Object : Native</a> 참조</td><td>1.2</td></tr><tr><td>pmp</td><td>object</td><td>A <a href="#object-pmp">Pmp object</a> containing any private marketplace deals in effect for this impression.</td><td></td></tr><tr><td>displaymanager</td><td>string</td><td>Name of ad mediation partner, SDK technology, or player responsible for rendering ad (typically video or mobile).</td><td>카카오 SDK를 심은 경우 “adfit”으로 전달함</td></tr><tr><td>displaymanagerver</td><td>string</td><td>Version of ad mediation partner, SDK technology, or player responsible for rendering ad (typically video or mobile).</td><td></td></tr><tr><td>tagid</td><td>string</td><td>Identifier for specific ad placement of ad tag that was used to initiate the auction</td><td></td></tr><tr><td>bidfloor</td><td>float</td><td>Minimum bid for this impression expressed in CPM.</td><td></td></tr><tr><td>bidfloorcur</td><td>string</td><td>Currency specified using ISO-4217 alpha codes.</td><td>KRW, USD<br>(cur와 동일)</td></tr><tr><td>secure</td><td>integer</td><td>0=non-secure, 1=secure.</td><td></td></tr><tr><td>rwdd</td><td>integer; default 0</td><td>Indicates whether the user receives a reward for viewing the ad, where 0 = no, 1 = yes. </td><td>보상형 동영상 상품의 경우, 1로 전달함</td></tr><tr><td>ext</td><td>object</td><td>Placeholder for exchange-specific extensions to OpenRTB.</td><td>보상형 동영상 상품의 경우, "rewarded": 1도 추가 전달함</td></tr></tbody></table>

### Object : Banner

<table><thead><tr><th width="152">Attribute</th><th width="131.69140625">Type</th><th width="465.89453125">Description</th><th>kakao Description</th></tr></thead><tbody><tr><td>format</td><td>object array; recommended</td><td><a href="#object-format">Object: format</a> 참조</td><td>다중 사이즈 송출 가능한 지면 요청 시 사용</td></tr><tr><td>w</td><td>integer</td><td>Exact width in device independent pixels.</td><td></td></tr><tr><td>h</td><td>integer</td><td>Exact height in device independent pixels</td><td></td></tr><tr><td>battr</td><td>Integer array</td><td>Block creative attributes.</td><td>6,7</td></tr><tr><td>id</td><td>string</td><td>Unique identifier for this banner object.</td><td></td></tr><tr><td>vcm</td><td>integer</td><td>Relevant only for Banner objects used with a Video object in an array of companion ads. Indicates the companion banner rendering mode relative to the associated video, where 0 = concurrent, 1 = end-card.</td><td>보상형 동영상 상품의 경우 1로 전달함</td></tr><tr><td>ext</td><td>object</td><td></td><td></td></tr></tbody></table>

### Object : Video

{% hint style="danger" %}
NA Video 연동의 경우, Video 대상 DSP 분리가 필요할 수 있습니다.
{% endhint %}

<table><thead><tr><th width="159.34765625">Attribute</th><th>Type</th><th width="461.9375">Description</th><th>kakao Description</th></tr></thead><tbody><tr><td>mimes</td><td>string array</td><td>Content MIME types supported</td><td>video/mp4</td></tr><tr><td>minduration</td><td>integer</td><td>Minimum video ad duration in seconds</td><td>>=0</td></tr><tr><td>maxduration</td><td>integer</td><td>Maximum video ad duration in seconds</td><td>>0</td></tr><tr><td>protocols</td><td>integer array</td><td>Array of supported video protocols. Refer to <a href="https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/master/AdCOM%20v1.0%20FINAL.md#list--creative-subtypes---audiovideo-">List: Creative Subtypes - Audio/Video</a> in AdCOM 1.0.</td><td>2,3 지원</td></tr><tr><td>w</td><td>integer</td><td>Width of the video player in device independent pixels (DIPS)</td><td></td></tr><tr><td>h</td><td>integer</td><td>Height of the video player in device independent pixels (DIPS)</td><td></td></tr><tr><td>plcmt</td><td>integer</td><td>Video placement type for the impression. Refer to <a href="https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/main/AdCOM%20v1.0%20FINAL.md#list_plcmtsubtypesvideo">List: Plcmt Subtypes - Video</a> in AdCOM 1.0.</td><td></td></tr><tr><td>linearity</td><td>integer</td><td><p>Indicates if the impression must be linear, nonlinear, etc. If none specified, assume all are allowed. </p><p>Refer to <a href="https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/main/AdCOM%20v1.0%20FINAL.md#list--linearity-modes-">List: Linearity Modes</a> in AdCOM 1.0. </p></td><td>1</td></tr><tr><td>skip</td><td>integer</td><td>Indicates if the player will allow the video to be skipped,<br>where 0 = no, 1 = yes.</td><td></td></tr><tr><td>startdelay</td><td>integer</td><td>Indicates the start delay in seconds for pre-roll, mid-roll, or post-roll ad placements.</td><td>Pre-roll, mid-roll만 지원됨</td></tr><tr><td>battr</td><td>integer array</td><td>Blocked creative attributes. Refer to <a href="https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/main/AdCOM%20v1.0%20FINAL.md#list--creative-attributes-">List: Creative Attributes</a> in AdCOM 1.0.</td><td></td></tr><tr><td>minbitrate</td><td>integer</td><td>Minimum bit rate in Kbps.</td><td></td></tr><tr><td>maxbitrate</td><td>integer</td><td>Maximum bit rate in Kbps</td><td></td></tr><tr><td>playbackmethod</td><td>integer array</td><td>Playback methods that may be in use. If none are specified, any method may be used. Refer to <a href="https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/main/AdCOM%20v1.0%20FINAL.md#list--playback-methods-">List: Playback Methods </a>in AdCOM 1.0. </td><td>2</td></tr><tr><td>delivery</td><td>integer array</td><td>Supported delivery methods. If none specified, assume all are supported. Refer to <a href="https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/main/AdCOM%20v1.0%20FINAL.md#list--delivery-methods-">List: Delivery Methods</a> in AdCOM 1.0</td><td>2</td></tr><tr><td>pos</td><td>integer</td><td>Ad position on screen. Refer to <a href="https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/main/AdCOM%20v1.0%20FINAL.md#list--placement-positions-">List: Placement Positions</a> in AdCOM 1.0.</td><td></td></tr><tr><td>companionad</td><td>object array</td><td>Array of <a href="#object-banner">Banner</a> objects if companion ads are available.</td><td></td></tr><tr><td>companiontype</td><td>integer array</td><td>Supported VAST companion ad types. Refer to <a href="https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/main/AdCOM%20v1.0%20FINAL.md#list--companion-types-">List:<br>Companion Types</a> in AdCOM 1.0. Recommended if companion Banner objects are included via the companionad array. If one of these banners will be rendered as an end-card, this can be specified using the vcm attribute with the particular banner.</td><td></td></tr><tr><td>ext</td><td>object</td><td></td><td></td></tr></tbody></table>

### Object : Native

<table><thead><tr><th width="142">Attribute</th><th width="142.0859375">Type</th><th width="463.15234375">Description</th><th>kakao Description</th></tr></thead><tbody><tr><td>request</td><td><p>string;</p><p>required  </p></td><td>Request payload complying with the Native Ad Specification.</td><td></td></tr><tr><td>ver</td><td><p>string;  </p><p>recommended</p></td><td>Version of the Dynamic Native Ads API to which request complies</td><td>eventtrackers응답에 따라 1.1과 1.2로 구분 필요</td></tr><tr><td>ext</td><td>object</td><td></td><td></td></tr></tbody></table>

### Object : Format

<table><thead><tr><th width="165">Attribute</th><th>Type</th><th width="428.34765625">Description</th><th>kakao Description</th></tr></thead><tbody><tr><td>w</td><td>integer </td><td>Width in device independent pixels</td><td></td></tr><tr><td>h</td><td>integer</td><td>Height in device independent pixels</td><td></td></tr></tbody></table>

### Object : Pmp

<table><thead><tr><th width="165">Attribute</th><th>Type</th><th width="432.109375">Description</th><th width="202.30078125">kakao Description</th></tr></thead><tbody><tr><td>private_auction</td><td>integer </td><td>Indicator of auction eligibility to seats named in the Direct Deals object, where 0 = all bids are accepted, 1 = bids are restricted to the deals specified and the terms thereof.</td><td>0인 경우, pmp하위 값 전달하지 않음</td></tr><tr><td>deals</td><td>object array</td><td>Array of <a href="#object-deal">Deal objects</a> that convey the<br>specific deals applicable to this impression.</td><td></td></tr><tr><td>ext</td><td>object</td><td>Placeholder for exchange-specific extensions to OpenRTB.</td><td></td></tr></tbody></table>

### Object : Deal

<table><thead><tr><th width="165">Attribute</th><th width="137.15234375">Type</th><th width="440.14453125">Description</th><th>kakao Description</th></tr></thead><tbody><tr><td>id</td><td>string; required </td><td>A unique identifier for the direct deal.</td><td></td></tr><tr><td>bidfloor</td><td>float; default 0</td><td>Minimum bid for this impression expressed in CPM.</td><td></td></tr><tr><td>bidfloorcur</td><td>string;</td><td>Currency specified using ISO-4217 alpha codes. This may be different from bid currency returned by bidder if this is allowed by the exchange.</td><td>BidRequest.cur와 동일한 값으로 전달</td></tr><tr><td>at</td><td>integer</td><td>Optional override of the overall auction type of the bid request, where 1 = First Price, 2 = Second Price Plus, 3 = the value passed in bidfloor is the agreed upon deal price. Additional auction types can be defined by the exchange.</td><td></td></tr><tr><td>ext</td><td>object</td><td>Placeholder for exchange-specific extensions to OpenRTB.</td><td></td></tr></tbody></table>

### Object : Site

{% hint style="warning" %}
다음 앱은 web 환경으로 (하이브리드 앱) App Object가 아닌 Site Object로 전달됩니다. (다음 홈 탭 지면 제외)
{% endhint %}

<table><thead><tr><th width="165">Attribute</th><th>Type</th><th width="451.296875">Description</th><th>kakao Description</th></tr></thead><tbody><tr><td>id</td><td>string </td><td>Exchange-specific site Id.</td><td></td></tr><tr><td>domain</td><td>string</td><td>Domain of the site (e.g., “mysite.foo.com”).</td><td></td></tr><tr><td>cat</td><td>string array</td><td>Array of IAB content categories of the site.</td><td></td></tr><tr><td>page</td><td>string</td><td>URL of the page where the impression will be shown</td><td></td></tr><tr><td>publisher</td><td>object</td><td><a href="#object-publisher">Object : Publisher</a> 참조</td><td></td></tr><tr><td>content</td><td>object</td><td><a href="#object-content">Object : Content</a> 참조</td><td></td></tr><tr><td>ext</td><td>object</td><td></td><td></td></tr></tbody></table>

### Object : App

{% hint style="warning" %}
다음 홈 탭 지면의 경우 App Object로 전달됩니다.
{% endhint %}

<table><thead><tr><th width="165">Attribute</th><th>Type</th><th width="451.12109375">Description</th><th>kakao Description</th></tr></thead><tbody><tr><td>id</td><td>string </td><td>Exchange-specific site Id.</td><td></td></tr><tr><td>bundle</td><td>string</td><td>A platform-specific application identifier intended to be unique to the app and independent of the exchange ( Android: bundle or package name/ iOS : typically a numeric ID)</td><td></td></tr><tr><td>storeurl</td><td>string</td><td>App store URL for an installed app</td><td></td></tr><tr><td>cat</td><td>string array</td><td>Array of IAB content categories of the app.</td><td></td></tr><tr><td>publisher</td><td>object</td><td><a href="#object-publisher">Object : Publisher</a> 참조</td><td></td></tr><tr><td>content</td><td>object</td><td><a href="#object-content">Object : Content</a> 참조</td><td></td></tr><tr><td>ext</td><td>object</td><td></td><td></td></tr></tbody></table>

### Object : Publisher

<table><thead><tr><th width="119">Attribute</th><th width="110">Type</th><th width="513.171875">Description</th><th width="314.82421875">kakao Description</th></tr></thead><tbody><tr><td>id</td><td>string</td><td>Exchange-specific publisher ID</td><td>Partner User ID, partner_id</td></tr><tr><td>name</td><td>string</td><td>Publisher name</td><td><p>One of the following</p><ul><li>“DAUM”: daum.net</li><li>“TALK”: Kakao Talk</li><li>“KAKAO_SERVICE”: Kakao Story, Other kakao Service</li><li>“GENERAL”: Other publishers that joined to kakao’s SSP server, “ADFIT”</li></ul></td></tr><tr><td>domain</td><td>string</td><td>Highest level domain of the publisher</td><td></td></tr><tr><td>ext</td><td>object</td><td></td><td></td></tr></tbody></table>

### Object : Content

<table><thead><tr><th width="137">Attribute</th><th width="110">Type</th><th width="488.10546875">Description</th><th>kakao Description</th></tr></thead><tbody><tr><td>id</td><td>string</td><td>ID uniquely identifying the content</td><td></td></tr><tr><td>title</td><td>string</td><td>Content Title</td><td></td></tr><tr><td>livestream</td><td>integer</td><td>0=not live 1=content is live</td><td></td></tr><tr><td>len</td><td>integer</td><td>Length of content in seconds</td><td>영상 길이 (live인 경우 null)</td></tr><tr><td>cat</td><td>string array</td><td>IAB content category</td><td></td></tr></tbody></table>

### Object : Device

<table><thead><tr><th width="123">Attribute</th><th width="144">Type</th><th width="473.41796875">Description</th><th>kakao Description</th></tr></thead><tbody><tr><td>ua</td><td>string; recommended</td><td>Browser user agent string</td><td></td></tr><tr><td>sua</td><td>UserAgent object</td><td>Structured user agent information defined by a UserAgent object (<a href="#object-useragent">Object : UserAgent</a> 참조)</td><td></td></tr><tr><td>dnt</td><td>integer; recommended</td><td>0= tracking is unrestricted, 1=do not track</td><td></td></tr><tr><td>lmt</td><td>integer; recommended</td><td>0=tracking is unrestricted, 1=tracking must be limited per commercial guidelines</td><td></td></tr><tr><td>ip</td><td>string; recommended</td><td>IPv4 address closet to device</td><td><p>Ip는 3옥텟까지 제공</p><p>(e.g., "xxx.xx.xx")</p></td></tr><tr><td>make</td><td>string</td><td>Device make (e.g., “Apple”).</td><td></td></tr><tr><td>model</td><td>string</td><td>Device model (e.g., “iPhone”).</td><td></td></tr><tr><td>os</td><td>string</td><td>Device operating system (e.g., “iOS”).</td><td></td></tr><tr><td>osv</td><td>string</td><td>Device operating system version (e.g., “3.1.2”)</td><td></td></tr><tr><td>hwv</td><td>string</td><td>Hardware version of the device (e.g., “5S” for iPhone 5S).</td><td></td></tr><tr><td>h</td><td>integer</td><td>Physical height of the screen in pixels</td><td></td></tr><tr><td>w</td><td>integer</td><td>Physical width of the screen in pixels</td><td></td></tr><tr><td>ppi</td><td>integer</td><td>Screen size as pixels per linear inch</td><td></td></tr><tr><td>pxratio</td><td>float</td><td>The ratio of physical pixels to device independent pixels</td><td></td></tr><tr><td>language</td><td>string</td><td>Browser language using ISO-639-1-alpha-2.</td><td></td></tr><tr><td>ifa</td><td>string</td><td>ID sanctioned for advertiser use in the clear</td><td></td></tr><tr><td>ext</td><td>object</td><td></td><td></td></tr></tbody></table>

### Object : User

<table><thead><tr><th width="128">Attribute</th><th width="141">Type</th><th width="466.5859375">Description</th><th>kakao Description</th></tr></thead><tbody><tr><td>id</td><td>string; recommended</td><td>Exchange-specific ID for the user.</td><td>Partner User ID, partner-uid (cookie matching)</td></tr><tr><td>ext</td><td>object</td><td></td><td></td></tr></tbody></table>

### Object : Supply Chain

<table><thead><tr><th width="128">Attribute</th><th width="141">Type</th><th width="476.77734375">Description</th><th>kakao Description</th></tr></thead><tbody><tr><td>complete</td><td>integer; required</td><td>Flag indicating whether the chain contains all nodes involved in the transaction leading back to the owner of the site, app or other medium of the inventory, where 0 = no, 1 = yes.</td><td></td></tr><tr><td>nodes</td><td>object array; required</td><td>Array of SupplyChainNode objects in the order of the chain. In a complete supply chain, the first node represents the initial OpenRTB 2.6 © 2021 IAB Technology Laboratory iabtechlab.com/openrtb Page 34 of 85 advertising system and seller ID involved in the transaction, i.e. the owner of the site, app, or other medium. In an incomplete supply chain, it represents the first known node. The last node represents the entity sending this bid request.</td><td></td></tr><tr><td>ver</td><td>string; required</td><td>Version of the supply chain specification in use, in the format of “major.minor”. For example, for version 1.0 of the spec, use the string “1.0”.</td><td></td></tr><tr><td>ext</td><td>object</td><td>Placeholder for advertising-system specific extensions to this object</td><td></td></tr></tbody></table>

### Object : SupplyChainNode

<table><thead><tr><th width="118">Attribute</th><th width="162">Type</th><th width="466.6171875">Description</th><th>kakao Description</th></tr></thead><tbody><tr><td>asi</td><td>string; required</td><td>The canonical domain name of the SSP, Exchange, Header Wrapper, etc system that bidders connect to. This may be the operational domain of the system, if that is different than the parent corporate domain, to facilitate WHOIS and reverse IP lookups to establish clear ownership of the delegate system. This should be the same value as used to identify sellers in an ads.txt file if one exists..</td><td></td></tr><tr><td>sid</td><td>string; required</td><td>The identifier associated with the seller or reseller account within the advertising system. This must contain the same value used in transactions (i.e. OpenRTB bid requests) in the field specified by the SSP/exchange. Typically, in OpenRTB, this is publisher.id. For OpenDirect it is typically the publisher’s organization ID.Should be limited to 64 characters in length.</td><td></td></tr><tr><td>rid</td><td>string</td><td>The OpenRTB RequestId of the request as issued by this seller.</td><td></td></tr><tr><td>hp</td><td>integer</td><td>Indicates whether this node will be involved in the flow of payment for the inventory. When set to 1, the advertising system in the asi field pays the seller in the sid field, who is responsible for paying the previous node in the chain. When set to 0, this node is not involved in the flow of payment for the inventory. For version 1.0 of SupplyChain, this property should always be 1. Implementers should ensure that they propagate this field onwards when constructing SupplyChain objects in bid requests sent to a downstream advertising system.</td><td></td></tr></tbody></table>

### Object : UserAgent

<table><thead><tr><th width="118">Attribute</th><th width="162">Type</th><th width="466.6484375">Description</th><th>kakao Description</th></tr></thead><tbody><tr><td>browsers</td><td><p>array of </p><p>BrandVersion objects; </p><p>recommended</p></td><td>Each BrandVersion object (<a href="#object-brandversion">Object : BrandVersion</a> 참조) identifies a browser or similar software component. Implementers should send brands and versions derived from the Sec-CH-UA-Full-Version-List header*.</td><td></td></tr><tr><td>platform</td><td><p>BrandVersion object; </p><p>recommended</p></td><td>A BrandVersion object (<a href="#object-brandversion">Object : BrandVersion</a> 참조) that identifies the user agent’s execution platform / OS. Implementers should send a brand derived from the Sec-CH-UA-Platform header, and version derived from the Sec-CH-UAPlatform-Version header *.</td><td></td></tr><tr><td>mobile</td><td>integer</td><td>1 if the agent prefers a “mobile” version of the content, if available, i.e. optimized for small screens or touch input. 0 if the agent prefers the “desktop” or “full” content. Implementers should derive this value from the Sec-CH-UAMobile header *.</td><td></td></tr><tr><td>model</td><td>string</td><td>Device model. Implementers should retrieve this value from the Sec-CH-UAModel header*.</td><td></td></tr><tr><td>source</td><td>integer</td><td>The source of data used to create this object, <a href="https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/main/AdCOM%20v1.0%20FINAL.md#list--user-agent-source-">List: User-Agent Source</a> in AdCOM 1.0</td><td></td></tr></tbody></table>

### Object : BrandVersion

<table><thead><tr><th width="120">Attribute</th><th width="141">Type</th><th width="483.93359375">Description</th><th>kakao Description</th></tr></thead><tbody><tr><td>brand</td><td>string; required</td><td>A brand identifier, for example, “Chrome” or “Windows”. The value may be sourced from the User-Agent Client Hints headers, representing either the user agent brand (from the Sec-CH-UA-Full-Version header) or the platform brand (from the Sec-CH-UA-Platform header).</td><td></td></tr><tr><td>version</td><td>string array</td><td>A sequence of version components, in descending hierarchical order (major, minor, micro, …)</td><td></td></tr></tbody></table>

### Object : BidRequest.ext

<table><thead><tr><th width="120">Attribute</th><th width="141">Type</th><th width="558.60546875">kakao Description</th></tr></thead><tbody><tr><td>blockadkey</td><td>string array</td><td>중복 광고 노출 제한 관련 기준 값 (<a href="../appendix#id-4.-blockadkey">상세 설명</a>)</td></tr></tbody></table>

## 1-2. Native Ad Request Markup Details

{% hint style="warning" %}
Native Specification version 에 따라 일부 object가 다르게 요청됨 (1.1 ver., 1.2 ver.)
{% endhint %}

### Object : Native Markup Request

<table><thead><tr><th width="135.3125">Attribute</th><th width="158.875">Type</th><th width="448.83984375">Description</th><th width="242.76953125">kakao Description</th></tr></thead><tbody><tr><td>ver</td><td>string</td><td>Version of the Native Markup<br>version in use.</td><td>1.2</td></tr><tr><td>plcmtcnt</td><td>integer; default 1</td><td>The number of identical placements in this Layout.</td><td></td></tr><tr><td>assets</td><td>array of objects; required </td><td><a href="#object-asset">Object : Assets</a> 참조</td><td></td></tr><tr><td>assetslist</td><td>array of objects</td><td><a href="#object-asset">Object : Assets</a> 참조</td><td>multiasset을 지원하는 경우,  assetslist 하위 array로 전달</td></tr><tr><td>eventtrackers</td><td>array of<br>objects</td><td>Specifies what type of event<br>tracking is supported - see <a href="#object-event-trackers">Event Trackers Request Object</a></td><td></td></tr><tr><td>ext</td><td>object</td><td></td><td></td></tr></tbody></table>

### Object : Asset

<table><thead><tr><th width="123">Attribute</th><th width="165.41796875">Type</th><th width="447.921875">Description</th><th>kakao Description</th></tr></thead><tbody><tr><td>id</td><td>integer; required</td><td>Unique asset ID, assigned by exchange</td><td></td></tr><tr><td>required</td><td>integer</td><td></td><td></td></tr><tr><td>title</td><td>object; recommended</td><td><a href="#object-title">Object : Title</a> 참조</td><td></td></tr><tr><td>img</td><td>object; recommended</td><td><a href="#object-image">Object : Image</a> 참조</td><td></td></tr><tr><td>video</td><td>object</td><td><a href="#object-video-1">Object : video</a> 참조</td><td></td></tr><tr><td>data</td><td>object; recommended</td><td><a href="#object-data">Object : Data</a> 참조</td><td></td></tr><tr><td>ext</td><td>object</td><td></td><td></td></tr></tbody></table>

### Object : Title

<table><thead><tr><th width="123">Attribute</th><th width="160.7890625">Type</th><th width="454.671875">Description</th><th>kakao Description</th></tr></thead><tbody><tr><td>len</td><td>integer; required</td><td>Maximum length of the text in the title element</td><td></td></tr><tr><td>ext</td><td>object</td><td></td><td></td></tr></tbody></table>

### Object : Image

<table><thead><tr><th width="123">Attribute</th><th width="145.93359375">Type</th><th width="469.76953125">Description</th><th width="302.80859375">kakao Description</th></tr></thead><tbody><tr><td>type</td><td>integer</td><td>Type ID of the image element supported by the publisher</td><td><p>1: 프로필 이미지 (300x300)<br>2 : Logo <br>* 필수 에셋 중 안내된 프로필이미지, 메인 이미지 외 광고아이콘만 받고 있음<br>3 : Main Image<br>701 : 동영상 엔드캡 이미지 (1280x720) 702: 배너 이미지 (비즈보드 사용)</p><p>703 : Opt-Out</p></td></tr><tr><td>w</td><td>integer</td><td>Width of the image in pixels</td><td></td></tr><tr><td>h</td><td>integer</td><td>Height of the image in pixels</td><td></td></tr><tr><td>ext</td><td>object</td><td></td><td></td></tr></tbody></table>

### Object : Video

<table><thead><tr><th width="123">Attribute</th><th width="185.296875">Type</th><th width="433.67578125">Description</th><th>kakao Description</th></tr></thead><tbody><tr><td>mimes</td><td>Array of string; required</td><td>Content MIME types supported</td><td>Video/mp4만 가능</td></tr><tr><td>minduration</td><td>integer; required</td><td>Minimum video ad duration in seconds</td><td>>=0</td></tr><tr><td>maxduration</td><td>integer; required</td><td>Maximum video ad duration in seconds</td><td>>0</td></tr><tr><td>protocols</td><td>array of<br>integers; required</td><td>An array of video protocols the publisher can accept in the vid response.</td><td>Vast3.0만 지원</td></tr><tr><td>w</td><td>integer</td><td>Width of the video player in device independent pixels (DIPS).</td><td></td></tr><tr><td>h</td><td>integer</td><td>Height of the video player in device independent pixels (DIPS).</td><td></td></tr></tbody></table>

### Object : Data

<table><thead><tr><th width="113.8203125">Attribute</th><th width="180.87890625">Type</th><th width="429.13671875">Description</th><th width="282.60546875">kakao Description</th></tr></thead><tbody><tr><td>type</td><td>integer; required</td><td>Type ID of the element supported by the publisher</td><td><ul><li>1: 프로필명 (20자)</li><li>2: 광고 문구 (45자) </li><li><p>12 : CTAtext (6자)</p><ul><li>CTA는 <a href="https://kakaobusiness.gitbook.io/dsp/dsp-1#id-2-1-1-1-16-9">항목</a> 중 선택하여 등록  가능</li></ul></li><li>701 : 소재 설명 (45자)</li></ul></td></tr><tr><td>len</td><td>integer</td><td>Maximum length of the text in the elements response</td><td></td></tr><tr><td>ext</td><td>object</td><td></td><td></td></tr></tbody></table>

### Object : Event Trackers

{% hint style="warning" %}
Native **1.2 ver**.로 연동한 경우에만 해당됨
{% endhint %}

<table><thead><tr><th width="108.390625">Attribute</th><th width="171.12890625">Type</th><th width="455.51171875">Description</th><th width="226.703125">kakao Description</th></tr></thead><tbody><tr><td>event</td><td>integer; required</td><td>Type of event available for tracking. See <a href="../appendix#event-types-table">Event Types table</a>.</td><td><ul><li>1: imptrackers</li><li>2: vimptrackers</li><li>500: hidetrackers</li></ul></td></tr><tr><td>methods</td><td>array of<br>integers; required</td><td>Array of the types of tracking available for the given event. See <a href="../appendix#event-tracking-methods-table">Event Tracking Methods table.</a></td><td></td></tr><tr><td>ext</td><td>object</td><td>This object is a placeholder that may contain custom JSON agreed to by the parties to support flexibility beyond the standard defined in this specification</td><td></td></tr></tbody></table>

## 2. Bid Response Specification

{% hint style="success" %}
**Object Model**

OpenRTB 스펙과 동일 (OpenRTB 스펙 4.2 Object Model 참고)
{% endhint %}

## 2-1. Object Specification

### Object : Bid Response

<table><thead><tr><th width="120">Attribute</th><th width="141">Type</th><th width="485.55078125">Description</th><th>kakao Description</th></tr></thead><tbody><tr><td>id</td><td>string; required</td><td>ID of the bid request to which this is a response.</td><td></td></tr><tr><td>seatbid</td><td>object array</td><td>Array of seatbid objects; 1+ required if a bid is to be made.</td><td>단일 seatbid만 처리 가능</td></tr><tr><td>bidid</td><td>string</td><td>Bidder generated response ID to assist with logging/tracking.</td><td></td></tr><tr><td>cur</td><td>string</td><td>Bid currency using ISO-4217 alpha codes.</td><td>KRW, USD</td></tr><tr><td>nbr</td><td>integer</td><td>Reason for not bidding. Refer to List: <a href="https://github.com/InteractiveAdvertisingBureau/openrtb/blob/main/OpenRTB%20v3.0%20FINAL.md#list--no-bid-reason-codes-">No-Bid Reason Codes</a> in<br>OpenRTB 3.0.</td><td></td></tr><tr><td>ext</td><td>object</td><td></td><td></td></tr></tbody></table>

### Object : Seatbid

<table><thead><tr><th width="120">Attribute</th><th width="141">Type</th><th width="464.44921875">Description</th><th width="288.56640625">kakao Description</th></tr></thead><tbody><tr><td>bid</td><td>object array; required</td><td><a href="#object-bid">Object : bid</a> 참조<br> Array of 1+ bid objects each related to an impression.</td><td>native.plcmtcnt 이하의 광고 응답 수에 대해 처리 가능</td></tr><tr><td>seat</td><td>string</td><td>ID of the buyer seat on whose behalf this bid is made.</td><td></td></tr><tr><td>ext</td><td>object</td><td></td><td></td></tr></tbody></table>

### Object : Bid

<table><thead><tr><th width="127">Attribute</th><th width="154">Type</th><th width="451.91015625">Description</th><th width="306.27734375">kakao Description</th></tr></thead><tbody><tr><td>id</td><td>string; required</td><td>Bidder generated bid ID to assist with logging/tracking</td><td></td></tr><tr><td>impid</td><td>string; required</td><td>ID of the Imp object in the related bid request</td><td></td></tr><tr><td>price</td><td>float; required</td><td>Bid Price expressed as CPM although the actual transaction is for a unit impression only.</td><td></td></tr><tr><td>nurl</td><td>string</td><td>Win notice URL called by the exchange if the bid wins.</td><td></td></tr><tr><td>lurl</td><td>string</td><td>Loss notice URL called by the exchange when a bid is known to have been lost.</td><td>${AUCTION_MIN_TO_WIN}, ${AUCTION_LOSS} 지원</td></tr><tr><td>adm</td><td>string; required</td><td>Optional means of conveying ad markup in case the bid wins.</td><td>완전한 HTML만 지원함</td></tr><tr><td>adid</td><td>string; required</td><td>ID of a preloaded ad to be served if the bid wins.</td><td></td></tr><tr><td>adomain</td><td>string arrary; required</td><td>Advertiser domain for block list checking</td><td></td></tr><tr><td>cid</td><td>string; required</td><td>Campaign ID to assist with ad quality checking</td><td></td></tr><tr><td>crid</td><td>string; required</td><td>Creative ID to assist with ad quality checking</td><td></td></tr><tr><td>cat</td><td>string arrary; required</td><td>IAB content categories of the creative.</td><td></td></tr><tr><td>w</td><td>integer; required</td><td>Width of the creative in device independent pixels</td><td></td></tr><tr><td>h</td><td>integer; required</td><td>Height of the creative in device independent pixels</td><td></td></tr><tr><td>dur</td><td>integer</td><td>Duration of the video or audio creative in seconds.</td><td></td></tr><tr><td>mtype</td><td>integer</td><td><p>Type of the creative markup.</p><p>Values:<br>1 = Banner<br>2 = Video<br>3 = Audio<br>4 = Native</p></td><td></td></tr><tr><td>ext</td><td>object</td><td></td><td></td></tr></tbody></table>

## 2-2. Native Ad Response Markup Details

### Object : Native Markup Response

<table><thead><tr><th width="141.734375">Attribute</th><th width="164.26953125">Type</th><th width="432.95703125">Description</th><th width="221.2109375">kakao Description</th></tr></thead><tbody><tr><td>ver</td><td>string; recommended</td><td>Version of the Native Markup<br>version in use.</td><td>1.1과 1.2에 따라 eventtrackers 응답을 달리하여야 함</td></tr><tr><td>assets</td><td>array of objects; required</td><td><a href="#object-asset-1">Object : Asset</a> 참조</td><td></td></tr><tr><td>link</td><td>object; required</td><td><a href="#object-link">Object : Link</a> 참조 Destination Link. This is default link object for the ad. Individual assets can also have a link object which applies if the asset is activated. If the asset doesn’t have a link object , the parent link object applies</td><td></td></tr><tr><td>imptrackers</td><td>array of objects; required</td><td><p></p><p>Array of impression tracking URLs, expected to return a 1x1 image or 204 response - typically only passed when using 3rd party trackers. To be deprecated - replaced with eventtrackers.</p></td><td><ul><li>최대 5개까지만 응답 가능</li><li>1.2ver 인 경우, eventtrackers.event=1로 응답해야 함</li></ul></td></tr><tr><td>eventtrackers</td><td>Array of<br>objects</td><td><p>Array of tracking objects to run with the ad, in response to the declared supported methods in the request. </p><p>Replaces imptrackers and jstracker, to be deprecated.</p></td><td>1.2ver 로 응답하는 경우에 해당</td></tr><tr><td>ext</td><td>object</td><td></td><td>object : ext 참조</td></tr></tbody></table>

### Object : Asset

<table><thead><tr><th width="154.9765625">Attribute</th><th width="167.1953125">Type</th><th width="438.828125">Description</th><th width="470.953125">kakao Description</th></tr></thead><tbody><tr><td>id</td><td>integer; required</td><td>Unique asset ID, assigned by exchange, must match one of the asset IDs in request</td><td></td></tr><tr><td>title</td><td>object</td><td><a href="#object-title-1">Object : Title</a> 참조</td><td></td></tr><tr><td>img</td><td>object</td><td><a href="#object-image-1">Object : img</a> 참조</td><td><p>request.native.assets.img.type : 703 (opt-out)이 필수로 요청 시, opt-out icon/link를 동일 id 하위에 포함하여 전달 주어야 함<br><br>&#x3C;img.type:703 이 id:10 으로 필수 요청일 경우 sample></p><p>{<br>\”id\”:10, \”img\”:{ \”url\”:\”admark- img.url\”, \”w\”:50, \”h\”:50<br>},<br>"link":{ \”url\”:\”admark- landing.url\”<br>}<br>} </p></td></tr><tr><td>link</td><td>object</td><td><a href="#object-link">Object : link</a> 참조</td><td></td></tr><tr><td>video</td><td>object</td><td><a href="#object-video-2">Object : video</a> 참조</td><td></td></tr><tr><td>data</td><td>object</td><td><a href="#object-data-1">Object : data</a> 참조</td><td></td></tr><tr><td>ext</td><td>object</td><td></td><td></td></tr></tbody></table>

### Object : Title

<table><thead><tr><th width="123">Attribute</th><th width="164.234375">Type</th><th width="425.28515625">Description</th><th>kakao Description</th></tr></thead><tbody><tr><td>text</td><td>string; required</td><td>The text associated with the text element</td><td></td></tr><tr><td>ext</td><td>object</td><td></td><td></td></tr></tbody></table>

### Object : Image

<table><thead><tr><th width="123">Attribute</th><th width="176.98046875">Type</th><th width="431.86328125">Description</th><th>kakao Description</th></tr></thead><tbody><tr><td>url</td><td>string; required</td><td>URL of the image asset.</td><td></td></tr><tr><td>w</td><td>integer; required</td><td>Width of the image in pixels</td><td></td></tr><tr><td>h</td><td>integer; required</td><td>Height of the image in pixels</td><td></td></tr><tr><td>ext</td><td>object</td><td></td><td></td></tr></tbody></table>

### Object : Data

<table><thead><tr><th width="123">Attribute</th><th width="170.12890625">Type</th><th width="443.984375">Description</th><th>kakao Description</th></tr></thead><tbody><tr><td>value</td><td>string; required</td><td>The formatted string of data to be displayed</td><td></td></tr><tr><td>ext</td><td>object</td><td></td><td></td></tr></tbody></table>

### Object : Video

<table><thead><tr><th width="123">Attribute</th><th width="171.18359375">Type</th><th width="423.1171875">Description</th><th width="209.1328125">kakao Description</th></tr></thead><tbody><tr><td>vasttag</td><td>string; required</td><td>vast xml</td><td>720p 영상 파일 응답 필요</td></tr></tbody></table>

### Object : Link

<table><thead><tr><th width="123">Attribute</th><th width="170.0859375">Type</th><th width="441.46484375">Description</th><th width="214.53125">kakao Description</th></tr></thead><tbody><tr><td>url</td><td>string; required</td><td>Landing URL of the clickable link.</td><td></td></tr><tr><td>clicktrackers</td><td>Array of strings</td><td>List of Tracker URL to be fired on click of the URL</td><td>단일 Tracker URL만 응답 가능</td></tr><tr><td>ext</td><td>object</td><td></td><td></td></tr></tbody></table>

### Object : Event Tracker

{% hint style="warning" %}
Native **1.2 ver**. 응답인 경우에만 해당됨&#x20;

* 카카오의 Request에 선언된 event, methods 는 필수 값이 아니기에, Response에 포함되지 않아도 무방합니다.
  * 예, 비즈보드가 아닌 지면에 대해서는 hidetrackers 를 응답하지 않아도 됨
* Response 에는 반드시 카카오의 Request에 선언된 event, methods만 사용해야 합니다.
  * 선언되지 않은 event, methods는 사전 협의 필요
* 동일한 event, method를 갖는 url을 중복 응답할 수 있습니다.
  * 예, imptrackers가 복수개인 경우 위의 3에 있는 예시 응답문과 같이 응답 가능
    {% endhint %}

<table><thead><tr><th width="123">Attribute</th><th width="174.4296875">Type</th><th width="463.6328125">Description</th><th>kakao Description</th></tr></thead><tbody><tr><td>event</td><td>integer; required</td><td>Type of event to track. See <a href="../appendix#event-types-table">Event Types table.</a></td><td></td></tr><tr><td>method</td><td>integer; required</td><td>Type of tracking requested. See <a href="../appendix#event-tracking-methods-table">Event Tracking Methods table.</a></td><td></td></tr><tr><td>url</td><td>text</td><td>The URL of the image or js. Required for image or js, optional for custom.</td><td></td></tr><tr><td>ext</td><td>object</td><td>This object is a placeholder that may contain custom JSON agreed to by the parties to support flexibility beyond the standard defined in this specification</td><td></td></tr></tbody></table>

### Object : Response.ext

{% hint style="warning" %}

* Native **1.1 ver**. 응답인 경우에만 해당됨
  * **1.2 ver.** 인 경우 [eventtrackers](#object-event-tracker) 하위 응답해야 함
    {% endhint %}

<table><thead><tr><th width="133.6796875">Attribute</th><th width="182.83203125">Type</th><th width="566.51953125">kakao Description</th></tr></thead><tbody><tr><td>hidetrackers</td><td>Array of strings</td><td><p>비즈보드의 응답에 대해서는 필수값. </p><p>'이 광고 숨김 처리' 이벤트가 호출된 광고 단위에 대해 해당 소재의 광고 계정에 대해 24시간 동안 미 응답 처리 필요함</p></td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://kakaobusiness.gitbook.io/main/partner/kakaoadx_rtb/spec.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
