# Appendix

## 1. Feedback - Win Notice, Loss Notice

* 특정 Auction에 참여한 여러 Bidder 중 Winner에게 Win Notice를 비동기 방식으로 발송한다.\
  (여기서 비동기란 전체 플로우에서 Win Notice 후 응답을 기다리지 않고 무시하는 것을 의미함)
* Bid Response의 “nurl”, “lurl” 속성에 포함되는 URL로 발송한다.
* nurl, lurl 속성값에 아래 Substitution macro가 포함되어 있다면 해당 macro를 특정 값으로 대체(변환)해서 발송한다.
* 해당 win notice macro는 adm 속성값에 포함 가능하다.

## 2. Substitution macros

{% hint style="warning" %}

* Bid Response의 nurl, lurl or adm 속성값에 포함된 macro를 적당한 값으로 대체합니다.
* 128 bit AES key (AES/ECB) 를 설정하는 경우, 소재 내 포함된 url 내 ${AUCTION\_PRICE} 암호화를 지원합니다.&#x20;
  * AES key를 설정하여도, S2S로 호출하는 notiUrl 내 가격 macro는 암호화하지 않습니다.&#x20;
    {% endhint %}

<table><thead><tr><th width="236.87890625">Macro</th><th width="595">대체값</th></tr></thead><tbody><tr><td>${AUCTION_ID}</td><td>ID of the bid request; from BidRequest.ID attribute</td></tr><tr><td>${AUCTION_PRICE}</td><td><p>Settlement price using the same currency and units as the bid. </p><p>(128 bit AES key (AES/ECB)를 설정하는 경우 소재단에서 암호화된 값으로 지원)</p></td></tr><tr><td>${AUCTION_MIN_TO_WIN}</td><td>Minimum bid to win the exchange's auction, using the same currency and units as the bid.</td></tr><tr><td>${AUCTION_LOSS} </td><td>Loss reason codes. Refer to <a href="https://iabtechlab.com/wp-content/uploads/2022/04/OpenRTB-2-6_FINAL.pdf">List: Loss Reason Codes</a> in OpenRTB 3.0</td></tr></tbody></table>

### 2-1. kakao Custom Loss reason codes

{% hint style="warning" %}
500 미만의 Value는 iab에서 정의한 값을 따릅니다.&#x20;
{% endhint %}

<table><thead><tr><th width="90.10546875">Value</th><th width="369.32421875">Definition</th><th width="475.76953125">kakao Definition</th></tr></thead><tbody><tr><td>501</td><td>DUPLICATED_CREATIVE_ID</td><td>중복 광고 제거 설정이 켜져 있는 지면에 대해 중복 광고가 내려온 경우</td></tr><tr><td>502</td><td>INVALID_DYNAMIC_CREATIVE</td><td>외부 DSP의 다이나믹소재가 카리브 심사 플랫폼에 의해 반려된 경우</td></tr><tr><td>601</td><td>RESP_BELOW_MIN_PLACEMENT_COUNT</td><td>최소 광고수(minPlcmt) 충족하지 않은 경우</td></tr><tr><td>1001</td><td>BLOCKED_ADOMAIN</td><td>유저피드백 "관심없음/신고처리" 에 의해 필터된 adomain</td></tr></tbody></table>

## 3. Hidetrackers (비즈보드)

