نمای دیباگ
نمای دیباگ هر رویدادی را که یک دستگاه جفتشده میفرستد در چند ثانیه نشان میدهد، همراه با نتیجه پردازش آن — پذیرفتهشده، حذفشده و دلیلش، تغییریافته با قانون یا شمارشنشده. برای جفتکردن نه افزونه لازم است نه دسترسی توسعهدهنده؛ یک لینک، کد QR یا یک خط در کنسول کافی است.
نمای دیباگ چه نشان میدهد#
این صفحه در منوی «در لحظه» با نام «نمای دیباگ» قرار دارد (/debug). در «جریان داده ها» هم دکمه «باز کردن نمای دیباگ» شما را مستقیم به آن میبرد.
هر رویدادی که از یک دستگاه جفتشده برسد، جدیدترین در بالا، با این اطلاعات نمایش داده میشود:
- نتیجه پردازش و، اگر رویداد حذف شده باشد، دلیل آن؛
- پارامترها، هویت و سشن، اتریبیوشن و رضایت در لحظه همان رویداد؛
- مسیر پردازش: قانونهای رویدادی که روی آن اعمال شد یا نشد؛
- هشدارهای پیادهسازی، مثل نام رویداد طولانیتر از ۴۰ کاراکتر،
valueبدونcurrencyیاpurchaseبدونtransaction_id، همراه با کاری که GA4 با همین رویداد میکرد؛ - درخواست خام و ردیفی که واقعا ذخیره شد، کنار هم.
نوار بالای صفحه تعداد رویدادهای ۳۰ دقیقه گذشته را دقیقه به دقیقه نشان میدهد و ستون کناری پرتکرارترین رویدادها و وضعیت فعلی کاربر را. میتوانید جریان را متوقف کنید، جستجو و فیلتر کنید، فقط یک دستگاه را ببینید و همه را با «دانلود JSONL» بیرون ببرید.
اتصال دستگاه#
ap('debug', '<کد>') را در کنسول تبی که سایت در آن باز است اجرا کنید.لینک همان آدرس سایت شماست با پارامتر ?apx_debug=<کد>. تراکر کد را از آدرس میخواند، در sessionStorage همان تب نگه میدارد و روی هر رویداد آن تب میگذارد. در حالت دیباگ تراکر رویدادها را بدون صبر برای پرشدن بسته، بلافاصله میفرستد.
یک کد را میشود همزمان روی هر تعداد دستگاه استفاده کرد؛ صفحه رویدادها را بر اساس دستگاه گروه میکند.
اگر کد منقضی شده یا ناشناخته باشد، رویداد بدون هیچ ردیابی و دقیقا مثل همیشه پردازش میشود. لینکی که در یک پیام قدیمی مانده هیچ چیزی را خراب نمیکند.
نتیجه هر رویداد#
| نتیجه | معنی |
|---|---|
| پذیرفتهشده | رویداد ذخیره شد و پس از تکمیل پردازش در گزارشها شمارش میشود. |
| تغییریافته با قانون | یک قانون رویداد نام یا پارامترهای آن را تغییر داد. |
| ایجادشده با قانون | یک قانون رویداد از روی این رویداد، رویداد تازهای ساخت. |
| شمارشنشده (آزمایشی) | رویداد ذخیره شد اما چون کد در حالت آزمایشی است در هیچ گزارشی نمیآید. |
| حذفشده | رویداد ذخیره نشد و هرگز به گزارشها نمیرسد. |
رویدادهای حذفشده بهطور پیشفرض نمایش داده میشوند و گزینه «نمایش رویدادهای حذفشده» آنها را پنهان یا آشکار میکند. دلیل حذف روی نشان قرمز رویداد نوشته میشود:
| دلیل | یعنی |
|---|---|
| مرورگر بات | user agent در فهرست رباتها بود. |
| IP مستثنا | IP بازدیدکننده در محدودههای IP مستثنای سایت است (مثلا ترافیک داخلی). |
| کوکی انصراف | مرورگر کوکی __sov_x دارد و از اندازهگیری انصراف داده است. |
| بازدید صفحه تکراری | همان آدرس در همان بسته یک بار شمارش شده بود. |
| رویداد تکراری | رویدادی با همین شناسه قبلا رسیده بود. |
| شناسه تگ ناشناخته | شناسه تگ تگ به هیچ جریان دادهای تعلق ندارد. |
| کد متعلق به وبسایت دیگری است | تگ سایت مال وبسایت دیگری است؛ رویداد زیر وبسایت خودش پردازش میشود و اینجا فقط اعلام میشود. |
| ساختار نامعتبر درخواست / بسته بیش از حد بزرگ | بدنه درخواست خوانا نبود یا از سقف اندازه بسته بیشتر بود. |
«ترافیک من در گزارشها شمارش نشود»#
با این گزینه رویدادهای دستگاههای جفتشده همچنان در نمای دیباگ نمایش داده میشوند، اما با برچسب آزمایشی ذخیره میشوند و همه گزارشها آنها را کنار میگذارند. ادپیکس این ترافیک را جای دیگری هم نمینویسد: نه در اقلام فروش آنلاین، نه در ارسال به CRM یا وبهوک، نه در گزارش کلیکهای پولی.
ساختن کد با این گزینه نقش ویرایشگر یا بالاتر میخواهد، چون کسی که لینک را دارد میتواند ترافیک واقعی را هم از گزارشها پنهان کند. جفتکردن معمولی برای هر عضو وبسایت آزاد است.
بدون این گزینه، خرید آزمایشی شما مثل هر خرید دیگری در درآمد و رویدادهای کلیدی شمارش میشود. برای QA روی سایت زنده، کد را با «ترافیک من در گزارشها شمارش نشود» بسازید.
دستور debug در تراکر#
| فراخوانی | اثر |
|---|---|
ap('debug', '<کد>') |
تب فعلی را با کد ششکاراکتری جفت میکند. |
ap('debug', false) |
جفتسازی تب فعلی را برمیدارد. |
?apx_debug=<کد> روی آدرس صفحه |
همان کار ap('debug', '<کد>')، در query یا hash. |
هر مقداری غیر از شش کاراکتر حرف و عدد، جفتسازی را برمیدارد. __sov('debug', …) نام قدیمی همین دستور است و همان کار را میکند.
محدودیتها#
- هر وبسایت حداکثر ۵ کد فعال همزمان دارد. کد اضافه را از فهرست «کدهای فعال» با «پایان» ببندید.
- هر کد حداکثر ۲٬۰۰۰ رویداد را ردیابی میکند. بعد از آن پیام «سقف ردیابی پر شد» ظاهر میشود؛ دوباره جفت کنید.
- جریان فقط ۳۰ دقیقه اخیر را نشان میدهد و چیزی را برای همیشه نگه نمیدارد. اگر خروجی لازم دارید، «دانلود JSONL» بزنید.
- ایمیل، موبایل و ویژگیهای کاربر پوشانده نمایش داده میشوند، مگر نقش شما دسترسی به شناسهها را داشته باشد. زبانههای «درخواست خام» و «ردیف ذخیرهشده» دسترسی به داده خام هم میخواهند.
پرسشهای پرتکرار#
رویدادهای دستگاه جفتشده در گزارشها هم شمارش میشوند؟
بله، مگر اینکه هنگام ساخت کد گزینه «ترافیک من در گزارشها شمارش نشود» را زده باشید. جفتکردن فقط ردیابی اضافه میکند؛ همان رویداد مثل همیشه به گزارشها میرود تا بتوانید رسیدنش را هم ببینید.
چرا رویدادم در نمای دیباگ هست ولی در گزارش نیست؟
گزارشها تا چند دقیقه از جریان عقبترند. اگر رویداد «شمارشنشده (آزمایشی)» یا «حذفشده» باشد هرگز به گزارش نمیرسد؛ بخش «چرا در گزارش من نیست؟» در جزئیات همان رویداد دلیل را میگوید.
کد اتصال کی منقضی میشود؟
تا ۳۰ دقیقه پس از آخرین باری که صفحه نمای دیباگ آن را بهروز کرده است. تا وقتی صفحه باز است کد زنده میماند؛ اگر بسته شود، کد نیم ساعت بعد از کار میافتد و رویدادهای بعدی بدون ردیابی و مثل همیشه پردازش میشوند.
چطور یک تب را از حالت دیباگ خارج کنم؟
در کنسول همان تب ap('debug', false) را اجرا کنید یا تب را ببندید. کد فقط در همان تب ذخیره میشود، پس تبهای دیگر و بازدیدهای بعدی تحت تاثیر نیستند.
ممنون — بازخورد شما به بهتر شدن مستندات کمک میکند.