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" : T
"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"],
},
],
};
AdsRequest
를 사용하여 PPS를 전송하려면 다음 단계를 따르세요.
- 사용자의 관심분야, 행동 또는 문맥 데이터로 JSON 객체를 만듭니다.
- 위의 JSON 객체에서 Base64로 인코딩된 ASCII 문자열을 만듭니다.
- 인코딩된 문자열을
&ppsj=
매개변수를 사용하여 광고 태그 URL에 추가합니다.
const userSignals = {
"PublisherProvidedTaxonomySignals": [{
"taxonomy": "IAB_AUDIENCE_1_1",
"values": ["1", "284"]
}]
};
const sampleAdTag = "https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/single_ad_samples&sz=640x480&cust_params=sample_ct%3Dlinear&ciu_szs=300x250%2C728x90&gdfp_req=1&output=vast&unviewed_position_start=1&env=vp"
const encodedSignals = encodeURIComponent(window.btoa(JSON.stringify(userSignals)));
const finalAdTag = sampleAdTag + "&ppsj=" + encodedSignals;
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2025-08-31(UTC)
[null,null,["최종 업데이트: 2025-08-31(UTC)"],[[["\u003cp\u003ePublisher provided signals (PPS) let you share audience and contextual data with bidders to improve programmatic ad monetization using IAB taxonomies.\u003c/p\u003e\n"],["\u003cp\u003ePPS uses standard IAB taxonomies like Audience Taxonomy 1.1 and Content Taxonomy 2.2 to represent user characteristics without sharing identifiers.\u003c/p\u003e\n"],["\u003cp\u003eYou construct a JSON object with \u003ccode\u003ePublisherProvidedTaxonomySignals\u003c/code\u003e and \u003ccode\u003ePublisherProvidedStructuredSignals\u003c/code\u003e keys to send user signals.\u003c/p\u003e\n"],["\u003cp\u003eThese signals are then Base64 encoded and added to your ad tag URL using the \u003ccode\u003e&ppsj=\u003c/code\u003e parameter to include them in ad requests.\u003c/p\u003e\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 ad request\n-------------------------\n\nFollow these steps to send PPS with your\n[`AdsRequest`](/interactive-media-ads/docs/sdks/html5/client-side/reference/js/google.ima.AdsRequest):\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- Append the encoded string to your ad tag URL with the `&ppsj=` parameter.\n\n const userSignals = {\n \"PublisherProvidedTaxonomySignals\": [{\n \"taxonomy\": \"IAB_AUDIENCE_1_1\",\n \"values\": [\"1\", \"284\"]\n }]\n };\n\n const sampleAdTag = \"https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/single_ad_samples&sz=640x480&cust_params=sample_ct%3Dlinear&ciu_szs=300x250%2C728x90&gdfp_req=1&output=vast&unviewed_position_start=1&env=vp\"\n\n const encodedSignals = encodeURIComponent(window.btoa(JSON.stringify(userSignals)));\n\n const finalAdTag = sampleAdTag + \"&ppsj=\" + encodedSignals;"]]