Ulepszanie kampanii reklamowych za pomocą PPS
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Dane o odbiorcach i dane kontekstowe możesz wysyłać w żądaniach reklamy jako sygnały dostarczane przez wydawcę (PPS). 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 są definiowane przez Google i umożliwiają wysyłanie dodatkowych sygnałów.
Utwórz plik JSON z sygnałami użytkownika
Na najwyższym poziomie utwórz obiekt JSON z jedną parą klucz-wartość. Kluczem powinna być wartość PublisherProvidedTaxonomySignals
, a jej 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 zgodnie z publiczną specyfikacją IAB:
IAB_AUDIENCE_1_1
dla taksonomii odbiorców 1.1
IAB_CONTENT_2_2
dla taksonomii treści 2.2
Klucz values
z odpowiednią tablicą wartości taksonomii ciągów 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łączanie widoku tabeli sygnałów uporządkowanych
Sygnał |
<code" dir="ltr"translate="no">Wartość „type"</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" : T
"cr_4" : MA
|
nie dotyczy |
Dostawa treści |
"delivery" |
nie dotyczy |
"cd_1" : strumieniowanie
"cd_2" : przesyłanie progresywne
"cd_3" : Pobierz
|
Poziom produkcji |
"prodq" |
"pq_1" : wyprodukowane profesjonalnie
"pq_2" : Prosumer
"pq_3" : treści generowane przez 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 wysyłać PPS za pomocą IMAStreamRequest
, wykonaj te czynności:
- Utwórz ciąg znaków JSON z danymi o zainteresowaniach, zachowaniu lub kontekście użytkownika.
- Utwórz ciąg znaków ASCII zakodowany w standardzie Base64 na podstawie powyższego ciągu JSON.
- Dodaj zakodowany ciąg znaków za pomocą funkcji
IMAStreamRequest.adTagParameters
.
let userSignals = """
{
"PublisherProvidedTaxonomySignals": [
{
"taxonomy": "IAB_AUDIENCE_1_1",
"values": [
"1",
"284"
]
}
],
}
"""
let base64Signals = Data(userSignals.utf8).base64EncodedString()
var encodedSignals = base64Signals.replacingOccurrences(of: "+", with: "%2B")
encodedSignals = encodedSignals.replacingOccurrences(of: "/", with: "%2F")
encodedSignals = encodedSignals.replacingOccurrences(of: "=", with: "%3D")
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) let you share audience and contextual data in ad requests to boost programmatic monetization, using standard taxonomies without exposing user identifiers.\u003c/p\u003e\n"],["\u003cp\u003ePPS uses IAB taxonomies like Audience Taxonomy 1.1 and Content Taxonomy 2.2 to categorize audience characteristics like behavior, interests, and content context.\u003c/p\u003e\n"],["\u003cp\u003eStructured signals, defined by Google, offer a way to send extra data points, such as content rating, audio feed type, and delivery method, alongside taxonomy signals.\u003c/p\u003e\n"],["\u003cp\u003eTo implement PPS, construct a JSON object containing your signals, encode it in Base64, and include it in your ad requests using \u003ccode\u003eIMAStreamRequest.adTagParameters\u003c/code\u003e.\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[`IMAStreamRequest`](/interactive-media-ads/docs/sdks/ios/dai/reference/Classes/IMAStreamRequest):\n\n- Create a JSON string with the user's interest, behavior, or contextual data.\n- Create a Base64-encoded ASCII string from the JSON string above.\n- Add your encoded string using [`IMAStreamRequest.adTagParameters`](/interactive-media-ads/docs/sdks/ios/dai/reference/Classes/IMAStreamRequest#adtagparameters).\n\n let userSignals = \"\"\"\n {\n \"PublisherProvidedTaxonomySignals\": [\n {\n \"taxonomy\": \"IAB_AUDIENCE_1_1\",\n \"values\": [\n \"1\",\n \"284\"\n ]\n }\n ],\n }\n \"\"\"\n let base64Signals = Data(userSignals.utf8).base64EncodedString()\n var encodedSignals = base64Signals.replacingOccurrences(of: \"+\", with: \"%2B\")\n encodedSignals = encodedSignals.replacingOccurrences(of: \"/\", with: \"%2F\")\n encodedSignals = encodedSignals.replacingOccurrences(of: \"=\", with: \"%3D\")\n\n streamRequest.adTagParameters = { \"ppsj\" : encodedSignals}"]]