Meningkatkan kampanye iklan dengan PPS
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Anda dapat mengirim data audiens dan kontekstual sebagai
sinyal yang diberikan penayang
(PPS) dalam permintaan iklan. Dengan PPS, Anda dapat menggunakan data pengguna untuk meningkatkan
monetisasi terprogram dengan menyampaikan karakteristik audiens kepada
bidder di semua
jenis transaksi, menggunakan
taksonomi standar, tanpa perlu membagikan ID pengguna. Karakteristik audiens
Anda dapat mencakup data berbasis perilaku dan minat (
Taksonomi Audiens IAB 1.1), dan
data kontekstual (
Taksonomi Konten IAB 2.2).
Anda juga dapat mengirim sinyal terstruktur yang diberikan penayang, yang ditentukan oleh
Google, dan memungkinkan sinyal tambahan dikirim.
Membuat JSON sinyal pengguna
Di tingkat teratas, buat objek JSON dengan satu key-value pair. Kuncinya
harus PublisherProvidedTaxonomySignals
, dan nilainya harus berupa array
objek. Setiap objek dalam array harus memiliki 2 pasangan nilai kunci:
Kunci taxonomy
, yang menerima nilai berikut yang dipetakan ke
spesifikasi publik IAB berikut:
IAB_AUDIENCE_1_1
untuk Taksonomi Audiens 1.1
IAB_CONTENT_2_2
untuk Taksonomi Konten 2.2
Kunci values
dengan array nilai taksonomi string yang sesuai.
Membuat array sinyal terstruktur
Untuk sinyal terstruktur, tambahkan kunci PublisherProvidedStructuredSignals
dengan nilai array objek. Buat objek berdasarkan daftar nilai kunci sinyal berikut:
Beralih tampilan tabel sinyal terstruktur
Sinyal |
<code" dir="ltr" translate="no">"type" Value</code"> |
Nilai "single_value" yang Mungkin Muncul |
Nilai "values" yang Mungkin Muncul |
Jenis Feed Audio |
"audio_feed" |
"af_1" : Musik
"af_2" : Siaran
"af_3" : Podcast
|
t/a |
Rating Konten |
"content_rating" |
"cr_1" : G
"cr_2" : PG
"cr_3" : T
"cr_4" : MA
|
t/a |
Pengiriman Konten |
"delivery" |
t/a |
"cd_1" : Streaming
"cd_2" : Progresif
"cd_3" : Download
|
Kualitas Produksi |
"prodq" |
"pq_1" : Diproduksi secara Profesional
"pq_2" : Prosumer
"pq_3" : Buatan Pengguna (UGC)
|
t/a |
Lihat contoh berikut yang menggunakan IAB_AUDIENCE_1_1
dan IAB_CONTENT_2_2
untuk sinyal taksonomi dan menyertakan sinyal terstruktur.
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"],
},
],
};
Ikuti langkah-langkah berikut untuk mengirim PPS dengan
AdsRequest
Anda:
- Buat string JSON dengan minat, perilaku, atau data kontekstual pengguna.
- Buat string ASCII berenkode Base64 dari string JSON di atas.
- Tambahkan string yang dienkode ke URL tag iklan Anda dengan parameter
&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;
Kecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-08-31 UTC.
[null,null,["Terakhir diperbarui pada 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;"]]