کمپین های تبلیغاتی را با PPS بهبود بخشید
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
میتوانید مخاطبان و دادههای متنی را بهعنوان سیگنالهای ارائهشده ناشر (PPS) در درخواستهای آگهی ارسال کنید. با PPS، میتوانید از دادههای کاربر خود برای بهبود درآمدزایی برنامهای با برقراری ارتباط با ویژگیهای مخاطبان خود به پیشنهاد دهندگان در همه انواع تراکنش ، با استفاده از طبقهبندی استاندارد، بدون نیاز به اشتراکگذاری شناسههای کاربر، استفاده کنید. ویژگی های مخاطب شما می تواند شامل داده های رفتاری و مبتنی بر علاقه ( IAB Audience Taxonomy 1.1 ) و داده های متنی ( IAB Content Taxonomy 2.2 ) باشد. همچنین میتوانید سیگنالهای ساختاریافته ارائه شده توسط ناشر را که توسط Google تعریف شده است، ارسال کنید و امکان ارسال سیگنالهای اضافی را فراهم کنید.
سیگنال های کاربر را JSON بسازید
در سطح بالا، یک شی JSON با یک جفت کلید-مقدار واحد ایجاد کنید. کلید باید PublisherProvidedTaxonomySignals
باشد و مقدار آن باید آرایه ای از اشیا باشد. هر شی در آرایه باید 2 جفت کلید-مقدار داشته باشد:
آرایه سیگنال های ساخت یافته را بسازید
برای سیگنال های ساخت یافته، کلید PublisherProvidedStructuredSignals
را با مقدار آرایه ای از اشیا اضافه کنید. شی را بر اساس لیستی از مقادیر کلیدهای سیگنال زیر بسازید:
تغییر نمای جدول سیگنال های ساخت یافته
سیگنال | مقدار "نوع". | مقادیر ممکن "single_value" | "values" ممکن ارزش ها |
---|
نوع خوراک صوتی | "audio_feed" | -
"af_1" : موسیقی -
"af_2" : پخش -
"af_3" : پادکست
| n/a |
رتبه بندی محتوا | "content_rating" | -
"cr_1" : G -
"cr_2" : PG -
"cr_3" : T -
"cr_4" : MA
| n/a |
تحویل محتوا | "delivery" | n/a | -
"cd_1" : پخش جریانی -
"cd_2" : پیشرو -
"cd_3" : دانلود کنید
|
کیفیت تولید | "prodq" | -
"pq_1" : تولید حرفه ای -
"pq_2" : Prosumer -
"pq_3" : کاربر ایجاد شده (UGC)
| n/a |
مثال زیر را ببینید که از IAB_AUDIENCE_1_1
و IAB_CONTENT_2_2
برای سیگنال های طبقه بندی استفاده می کند و شامل سیگنال های ساخت یافته است.
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"],
},
],
};
این مراحل را برای ارسال PPS با StreamRequest
خود دنبال کنید:
- یک شی JSON با علاقه، رفتار یا داده های متنی کاربر ایجاد کنید.
- یک رشته ASCII با کد Base64 از شی JSON بالا ایجاد کنید.
- رشته کدگذاری شده خود را با استفاده از
StreamRequest.adTagParameters
اضافه کنید.
userSignalsJson = {
"PublisherProvidedTaxonomySignals": [{
"taxonomy": "IAB_AUDIENCE_1_1",
"values": ["1", "284"]
}]
}
userSignalsString = FormatJson(userSignalsJson)
byteArray = CreateObject("roByteArray")
byteArray.FromAsciiString(userSignalsString)
encodedSignals = byteArray.ToBase64String().EncodeUri()
' This shows adding a single parameter. More can be added with:
' streamRequest.adTagParameters = "ppsj=" + encodedSignals + "&..."
streamRequest.adTagParameters = "ppsj=" + encodedSignals
جز در مواردی که غیر از این ذکر شده باشد،محتوای این صفحه تحت مجوز Creative Commons Attribution 4.0 License است. نمونه کدها نیز دارای مجوز Apache 2.0 License است. برای اطلاع از جزئیات، به خطمشیهای سایت Google Developers مراجعه کنید. جاوا علامت تجاری ثبتشده Oracle و/یا شرکتهای وابسته به آن است.
تاریخ آخرین بهروزرسانی 2025-08-21 بهوقت ساعت هماهنگ جهانی.
[null,null,["تاریخ آخرین بهروزرسانی 2025-08-21 بهوقت ساعت هماهنگ جهانی."],[[["\u003cp\u003ePublisher provided signals (PPS) let you share audience and contextual data to improve programmatic ad revenue, using standard IAB taxonomies like Audience Taxonomy 1.1 and Content Taxonomy 2.2.\u003c/p\u003e\n"],["\u003cp\u003ePPS uses JSON to structure signals, encompassing taxonomy signals (e.g., user demographics, interests, content categories) and structured signals (e.g., audio feed type, content rating).\u003c/p\u003e\n"],["\u003cp\u003eYou need to Base64-encode the JSON object containing the signals before including it as the \u003ccode\u003eppsj\u003c/code\u003e parameter in your ad request.\u003c/p\u003e\n"],["\u003cp\u003eThis approach enables sharing valuable data with bidders to enhance ad targeting without exposing user identifiers, thereby increasing monetization potential.\u003c/p\u003e\n"]]],["Publishers can enhance programmatic monetization by sending audience and contextual data (Publisher Provided Signals - PPS) in ad requests. This data, structured using IAB taxonomies (Audience 1.1, Content 2.2), can include user behavior and interests. Structured signals, like audio feed type and content delivery, can also be added. Data is formatted into a JSON object containing `PublisherProvidedTaxonomySignals` and `PublisherProvidedStructuredSignals` as needed, converted to Base64, and added to the `StreamRequest.adTagParameters` as the parameter \"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/roku/dai/apis#ima.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/roku/dai/apis#ima.StreamRequest.adTagParameters).\n\n userSignalsJson = {\n \"PublisherProvidedTaxonomySignals\": [{\n \"taxonomy\": \"IAB_AUDIENCE_1_1\",\n \"values\": [\"1\", \"284\"]\n }]\n }\n\n userSignalsString = FormatJson(userSignalsJson)\n byteArray = CreateObject(\"roByteArray\")\n byteArray.FromAsciiString(userSignalsString)\n encodedSignals = byteArray.ToBase64String().EncodeUri()\n\n ' This shows adding a single parameter. More can be added with:\n ' streamRequest.adTagParameters = \"ppsj=\" + encodedSignals + \"&...\"\n streamRequest.adTagParameters = \"ppsj=\" + encodedSignals"]]