Melhorar as campanhas publicitárias com PPS
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
É possível enviar dados contextuais e de público-alvo como
indicadores fornecidos pelo editor
(PPS) em solicitações de anúncios. Com o PPS, é possível usar os dados do usuário para melhorar
a monetização programática, comunicando as características do seu público-alvo aos
proponentes em todos os
tipos de transação, usando
taxonomias padrão, sem a necessidade de compartilhar identificadores de usuários. As características do seu público-alvo podem incluir dados comportamentais e com base em interesses (Taxonomia de público-alvo IAB 1.1) e dados contextuais (Taxonomia de conteúdo IAB 2.2).
Também é possível enviar indicadores estruturados fornecidos pelo editor, que são definidos pelo
Google, e permitir o envio de outros indicadores.
Criar o JSON de indicadores do usuário
No nível superior, crie um objeto JSON com um único par de chave-valor. A chave
precisa ser PublisherProvidedTaxonomySignals
, e o valor dela precisa ser uma matriz
de objetos. Cada objeto na matriz precisa ter dois pares de chave-valor:
A chave taxonomy
, que aceita os seguintes valores mapeados para
as seguintes especificações públicas do IAB:
IAB_AUDIENCE_1_1
para a Taxonomia de público-alvo 1.1
IAB_CONTENT_2_2
para a taxonomia de conteúdo 2.2
A chave values
com uma matriz correspondente de valores de taxonomia de string.
Criar a matriz de indicadores estruturados
Para indicadores estruturados, adicione a chave PublisherProvidedStructuredSignals
com um
valor de uma matriz de objetos. Crie o objeto com base nesta lista
de chaves-valor de indicador:
Alternar a visualização da tabela de indicadores estruturados
Indicador |
<code" dir="ltr" translate="no">"type" Valor</code"> |
Possíveis valores de "single_value" |
Possíveis valores de "values" |
Tipo de feed de áudio |
"audio_feed" |
"af_1" : música
"af_2" : transmissão
"af_3" : podcast
|
N/A |
Classificação do conteúdo |
"content_rating" |
"cr_1" : G
"cr_2" : PG
"cr_3" : T
"cr_4" : MA
|
N/A |
Entrega de conteúdo |
"delivery" |
N/A |
"cd_1" : streaming
"cd_2" : progressivo
"cd_3" : download
|
Qualidade da produção |
"prodq" |
"pq_1" : produzido profissionalmente
"pq_2" : prosumidor
"pq_3" : conteúdo gerado pelo usuário (UGC)
|
N/A |
Confira o exemplo a seguir que usa IAB_AUDIENCE_1_1
e IAB_CONTENT_2_2
para indicadores de taxonomia e inclui indicadores estruturados.
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"],
},
],
};
Siga estas etapas para enviar PPS com seu
StreamRequest
:
- Crie uma string JSON com os dados contextuais, do interesse ou do comportamento do usuário.
- Crie uma string ASCII codificada em Base64 com base na string JSON acima.
- Adicione o JSON codificado usando
StreamRequest.setAdTagParameters
.
JSONObject userSignalsObject = new JSONObject();
JSONArray userSignalsArray = new JSONArray();
JSONObject audienceTaxonomyObject = new JSONObject();
JSONArray valuesArray = new JSONArray();
valuesArray.put("1");
valuesArray.put("284");
try {
audienceTaxonomyObject.put("taxonomy", "IAB_AUDIENCE_1_1");
audienceTaxonomyObject.put("values", valuesArray);
} catch (JSONException e) {
e.printStackTrace();
}
userSignalsArray.put(audienceTaxonomyObject);
try {
userSignalsObject.put("PublisherProvidedTaxonomySignals", userSignalsArray);
} catch (JSONException e) {
e.printStackTrace();
}
byte[] userSignalsByte=new byte[0];
try {
userSignalsByte = userSignals.getBytes(StandardCharsets.UTF_8);
String encodedBas64Signals = android.util.Base64.encodeToString(
userSignalsByte,
android.util.Base64.URL_SAFE);
encodedSignals = URLEncoder.encode(encodedBas64Signals, "UTF-8");
} catch (java.io.UnsupportedEncodingException error) {
Log.w("Sample app", error);
}
Map<String, String> adTagParamMap = new java.util.HashMap<String, String>();
adTagParamMap.put("ppsj", encodedSignals);
streamRequest.setAdTagParameters(adTagParamMap)
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-08-21 UTC.
[null,null,["Última atualização 2025-08-21 UTC."],[[["\u003cp\u003ePublisher-provided signals (PPS) allow you to share audience and contextual data with bidders to improve programmatic monetization, without sharing user identifiers.\u003c/p\u003e\n"],["\u003cp\u003ePPS uses standardized taxonomies such as IAB Audience Taxonomy 1.1 and IAB Content Taxonomy 2.2 to categorize your audience data.\u003c/p\u003e\n"],["\u003cp\u003eYou can send structured signals alongside taxonomies to provide further details, such as content rating, production quality, and delivery method.\u003c/p\u003e\n"],["\u003cp\u003eTo send PPS, create a JSON object with your signals, encode it in Base64, and include it in your ad request's \u003ccode\u003eadTagParameters\u003c/code\u003e using the key "ppsj".\u003c/p\u003e\n"]]],["Publishers can enhance programmatic ad monetization by sending audience and contextual data, known as Publisher Provided Signals (PPS), in ad requests. This data, using standard taxonomies like IAB Audience 1.1 and Content 2.2, includes user interests and behaviors. PPS also supports structured signals, including content ratings and audio feed types. This information is sent as a JSON object, encoded into a Base64 string, and added to the `StreamRequest` object as a key value `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/android/client-side/api/reference/com/google/ads/interactivemedia/v3/api/StreamRequest):\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 JSON using [`StreamRequest.setAdTagParameters`](/interactive-media-ads/docs/sdks/android/client-side/api/reference/com/google/ads/interactivemedia/v3/api/StreamRequest#public-abstract-void-setadtagparameters-mapstring,-string-adtagparameters).\n\n JSONObject userSignalsObject = new JSONObject();\n JSONArray userSignalsArray = new JSONArray();\n JSONObject audienceTaxonomyObject = new JSONObject();\n JSONArray valuesArray = new JSONArray();\n valuesArray.put(\"1\");\n valuesArray.put(\"284\");\n try {\n audienceTaxonomyObject.put(\"taxonomy\", \"IAB_AUDIENCE_1_1\");\n audienceTaxonomyObject.put(\"values\", valuesArray);\n } catch (JSONException e) {\n e.printStackTrace();\n }\n\n userSignalsArray.put(audienceTaxonomyObject);\n\n try {\n userSignalsObject.put(\"PublisherProvidedTaxonomySignals\", userSignalsArray);\n } catch (JSONException e) {\n e.printStackTrace();\n }\n\n byte[] userSignalsByte=new byte[0];\n try {\n userSignalsByte = userSignals.getBytes(StandardCharsets.UTF_8);\n String encodedBas64Signals = android.util.Base64.encodeToString(\n userSignalsByte,\n android.util.Base64.URL_SAFE);\n encodedSignals = URLEncoder.encode(encodedBas64Signals, \"UTF-8\");\n } catch (java.io.UnsupportedEncodingException error) {\n Log.w(\"Sample app\", error);\n }\n\n Map\u003cString, String\u003e adTagParamMap = new java.util.HashMap\u003cString, String\u003e();\n adTagParamMap.put(\"ppsj\", encodedSignals);\n\n streamRequest.setAdTagParameters(adTagParamMap)"]]