مدیریت رضایت Prebid.js: راهنمای تنظیم Header Bidding برای ناشران
Header bidding با اجازه دادن به شرکای تقاضا برای رقابت موازی، CPM ناشران را افزایش میدهد — اما هر یک از این شرکاء قبل از اینکه بتواند کوکی بگذارد، اثر انگشت بگیرد یا پیکسل فعال کند، به یک سیگنال رضایت معتبر نیاز دارد. Prebid.js، پوشش header bidding متنباز de facto که توسط دهها هزار سایت استفاده میشود، با یک ماژول مدیریت رضایت ارائه میشود که CMP شما را به هر حراجی متصل میکند. اگر اشتباه پیکربندی شود، یا داده را بدون رضایت فاش میکنید (ریسک نظارتی) یا مناقصهگران را از سیگنالی که نیاز دارند محروم میکنید (ریسک درآمدی). این راهنما ناشران را در یک تنظیم آماده برای تولید راهنمایی میکند.
چرا Prebid.js به یک ماژول مدیریت رضایت نیاز دارد
هنگامی که یک حراجی Prebid.js اجرا میشود، پوشش درخواستهای موازی به هر آداپتور مناقصهگر پیکربندی شده میفرستد. هر آداپتور باید رشته رضایت کاربر را در درخواست مناقصه خود شامل کند — tcfeu (TCF v2.2 برای EU/UK)، usp (CCPA/CPRA) و به طور فزایندهای gpp (رشته IAB Global Privacy Platform که چندین ایالت آمریکا را پوشش میدهد). بدون این سیگنالها، SSPها و DSPهای پاییندستی مجبورند یا کاربر را به عنوان انصرافدهنده در نظر بگیرند، مناقصه را کاملاً رد کنند، یا — در بدترین حالت — دادهها را بهطور غیرقانونی پردازش کنند.
ماژول مدیریت رضایت Prebid بین CMP شما و خط لوله درخواست مناقصه قرار میگیرد. API استاندارد CMP را فراخوانی میکند (__tcfapi، __uspapi، __gppapi)، منتظر رشته رضایت میماند و سپس آن را به طور خودکار در بار درخواست مناقصه هر آداپتور تزریق میکند. همچنین اگر اجرای GDPR را فعال کنید، گیتبندی مبتنی بر هدف را اجرا میکند و دسترسی به حافظه و اجرای مناقصهگر را برای کاربرانی که اهداف مرتبط TCF را اعطا نکردهاند مسدود میکند.
نصب و پیکربندی ماژول اصلی
Prebid.js به ازای هر ناشر از docs.prebid.org/download.html ساخته میشود. هنگامی که ساخت سفارشی خود را تولید میکنید، سه ماژول تحت «مدیریت رضایت» اهمیت دارند:
- consentManagementTcf — رشتههای TCF v2.2 را برای ترافیک EU، UK و سوئیس مدیریت میکند.
- consentManagementUsp — رشته قدیمیتر CCPA/CPRA US Privacy را مدیریت میکند (هنوز توسط بسیاری از DSPها نیاز است).
- consentManagementGpp — رشته IAB GPP را مدیریت میکند، استاندارد آیندهنگری که اکنون توسط Google، TTD و SSPهای اصلی الزامی شده است.
اگر ترافیک جهانی ارائه میدهید هر سه را شامل کنید. هنگامی که ساخت روی CDN شما قرار گرفت، ماژولها را در اسکریپت تنظیم Prebid خود پیکربندی کنید:
پیکربندی TCF v2.2
بلوک TCF به Prebid میگوید کدام API CMP را فراخوانی کند، چه مدت منتظر رشته بماند و در صورت timeout چه کاری انجام دهد. یک پیکربندی معمول تولید cmpApi: 'iab'، timeout: 8000 (8 ثانیه — به اندازه کافی طولانی برای بارگذاری کند بنر CMP) و defaultGdprScope: true را تنظیم میکند تا کاربران در حوزههای قضایی ناشناخته تا زمانی که خلاف آن ثابت نشده در محدوده در نظر گرفته شوند. تنظیم جداگانه actionTimeout کنترل میکند که Prebid چه مدت منتظر میماند وقتی کاربر هنوز با بنر تعامل نکرده — نگه داشتن آن در حد معقول از یک اسلات تبلیغاتی خالی در صورتی که بازدیدکننده بنر را نادیده بگیرد جلوگیری میکند.
US Privacy و GPP
USP ساده است: ماژول را فعال کنید و Prebid رشته چهار کاراکتری را از __uspapi میخواند. GPP دقیقتر است زیرا رشته GPP میتواند چندین section ID حمل کند (TCF EU، US National، US California، US Colorado، US Virginia و غیره). Prebid رشته کامل را به طور خودکار فورواردمیکند، اما مناقصهگران بخشهای خاصی را بررسی میکنند. مطمئن شوید CMP شما بخشهای صحیح GPP را برای حوزه قضایی هر کاربر ارسال میکند — یک CMP اشتباه پیکربندی شده که فقط US National section را برای کاربر کالیفرنیایی ارسال میکند باعث میشود DSPهای سازگار با CPRA مناقصه را رد کنند.
فعال کردن اجرای GDPR (گیتبندی مبتنی بر هدف)
به طور پیشفرض، ماژول رضایت رشته TCF را عبور میدهد اما هیچ چیزی را مسدود نمیکند. برای اینکه Prebid واقعاً اهداف TCF را اجرا کند، مجموعه قوانین gdprEnforcement را فعال کنید. اینجاست که بیشتر اشتباهات تنظیم رخ میدهد — و جایی که تفاوت بین یک پشته header bidding سازگار و غیرسازگار زندگی میکند.
مجموعه قوانین استاندارد چهار فعالیت را هنگامی که هدف مربوطه فاقد رضایت است مسدود میکند:
- storage — توسط هدف 1 (ذخیرهسازی و دسترسی) گیت شده است. هنگام رد شدن، Prebid از خواندن یا نوشتن کوکیها و localStorage توسط مناقصهگران جلوگیری میکند.
- basicAds — توسط هدف 2 (تبلیغات اصلی) گیت شده است. هنگام رد شدن، مناقصهگر به طور کامل از حراجی حذف میشود.
- measurement — توسط هدف 7 گیت شده است. آداپتورهای تجزیه و تحلیل را تحت تأثیر قرار میدهد.
- transmitPreciseGeo — توسط ویژگی خاص 1 گیت شده است. هنگام رد شدن، Prebid موقعیت جغرافیایی دقیق را از درخواستهای مناقصه حذف میکند.
برای هر قانون enforcePurpose: true، enforceVendor: true و لیست vendorExceptions را تنظیم میکنید. لیست استثنای فروشنده حیاتی است: هر مناقصهگری که در آنجا فهرست میکنید مجاز به مشارکت حتی بدون رضایت صریح فروشنده TCF است، به این دلیل که یک مبنای قانونی جداگانه دارید (مثلاً منافع مشروع همراه با جریان قراردادی). از این به ندرت استفاده کنید — استثناهای بیش از حد گسترده دقیقاً الگویی هستند که تنظیمکنندگان شروع به جریمه کردن ناشران برای آن کردهاند.
مشکلات رایجی که به ناشران درآمد یا انطباق میآورد
timeout بیش از حد کوتاه تنظیم شده
اگر timeout کوتاهتر از زمان رندر بنر CMP شما باشد، Prebid بدون رشته رضایت ادامه میدهد. مناقصهگران آن را به عنوان بدون رضایت در نظر میگیرند و مناقصه را رها میکنند. تأخیر اولین فراخوانی tcfapi('addEventListener') CMP خود را در صدک 95 اندازهگیری کنید و timeout Prebid را بالاتر از آن تنظیم کنید. 8000 میلیثانیه یک پیشفرض امن است؛ 3000 میلیثانیه اگر بازارهایی را سرویس میدهید که بنرها برای محلیسازی زمان میبرند خطرناک است.
یکپارچهسازی GPP در ترافیک آمریکا وجود ندارد
SSPها و DSPهای اصلی (Google AdX، TTD، Magnite، PubMatic) اکنون برای اجرای انصراف آمریکا به رشته GPP نیاز دارند. اگر فقط رشته قدیمی USP ارسال کنید، این DSPها به طور فزایندهای موجودی شما را کاهش میدهند یا رد میکنند. پاسخهای مناقصه خود را ممیزی کنید: یک کاهش شدید CPM در ترافیک آمریکا در سال 2026 اغلب یک سیگنال GPP گمشده است.
رشتههای رضایت منسوخ در ناوبری SPA
برنامههای تکصفحهای که حراجیهای Prebid را در تغییرات مسیر دوباره فعال میکنند باید pbjs.refreshUserIds() را فراخوانی کنند و اطمینان حاصل کنند که آخرین رشته TCF واکشی شده است. یک رشته 30 دقیقه قدیمی در حافظه کش میتواند ترجیحات کاربر قبلی را حمل کند اگر سایت شما از جلسات مشترک استفاده کند.
vendorExceptions گمشده برای تجزیه و تحلیل
ناشران اغلب فراموش میکنند که آداپتورهای Prebid Analytics (Google Analytics، گزارشدهی سمت سرور) نیز تحت گیتبندی measurement تحت هدف 7 TCF هستند. اگر به اینها برای گزارش درآمد وابسته هستید، آنها را به صراحت تحت استثنای فروشنده قانون اندازهگیری فهرست کنید یا شکاف داده در ترافیک بدون رضایت را بپذیرید.
آزمایش تنظیم شما قبل از تولید
Prebid.js pbjs.getConfig('consentManagement') را در کنسول مرورگر نشان میدهد. تأیید کنید که پیکربندی فعال با هدف شما مطابقت دارد. سپس از افزونه Chrome Prebid.js Professor یا pbjs.getEvents() برای بازرسی رشته رضایت ضمیمه شده به هر درخواست مناقصه استفاده کنید. سه سناریو را بررسی کنید: یک کاربر با رضایت کامل، کاربری که «رد همه» را کلیک کرده، و کاربری که بنر را بدون تعامل رد کرده است. هر کدام باید رفتار قابل مشاهده متفاوتی در بار درخواست مناقصه تولید کنند.
همان بررسیها را در جغرافیاهای مختلف با استفاده از VPN یا پرچم لغو مکان جغرافیایی CMP خود اجرا کنید. ترافیک EU باید یک رشته TCF تولید کند و gdprEnforcement را فعال کند؛ ترافیک کالیفرنیا باید یک رشته USP و GPP تولید کند؛ ترافیک با حوزه قضایی نامشخص باید تنظیم defaultGdprScope شما را رعایت کند.
جمعبندی
یک پشته مدیریت رضایت Prebid به درستی پیکربندی شده سه کار را به طور همزمان انجام میدهد: مناقصهگران شما را با سیگنالهای رضایت معتبر تأمین میکند (CPMها را حفظ میکند)، قوانین TCF و انصراف آمریکا را در سطح پوشش اجرا میکند (کاهش ریسک نظارتی) و به شما یک نقطه ممیزی واحد میدهد وقتی یک تنظیمکننده میپرسد تنظیم header bidding شما چگونه انتخاب کاربر را رعایت میکند. وقت بگذارید تا timeoutها را به عمد تنظیم کنید، GPP را به همراه USP برای ترافیک آمریکا فعال کنید و لیست vendorExceptions خود را هر سهماهه بررسی کنید — هزینه اشتباه کردن در این مورد هم با جریمه و هم با درآمد برنامهای از دست رفته اندازهگیری میشود.