اشکال‌زدایی رشته IAB GPP در کنسول مرورگر: آموزش گام‌به‌گام

چرا مشکلات GPP دیر دیده می‌شوند

وقتی بازدیدکننده‌ای آمریکایی از فروش یا اشتراک‌گذاری داده‌های خود انصراف می‌دهد، این انتخاب باید به همه شرکای تبلیغاتی صفحه برسد. در IAB Global Privacy Platform (GPP)، انتخاب به‌صورت یک رشته فشرده و فهرستی از شناسه‌های بخش منتقل می‌شود. اگر هر یک از آن‌ها نادرست باشد — گم‌شده، قدیمی یا حامل بخش اشتباه — چیزی به‌طور مرئی خراب نمی‌شود. تبلیغات همچنان بارگذاری می‌شوند، بنر همچنان درست به نظر می‌رسد و مشکل بعداً خودش را نشان می‌دهد: شرکایی که انصراف‌ها را نادیده می‌گیرند یا برای موجودی شما کمتر پیشنهاد می‌دهند.

خبر خوب این است که تقریباً همه‌چیز را از کنسول مرورگر می‌توان بررسی کرد. این آموزش بررسی‌ها را به همان ترتیبی که روی یک صفحه زنده اجرا می‌کنیم مرور می‌کند.

گام ۱: مطمئن شوید API وجود دارد و آماده است

یک CMP سازگار با GPP تابع سراسری __gpp را در دسترس می‌گذارد. DevTools را در صفحه خود باز کنید و فرمان ping را اجرا کنید:

__gpp('ping', function (data) { console.log(data); });

شیء بازگشتی در یک نگاه اطلاعات زیادی می‌دهد:

اگر __gpp تعریف‌نشده باشد، stub مربوط به CMP وجود ندارد یا خیلی دیر بارگذاری می‌شود. stub باید پیش از هر اسکریپت تبلیغاتی که انتظارش را دارد در جای خود باشد، وگرنه آن اسکریپت‌ها هیچ CMP نمی‌بینند و یا منتظر می‌مانند یا بدون سیگنال ادامه می‌دهند.

گام ۲: بخش قابل اعمال را بررسی کنید

هر چارچوب حریم خصوصی در GPP یک شناسه بخش عددی دارد. مواردی که ناشران بیشتر با آن‌ها روبه‌رو می‌شوند ۲ (EU TCF v2)، ۵ (TCF کانادا)، ۷ (US National یا “usnat”) و ۸ به بعد برای بخش‌های ایالتی مانند کالیفرنیا، ویرجینیا، کلرادو، یوتا و کنتیکت است. بازدیدکننده‌ای از یک ایالت آمریکا معمولاً باید در applicableSections یا بخش ملی یا بخش ایالت مربوط را ببیند، نه بخش اتحادیه اروپا.

از چند مکان آزمایش کنید. یک باگ رایج، CMP‌ای است که جغرافیا را برای بنر درست تشخیص می‌دهد اما بدون توجه به آن یک بخش پیش‌فرض را در رشته می‌نویسد، یا برعکس. با VPN یا ابزارهای پیش‌نمایش CMP خود، آنچه بنر نشان می‌دهد را با آنچه applicableSections گزارش می‌کند مقایسه کنید.

گام ۳: داده‌های بخش را بخوانید

به‌جای رمزگشایی دستی رشته، از CMP بخواهید بخش تجزیه‌شده را بدهد:

__gpp('getSection', function (data, success) { console.log(data, success); }, 'usnat');

در بخش ملی آمریکا، فیلدهای انصراف از قراردادی ساده پیروی می‌کنند: ۰ یعنی قابل اعمال نیست، ۱ یعنی کاربر انصراف داده و ۲ یعنی کاربر انصراف نداده است. ابتدا روی این فیلدها تمرکز کنید:

حالا انصراف را در صفحه انجام دهید — روی پیوند “Do Not Sell or Share” کلیک کنید یا تنظیم را در مرکز ترجیحات تغییر دهید — و دوباره getSection را اجرا کنید. فیلدهای انصراف باید از ۲ به ۱ تغییر کنند. اگر نکردند، رابط کاربری و سیگنال همگام نیستند.

گام ۴: مسیر Global Privacy Control را آزمایش کنید

چند قانون ایالتی لازم می‌دانند کسب‌وکارها سیگنال Global Privacy Control را انصراف تلقی کنند. GPC را در مرورگر یا افزونه‌ای که از آن پشتیبانی می‌کند فعال کنید، مطمئن شوید navigator.globalPrivacyControl در کنسول true برمی‌گرداند، سپس صفحه را در یک نشست تازه بارگذاری کنید. فیلدهای انصراف مربوط باید بدون اینکه بازدیدکننده به بنر دست بزند ۱ را نشان دهند. برخی بخش‌ها فیلدی هم دارند که نشان می‌دهد انتخاب از سیگنال GPC آمده است.

گام ۵: رویدادها را تماشا کنید، نه فقط عکس‌های لحظه‌ای

اسکریپت‌های تبلیغاتی نباید رشته را یک بار در زمان بارگذاری صفحه بخوانند و فراموشش کنند. یک listener ثبت کنید تا ببینید شرکا چه می‌بینند:

__gpp('addEventListener', function (evt) { console.log(evt.eventName, evt.pingData); });

باید رویدادهایی مانند listenerRegistered، signalStatus و sectionChange را ببینید. وقتی بازدیدکننده انتخابی را تغییر می‌دهد، باید رویداد sectionChange با رشته به‌روز شده بعد از آن بیاید. اگر wrapper مربوط به header bidding یا یکپارچگی سرور تبلیغات شما رشته را فقط پیش از اینکه signalStatus به “ready” برسد می‌خواند، ممکن است مقداری خالی یا قدیمی بفرستد.

گام ۶: رشته را تا درخواست‌های تبلیغ دنبال کنید

در پایان، تب Network را باز کنید و درخواست‌های تبلیغ را فیلتر کنید. بسیاری از endpointهای تبلیغاتی پارامترهای gpp و gpp_sid (رشته و شناسه‌های بخش قابل اعمال) را می‌پذیرند. بررسی کنید که:

  1. هر دو پارامتر در درخواست‌های بازدیدکنندگان آمریکایی وجود دارند؛
  2. رشته با آنچه ping در زمان درخواست برمی‌گرداند یکی است؛
  3. پس از انصراف، درخواست‌های بعدی رشته جدید را حمل می‌کنند نه یک رشته کش‌شده را.

اگر از Prebid.js استفاده می‌کنید، مطمئن شوید ماژول مدیریت رضایت آن برای GPP پیکربندی شده و درخواست‌های پیشنهاد خروجی از wrapper و همچنین فراخوانی نهایی سرور تبلیغات را بررسی کنید.

الگوهای رایج خرابی

نکات کلیدی

← وبلاگ خواندن همه →