Améliorer vos campagnes publicitaires avec le PPS
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Vous pouvez envoyer des données d'audience et contextuelles en tant que signaux fournis par l'éditeur (PPS) dans les demandes d'annonces. Avec le PPS, vous pouvez utiliser vos données utilisateur pour améliorer la monétisation programmatique en communiquant les caractéristiques de votre audience aux enchérisseurs pour tous les types de transactions, à l'aide de taxonomies standards, sans avoir à partager d'identifiants utilisateur. Vos caractéristiques d'audience peuvent inclure des données sur le comportement et basées sur les centres d'intérêt (Taxonomie d'audience de l'IAB 1.1) et des données contextuelles (Taxonomie de contenu de l'IAB 2.2).
Vous pouvez également envoyer des signaux structurés fournis par l'éditeur, qui sont définis par Google et permettent d'envoyer des signaux supplémentaires.
Créer le fichier JSON des signaux utilisateur
Au niveau supérieur, créez un objet JSON avec une seule paire clé-valeur. La clé doit être PublisherProvidedTaxonomySignals
, et sa valeur doit être un tableau d'objets. Chaque objet du tableau doit comporter deux paires clé-valeur:
La clé taxonomy
, qui accepte les valeurs suivantes mappées aux spécifications publiques de l'IAB suivantes:
IAB_AUDIENCE_1_1
pour la taxonomie d'audience 1.1
IAB_CONTENT_2_2
pour la taxonomie de contenu 2.2
Clé values
avec un tableau correspondant de valeurs de classification de chaîne.
Créer le tableau des signaux structurés
Pour les signaux structurés, ajoutez la clé PublisherProvidedStructuredSignals
avec une valeur correspondant à un tableau d'objets. Construisez l'objet en fonction de la liste suivante de clés-valeurs de signal:
Activer/Désactiver la vue du tableau des signaux structurés
Signal |
<code" dir="ltr" translate="no">"type" Valeur</code"> |
Valeurs possibles pour "single_value" |
Valeurs possibles pour "values" |
Type de flux audio |
"audio_feed" |
"af_1" : musique
"af_2" : diffusion
"af_3" : podcast
|
n/a |
Classification du contenu |
"content_rating" |
"cr_1" : G
"cr_2" : PG
"cr_3" : T
"cr_4" : MA
|
n/a |
Diffusion de contenu |
"delivery" |
n/a |
"cd_1" : streaming
"cd_2" : progressif
"cd_3" : téléchargement
|
Qualité de la production |
"prodq" |
"pq_1" : produit par des professionnels
"pq_2" : prosommateur
"pq_3" : contenu généré par les utilisateurs
|
n/a |
Consultez l'exemple suivant qui utilise IAB_AUDIENCE_1_1
et IAB_CONTENT_2_2
pour les signaux de taxonomie et inclut des signaux structurés.
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"],
},
],
};
Pour envoyer des PPS avec votre AdsRequest
, procédez comme suit:
- Créez une chaîne JSON avec les centres d'intérêt, le comportement ou les données contextuelles de l'utilisateur.
- Créez une chaîne ASCII encodée en base64 à partir de la chaîne JSON ci-dessus.
- Ajoutez la chaîne encodée à l'URL de votre tag publicitaire avec le paramètre
&ppsj=
.
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();
}
String userSignals = userSignalsObject.toString();
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);
}
String finalAdTag = sampleAdTag + "&ppsj=" + encodedSignals;
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/08/31 (UTC).
[null,null,["Dernière mise à jour le 2025/08/31 (UTC)."],[[["\u003cp\u003ePublisher provided signals (PPS) let you share audience and contextual data with bidders to enhance programmatic ad monetization using standardized taxonomies, without exposing user identifiers.\u003c/p\u003e\n"],["\u003cp\u003ePPS utilizes IAB taxonomies like Audience Taxonomy 1.1 and Content Taxonomy 2.2 to categorize user characteristics, such as interests and behaviors, and content details, for improved ad targeting.\u003c/p\u003e\n"],["\u003cp\u003eYou can structure this data as a JSON object, containing taxonomy signals and optional structured signals with predefined keys like audio feed type or content rating.\u003c/p\u003e\n"],["\u003cp\u003eTo send PPS, create a JSON string with user data, Base64-encode it, and append it to your ad tag URL using the \u003ccode\u003e&ppsj=\u003c/code\u003e parameter.\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/android/client-side/api/reference/com/google/ads/interactivemedia/v3/api/AdsRequest):\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- Append the encoded string to your ad tag URL with the `&ppsj=` parameter.\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 String userSignals = userSignalsObject.toString();\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 String finalAdTag = sampleAdTag + \"&ppsj=\" + encodedSignals;"]]