PPS로 광고 캠페인 개선하기
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
광고 요청에서 잠재고객 및 문맥 데이터를 게시자 제공 신호(PPS)로 전송할 수 있습니다. PPS를 사용하면 사용자 식별자를 공유하지 않고도 표준 분류를 사용하여 모든 거래 유형의 입찰자에게 잠재고객 특성을 전달하여 사용자 데이터를 통해 프로그래매틱 수익 창출을 개선할 수 있습니다. 잠재고객 특성에는 행동 및 관심분야 기반 데이터(IAB 잠재고객 분류 1.1) 및 문맥 데이터(IAB 콘텐츠 분류 2.2)가 포함될 수 있습니다.
또한 Google에서 정의하고 추가 신호 전송을 허용하는 게시자 제공 구조화된 신호를 보낼 수도 있습니다.
사용자 신호 JSON 구성
최상위 수준에서 단일 키-값 쌍으로 JSON 객체를 만듭니다. 키는 PublisherProvidedTaxonomySignals
여야 하고 값은 객체 배열이어야 합니다. 배열의 각 객체에는 2개의 키-값 쌍이 있어야 합니다.
구조화된 신호 배열 구성
구조화된 신호의 경우 PublisherProvidedStructuredSignals
키를 객체 배열의 값과 함께 추가합니다. 다음 신호 키-값 목록을 기반으로 객체를 생성합니다.
구조화된 신호 표 보기 전환
신호 |
<code" dir="ltr" translate="no">"type" Value</code"> |
가능한 "single_value" 값 |
가능한 "values" 값 |
오디오 피드 유형 |
"audio_feed" |
"af_1" : 음악
"af_2" : 브로드캐스트
"af_3" : 팟캐스트
|
해당 사항 없음 |
콘텐츠 등급 |
"content_rating" |
"cr_1" : G
"cr_2" : PG
"cr_3" : 화
"cr_4" : MA
|
해당 사항 없음 |
콘텐츠 전송 |
"delivery" |
해당 사항 없음 |
"cd_1" : 스트리밍
"cd_2" : 프로그레시브
"cd_3" : 다운로드
|
제작 품질 |
"prodq" |
"pq_1" : 전문 제작
"pq_2" : 프로슈머
"pq_3" : 사용자 제작(UGC)
|
해당 사항 없음 |
분류 신호에 IAB_AUDIENCE_1_1
및 IAB_CONTENT_2_2
를 사용하고 구조화된 신호를 포함하는 다음 예를 참고하세요.
const userSignals = {
"PublisherProvidedTaxonomySignals": [{
"taxonomy": "IAB_AUDIENCE_1_1",
"values": ["6", "284"]
// '6' = 'Demographic | Age Range | 30-34'
// '284' = 'Interest | Business and Finance | Mergers and Acquisitions'
},
{
"taxonomy": "IAB_CONTENT_2_2",
"values": ["49", "138"]
// '49' = 'Books and Literature | Poetry'
// '138' = 'Education | College Education | College Planning'
}],
"PublisherProvidedStructuredSignals": [{
"type": "audio_feed",
"single_value": "af_1",
},
{
"type": "delivery",
"values": ["cd_1", "cd_3"],
},
],
};
StreamRequest
를 사용하여 PPS를 전송하려면 다음 단계를 따르세요.
userSignalsJson = {
"PublisherProvidedTaxonomySignals": [{
"taxonomy": "IAB_AUDIENCE_1_1",
"values": ["1", "284"]
}]
}
userSignalsString = FormatJson(userSignalsJson)
byteArray = CreateObject("roByteArray")
byteArray.FromAsciiString(userSignalsString)
encodedSignals = byteArray.ToBase64String().EncodeUri()
' This shows adding a single parameter. More can be added with:
' streamRequest.adTagParameters = "ppsj=" + encodedSignals + "&..."
streamRequest.adTagParameters = "ppsj=" + encodedSignals
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2025-08-21(UTC)
[null,null,["최종 업데이트: 2025-08-21(UTC)"],[[["\u003cp\u003ePublisher provided signals (PPS) let you share audience and contextual data to improve programmatic ad revenue, using standard IAB taxonomies like Audience Taxonomy 1.1 and Content Taxonomy 2.2.\u003c/p\u003e\n"],["\u003cp\u003ePPS uses JSON to structure signals, encompassing taxonomy signals (e.g., user demographics, interests, content categories) and structured signals (e.g., audio feed type, content rating).\u003c/p\u003e\n"],["\u003cp\u003eYou need to Base64-encode the JSON object containing the signals before including it as the \u003ccode\u003eppsj\u003c/code\u003e parameter in your ad request.\u003c/p\u003e\n"],["\u003cp\u003eThis approach enables sharing valuable data with bidders to enhance ad targeting without exposing user identifiers, thereby increasing monetization potential.\u003c/p\u003e\n"]]],["Publishers can enhance programmatic monetization by sending audience and contextual data (Publisher Provided Signals - PPS) in ad requests. This data, structured using IAB taxonomies (Audience 1.1, Content 2.2), can include user behavior and interests. Structured signals, like audio feed type and content delivery, can also be added. Data is formatted into a JSON object containing `PublisherProvidedTaxonomySignals` and `PublisherProvidedStructuredSignals` as needed, converted to Base64, and added to the `StreamRequest.adTagParameters` as the parameter \"ppsj=\".\n"],null,["# Improve ad campaigns with PPS\n\nYou can send audience and contextual data as\n[publisher provided signals](//support.google.com/admanager/answer/12451124)\n(PPS) in ad requests. With PPS, you can use your user data to improve\nprogrammatic monetization by communicating your audience characteristics to\nbidders in all\n[transaction types](//support.google.com/admanager/answer/2805834), using\nstandard taxonomies, without the need to share user identifiers. Your audience\ncharacteristics can include behavioral and interest-based data (\n[IAB Audience Taxonomy 1.1](//iabtechlab.com/standards/audience-taxonomy/)), and\ncontextual data (\n[IAB Content Taxonomy 2.2](https://iabtechlab.com/standards/content-taxonomy/)).\nYou can also send publisher provided structured signals, which are defined by\nGoogle, and allow for additional signals to be sent.\n\nConstruct the user signals JSON\n-------------------------------\n\nAt the top level, create a JSON object with a single key-value pair. The key\nshould be `PublisherProvidedTaxonomySignals`, and its value should be an array\nof objects. Each object in the array should have 2 key-value pairs:\n\n- The `taxonomy` key, which accepts the following values that are mapped to\n following IAB public specifications:\n\n - `IAB_AUDIENCE_1_1` for Audience Taxonomy 1.1\n - `IAB_CONTENT_2_2` for Content Taxonomy 2.2\n- The `values` key with a corresponding array of string taxonomy values.\n\n### Construct the structured signals array\n\nFor structured signals, add the `PublisherProvidedStructuredSignals` key with a\nvalue of an array of objects. Construct the object based on the following list\nof signal key-values: \n\n#### Toggle view of structured signals table\n\n| Signal | \"type\" Value | Possible `\"single_value\"` Values | Possible `\"values\"` Values |\n|--------------------|--------------------|-------------------------------------------------------------------------------------------|--------------------------------------------------------------------|\n| Audio Feed Type | `\"audio_feed\"` | - `\"af_1\"`: Music - `\"af_2\"`: Broadcast - `\"af_3\"`: Podcast | n/a |\n| Content Rating | `\"content_rating\"` | - `\"cr_1\"`: G - `\"cr_2\"`: PG - `\"cr_3\"`: T - `\"cr_4\"`: MA | n/a |\n| Content Delivery | `\"delivery\"` | n/a | - `\"cd_1\"`: Streaming - `\"cd_2\"`: Progressive - `\"cd_3\"`: Download |\n| Production Quality | `\"prodq\"` | - `\"pq_1\"`: Professionally Produced - `\"pq_2\"`: Prosumer - `\"pq_3\"`: User Generated (UGC) | n/a |\n\nSee the following example that uses the `IAB_AUDIENCE_1_1` and `IAB_CONTENT_2_2`\nfor taxonomy signals and includes structured signals. \n\n const userSignals = {\n \"PublisherProvidedTaxonomySignals\": [{\n \"taxonomy\": \"IAB_AUDIENCE_1_1\",\n \"values\": [\"6\", \"284\"]\n // '6' = 'Demographic | Age Range | 30-34'\n // '284' = 'Interest | Business and Finance | Mergers and Acquisitions'\n },\n {\n \"taxonomy\": \"IAB_CONTENT_2_2\",\n \"values\": [\"49\", \"138\"]\n // '49' = 'Books and Literature | Poetry'\n // '138' = 'Education | College Education | College Planning'\n }],\n \"PublisherProvidedStructuredSignals\": [{\n \"type\": \"audio_feed\",\n \"single_value\": \"af_1\",\n },\n {\n \"type\": \"delivery\",\n \"values\": [\"cd_1\", \"cd_3\"],\n },\n ],\n };\n\nConfigure your stream request\n-----------------------------\n\nFollow these steps to send PPS with your\n[`StreamRequest`](/interactive-media-ads/docs/sdks/roku/dai/apis#ima.StreamRequest):\n\n- Create a JSON object with the user's interest, behavior, or contextual data.\n- Create a Base64-encoded ASCII string from the JSON object above.\n- Add your encoded string using [`StreamRequest.adTagParameters`](/interactive-media-ads/docs/sdks/roku/dai/apis#ima.StreamRequest.adTagParameters).\n\n userSignalsJson = {\n \"PublisherProvidedTaxonomySignals\": [{\n \"taxonomy\": \"IAB_AUDIENCE_1_1\",\n \"values\": [\"1\", \"284\"]\n }]\n }\n\n userSignalsString = FormatJson(userSignalsJson)\n byteArray = CreateObject(\"roByteArray\")\n byteArray.FromAsciiString(userSignalsString)\n encodedSignals = byteArray.ToBase64String().EncodeUri()\n\n ' This shows adding a single parameter. More can be added with:\n ' streamRequest.adTagParameters = \"ppsj=\" + encodedSignals + \"&...\"\n streamRequest.adTagParameters = \"ppsj=\" + encodedSignals"]]