* 카카오톡 채팅탭, 오픈채팅탭 상단 비즈보드에 대해 사용자가 광고 숨김 처리를 하는 경우, 카카오 SDK에서 DSP가 응답한 hidetrackers를 호출 (hide 비콘을 전송) 한다.&#x20;
* hidetrackers가 호출된 응답 소재의 광고 계정에 대해서는 해당 광고단위에 24시간 동안 광고 미 응답 처리가 필요하다.
* 이를 위해 DSP는 비즈보드 응답에 대해서는 DSP 응답 아래 위치에 hidetrackers를 필수로 담아 응답해야 한다.&#x20;
  * (NA 1.1) BidResponse.seatbid.bid.adm.native.ext.hidetrackers
  * ([NA 1.2](#id-5.-eventtrackers-event-types-methods-table)) BidResponse.native.eventtrackers

## 4. 중복 광고 노출 제한 (blockadkey)

* 중복 광고 노출 제한 설정 대상 내부 지면(tagid)의 경우, 광고 요청 시 중복 광고 입찰 제어를 위한 값을 전달함

  * 기준: 중복 광고 노출 제한 설정 지면(tagid)에 대해 일정 시간(예, 10분) 동안 노출되었던 "동일 유저, 동일 광고주, 동일 캠페인" 광고의 입찰을 제한함
  * 전달 예시: BidRequest.ext.blockadkey 에 adomain\_cid 조합으로 전달 (예, kakao.com\_1234)

* DSP에서는 위 값이 BidRequest에 담겨 요청될 경우, 동일한 adomain, cid 를 갖는 소재에 대해 입찰하지 않도록 처리 필요 -> BidRequest.ext.blockadkey에 전달된 동일한 adomain, cid 로 광고 응답된 경우 해당 응답에 대해서는 카카오에서 미 입찰 처리함

## 5. SKAdNetwork ID (iOS Only)

{% hint style="warning" %}
퍼블리셔의 info.plist에 skadnetwork ID가 등록되어야 합니다.
{% endhint %}

### Object : BidRequest.imp.ext.skadn

<table><thead><tr><th width="154">Attribute</th><th width="126">Type</th><th width="164">Default</th><th>Description</th></tr></thead><tbody><tr><td>version</td><td>string array</td><td>2.0,2.1,2.2,3.0,4.0</td><td>Version of SKAdNetwork</td></tr><tr><td>sourceapp</td><td>string</td><td>362057947</td><td>iOS app id</td></tr><tr><td>skadnetids</td><td>string array</td><td></td><td>퍼블리셔 App의 info.plist내 SKAdNetworkItem 하위 skadnetids 리스트</td></tr><tr><td>skadnetlist</td><td>object</td><td></td><td>skadnetlist를 의미, addl값 전달</td></tr><tr><td>productpage</td><td>integer</td><td>1</td><td></td></tr></tbody></table>

### Object : BidRequest.imp.ext.skadn.skadnetlist

<table><thead><tr><th width="154">Attribute</th><th width="126">Type</th><th width="164">Default</th><th>Description</th></tr></thead><tbody><tr><td>addl</td><td>string array</td><td></td><td>SKAdNetwork IDs 목록</td></tr></tbody></table>

### Object : BidReponse.bid.ext.skadn

<table><thead><tr><th width="179">Attribute</th><th width="126">Type</th><th width="137">Default</th><th>Description</th></tr></thead><tbody><tr><td>version</td><td>strings</td><td>4.0</td><td>Version of SKAdNetwork</td></tr><tr><td>network</td><td>string</td><td></td><td></td></tr><tr><td>sourceidentifier</td><td>string</td><td></td><td></td></tr><tr><td>itunesitem</td><td>string</td><td></td><td>ID of advertiser’s app in Apple’s app store</td></tr><tr><td>fidelities</td><td>object array</td><td></td><td>fidelity, nonce, timestamp, signature 값 전달</td></tr><tr><td>sourceapp</td><td>string</td><td>362057947</td><td>iOS app id</td></tr></tbody></table>

### Object : BidReponse.bid.ext.skadn.fidelities

<table><thead><tr><th width="179">Attribute</th><th width="126">Type</th><th width="137">Default</th><th>Description</th></tr></thead><tbody><tr><td>fidelity</td><td>integer</td><td>0</td><td></td></tr><tr><td>nonce</td><td>string</td><td></td><td></td></tr><tr><td>timestamp</td><td>string</td><td></td><td></td></tr><tr><td>signature</td><td>string</td><td></td><td>SKAdNetwork signature as specified by Apple</td></tr></tbody></table>

## 6. Eventtrackers Event Types, Methods Table

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

### Event Types Table

<table><thead><tr><th width="103.69140625">Type ID</th><th width="147.07421875">Name</th><th width="494.87890625">Definition</th><th width="228.45703125">kakao Definition</th></tr></thead><tbody><tr><td>1</td><td>impression</td><td>Impression</td><td>imptrakcers 에 해당</td></tr><tr><td>2</td><td>viewable-mrc50</td><td>Visible impression using MRC definition at 50% in view for 1 second</td><td>vimptrackers 에 해당</td></tr><tr><td>500</td><td>hidetrackers</td><td>비즈보드 광고 숨기기 처리</td><td>hidetrackers 에 해당</td></tr></tbody></table>

### Event Tracking Methods Table

<table><thead><tr><th width="89.5">Type ID</th><th width="181.546875">Name</th><th width="595.921875">Definition</th></tr></thead><tbody><tr><td>1</td><td>img</td><td>Image-pixel tracking - URL provided will be inserted as a 1x1 pixel at the time of the event.</td></tr><tr><td>2</td><td>js</td><td>Javascript-based tracking - URL provided will be inserted as a js tag at the time of the event.</td></tr><tr><td>500+</td><td>exchange specific</td><td>Could include custom measurement companies such as moat, doubleverify, IAS, etc - in this case additional elements will often be passed</td></tr></tbody></table>

## 7. Audience Matching

{% hint style="warning" %}
Web과 In-APP(미정) 은 별도 프로세스를 통해서 광고 Audience 매칭을 수행합니다.
{% endhint %}

### Web Context

일반적인 웹 서비스에서의 쿠키 매칭 프로세스는 아래와 같다.

<figure><img src="/files/MXpbQaqjist1jNFRNhbr" alt=""><figcaption></figcaption></figure>

1. kakao는 Partner 사에게 아래와 같은 형태의 URL을 제공한다.\
   (응답 형식: 1x1 이미지 OR 빈 응답값) \
   [https://act.ds.kakao.com/match?d={dsp\_id}\&uid={partner\_uid}](<https://act.ds.kakao.com/match?d={dsp_id}\&uid={partner_uid} >)
2. Partner 사는 사전에 Audience Matching이 가능한 서비스 페이지 또는 광고주 페이지 등에 미리 해당 URL을 비콘(ex> img tag) 형태로 설치한다. (RTB 연동 최소 2\~3주 전)
3. 사용자 브라우저에서 해당 URL로 partner\_uid 값과 함께 kakao로 요청한다.\
   (partner\_uid 값 중 특수문자가 포함되어 있다면, uid 파라미터는 urlencode 처리되어 호출되어야 함)
4. kakao는 사용자 브라우저에 kakaohost 도메인으로 partner\_uid의 해당하는 쿠키를 발급한다.
5. kakao는 Partner에게 Bid Request 시에 user.id 필드에 partner\_uid를 포함해서 요청한다. \
   (cf. partner\_uid가 없다면 요청이 제한될 수 있음)


---

# 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/appendix.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.
