Ulepszanie kampanii reklamowych za pomocą PPS
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Możesz wysyłać dane o odbiorcach i dane kontekstowe jako sygnały dostarczane przez wydawcę w żądaniach reklamy. Dzięki PPS możesz ulepszać zarabianie na automatyzacji, korzystając z danych o użytkownikach do przekazywania cech odbiorców wszystkim licytującym we wszystkich typach transakcji, używając standardowych taksonomii bez konieczności udostępniania identyfikatorów użytkowników. Twoje cechy odbiorców mogą obejmować dane o zachowaniu i zainteresowaniach (taksonomia odbiorców IAB w wersji 1.1) oraz dane kontekstowe (taksonomia treści IAB w wersji 2.2).
Możesz też wysyłać uporządkowane sygnały dostarczane przez wydawcę, które zostały zdefiniowane przez Google, i zezwolić na wysyłanie dodatkowych sygnałów.
Tworzenie sygnałów użytkownika w formacie JSON
Na najwyższym poziomie utwórz obiekt JSON z jedną parą klucz-wartość. Klucz powinien mieć postać PublisherProvidedTaxonomySignals
, a jego wartość powinna być tablicą obiektów. Każdy obiekt w tablicy powinien mieć 2 pary klucz-wartość:
Klucz taxonomy
, który akceptuje te wartości zmapowane na zgodne ze specyfikacjami publicznymi IAB:
IAB_AUDIENCE_1_1
dla taksonomii odbiorców 1.1
IAB_CONTENT_2_2
dla taksonomii treści 2.2
Klucz values
z odpowiednim tablicą wartości z mapy kategorii zawierających ciągi znaków.
Tworzenie tablicy sygnałów strukturalnych
W przypadku uporządkowanych sygnałów dodaj klucz PublisherProvidedStructuredSignals
z wartością tablicy obiektów. Utwórz obiekt na podstawie tej listy par klucz-wartość sygnału:
Przełącz widok tabeli sygnałów strukturalnych
Sygnał |
<code" dir="ltr" translate="no">"type" Value</code"> |
Możliwe wartości "single_value" |
Możliwe wartości "values" |
Typ pliku danych audio |
"audio_feed" |
"af_1" : muzyka
"af_2" : Broadcast
"af_3" : podcast
|
nie dotyczy |
Ocena treści |
"content_rating" |
"cr_1" : p
"cr_2" : PG
"cr_3" : wt.
"cr_4" : MA
|
nie dotyczy |
Dostawa treści |
"delivery" |
nie dotyczy |
"cd_1" : strumieniowanie
"cd_2" : progresywne
"cd_3" : pobieranie
|
Poziom produkcji |
"prodq" |
"pq_1" : wyprodukowane profesjonalnie
"pq_2" : Prosumer
"pq_3" : treści użytkowników
|
nie dotyczy |
Poniżej znajdziesz przykład, który korzysta z sygnałów taksonomii (IAB_AUDIENCE_1_1
i IAB_CONTENT_2_2
) oraz zawiera uporządkowane sygnały.
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"],
},
],
};
Aby przesłać PPS z StreamRequest
:
- Utwórz obiekt JSON z danymi o zainteresowaniach, zachowaniu lub kontekście użytkownika.
- Utwórz ciąg ASCII zakodowany w standardzie Base64 na podstawie powyższego obiektu JSON.
- Dodaj zakodowany ciąg znaków za pomocą
StreamRequest.adTagParameters
.
const userSignals = {
"PublisherProvidedTaxonomySignals": [{
"taxonomy": "IAB_AUDIENCE_1_1",
"values": ["1", "284"]
}]
};
const encodedSignals = encodeURIComponent(window.btoa(JSON.stringify(userSignals)));
streamRequest.adTagParameters = { "ppsj" : encodedSignals };
O ile nie stwierdzono inaczej, treść tej strony jest objęta licencją Creative Commons – uznanie autorstwa 4.0, a fragmenty kodu są dostępne na licencji Apache 2.0. Szczegółowe informacje na ten temat zawierają zasady dotyczące witryny Google Developers. Java jest zastrzeżonym znakiem towarowym firmy Oracle i jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-08-21 UTC.
[null,null,["Ostatnia aktualizacja: 2025-08-21 UTC."],[[["\u003cp\u003ePublisher-provided signals (PPS) allow you to improve programmatic ad monetization by using your user data to share audience and contextual information with bidders in all transaction types, without sharing user identifiers.\u003c/p\u003e\n"],["\u003cp\u003ePPS uses standard taxonomies such as IAB Audience Taxonomy 1.1 and IAB Content Taxonomy 2.2 to categorize user interests, behavior, and content.\u003c/p\u003e\n"],["\u003cp\u003eYou construct a JSON object with taxonomy signals and structured signals containing user data and encode it in Base64 before adding it to your ad requests.\u003c/p\u003e\n"],["\u003cp\u003eThe encoded user signals are included in the \u003ccode\u003eadTagParameters\u003c/code\u003e of your stream request using the key "ppsj" for Google Ad Manager to utilize.\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 stream request\n-----------------------------\n\nFollow these steps to send PPS with your\n[`StreamRequest`](/interactive-media-ads/docs/sdks/html5/dai/reference/js/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/html5/dai/reference/js/StreamRequest#adTagParameters).\n\n const userSignals = {\n \"PublisherProvidedTaxonomySignals\": [{\n \"taxonomy\": \"IAB_AUDIENCE_1_1\",\n \"values\": [\"1\", \"284\"]\n }]\n };\n\n const encodedSignals = encodeURIComponent(window.btoa(JSON.stringify(userSignals)));\n\n streamRequest.adTagParameters = { \"ppsj\" : encodedSignals };"]]