اگه کسی تو سایتت به صفحه‌ای که موقتا/به صورت دائم در دسترس نیست، یه خطای 404 می‌بینه. به‌عنوان صاحب سایت، نمی‌خوای بازدیدکننده‌هات تو بن‌بست بمونن! این به برندت، فروش‌هات و حتی سئوت ضربه می‌زنه. ولی دیگه نگران نباش، چون تو این پست می‌گم چطور با گوگل آنالیتیکس 4 خطای 404 رو ترکینگ کنی.
اگه روشم (که تو این مقاله توضیح می‌دم) جواب نداد، یه راه‌حل جایگزین رو با گوگل تگ منیجر هم نشون می‌دم.
 
پیش‌فرض 
خطای 404 پیامیه که مرورگر نشون می‌ده و می‌گه آدرس اینترنتی پیدا نشد.
چرا این بده؟ عمدتاً ممکنه به فروش‌هات ضربه بزنه. تصور کن کسی دنبال اطلاعات خاصی باشه و در سایتت اون موضوع رو پوشش دادی. ولی وقتی لینک رو می‌زنه—هیچی میبینه!  
اکثر مواقع این باعث پرش (bounce) می‌شه یا بدتر، بازدیدکننده می‌ره سراغ رقیبت و شاید اونجا خرید کنه.
بعنوان راه حل, یه ریدایرکت ساده 301 می‌تونست این مشکل رو حل کنه.

چیکار باید بکنی؟ 
دو تا قدم هست که باید انجامشون بدی:
باید خطای 404 رو ترکینگ کنی (هدف اصلی این پست همینه).  
باید لینک‌های شکسته رو درست کنی و بازدیدکننده‌ها رو با ریدایرکت به آدرس جدید ببری (یه سری تاکتیک و ابزار کلی می‌گم، ولی عمیق نمی‌شم).

چطور خطای 404 رو ترکینگ کنیم؟
تو این پست دو تا راه حل رو می‌گم:
_ترکینگ خطای 404 با گزارش‌های انگیجمنت گوگل آنالیتیکس 4. راهی که نیازی به کدنویسی اضافه نداره و تو بخش بعدی توضیحش می‌دم.  
_ترکینگ خطای 404 با ایونت‌های گوگل آنالیتیکس 4 از طریق گوگل تگ منیجر. اینو هم اینجا یاد می‌گیری.

ترکینگ خطای 404 با گزارش‌های انگیجمنت گوگل آنالیتیکس 4  
سایتت صفحه 404 داره؟ می‌تونی با زدن یه آدرس بی‌ربط چک کنی، مثلاً https://www.example.com/post/nonsense.
اگه پیام "صفحه پیدا نشد" (یا هشدار دیگه‌ای) دیدی، شروع خوبیه. بعد، عنوان اون صفحه 404 رو چک کن. من تو سایتم "صفحه پیدا نشد" رو دارم.
اگه عنوان صفحه 404ت نشون بده که این یه صفحه معمولی نیست و درباره "پیدا نشدن" صفحه خاصی هست، این روش برات کار می‌کنه و ادامه پست رو بخون.
اگه عنوان صفحه " 404" خیلی کلی باشه (یا مثلاً مثل صفحه اصلیت باشه)، این روش جواب نمی‌ده. برو سراغ بخشی که راه‌حل با استفاده از گوگل تگ منیجر رو توضیح می‌دم.

خب، برگردیم به موضوع اصلی. تو گوگل آنالیتیکس 4 لاگین کن و برو به این مسیر:

 Reports > Engagement > Pages.

بعد مطمئن شو بعد اصلی (Primary Dimension) که تو گزارش انتخاب کردی، "Page Title" باشه.

تو بخش جستجو (بالای جدول)، عنوان (یا قسمتی از عنوان) صفحه 404 رو بزن. تو سایت من "Page not found" عنوان صفحه بود، کافیه "Page not found" رو وارد کنی و Enter رو بزنی.

ایده‌آلش اینه که یه ردیف تو این گزارش ببینی. این ردیف نشون دهنده همون صفحه "404"هست که بازدیدکننده‌ها به صورت لینک شکسته بهش می‌رسن.
تو اون جدول، متریک هایی مثل Views (تعداد بار لود صفحه) و Sessions رو می‌بینی، ولی هنوز کافی نیست. نمی‌دونی URLهای این خطاها چی هستن.
برای دیدن URL این صفحات، آیکون پلاس تو این گزارش رو بزن (برای اضافه کردن بعد ثانویه).

بعد دایمنشن "مسیر صفحه" (Page path) رو از بخش  page/screen انتخاب کن. گزارش نهایی این‌جوری می‌شه.

برای دیدن مسیر کامل صفحه (که بخشی از URL هست)، موس رو بالای دایمنشن page path and screen هاور کن (تو گزارش).
و تمام! حالا می‌دونی چطور تو گوگل آنالیتیکس 4 بدون کدنویسی یا تنظیمات گوگل تگ منیجر، خطاهای "404" رو ببینی.

ولی تو بعضی سایت‌ها، عنوان صفحه 404 به صورت توضیحی نیست و در نتیجه این روش بالا کار نمی‌کنه. اینجا گوگل تگ منیجر به دادمون می‌رسه.

ترکینگ خطای 404 با گوگل آنالیتیکس 4 و گوگل تگ منیجر  
یه راه دیگه اینه که وقتی بازدیدکننده خطای 404 رو می‌بینه، یه ایونت گوگل آنالیتیکسی اجرا بشه. تو این بخش باید یه کم با دولوپرها همکاری کنی. گزینه‌های پیشرفته‌تر مثل اسکریپ سایت هم هست، ولی کار با دولوپرها بهترین راهه.

دیتالیر
از دولوپر بخواه که وقتی بازدیدکننده خطای 404 می‌بینه، این ایونت رو به دیتالیر بفرسته. بعداً تو ستاپ گوگل تگ منیجرت ازش استفاده می‌کنیم.
یه نمونه کد می‌تونه این‌جوری باشه:notfound.txt
وقتی دولوپر این کد رو پیاده کرد، حالت پیش‌نمایش گوگل تگ منیجر رو با زدن دکمه Preview تو رابط GTM باز کن، بعد آدرس یع صفحه 404 رو بزن و روی Connect کلیک کن.
وقتی پریویو کامل لود شد، دنبال ایونت "page not found" تو سایدبار چپ تب پریویو بگرد.

اگه ایونت رو دیدی، عالیه. اگه نه، دولوپر یه جا اشتباه کرده. باید کدهاش رو دوباره چک کنه.

یه تریگر
وقتی ایونت "page not found" تو دیتالیر پوش شد، وقتشه تو گوگل تگ منیجر یه تریگر ایونت کاستوم بسازی. یعنی به GTM می‌گیم اگه ایونت "page not found" تو دیتالیر باشه، ایونت رو به GA4 بفرسته. این مراحل رو باید طی کنیم:
برو به Triggers > New > Custom Event و با این تنظیمات تریگر بساز:


ذخیره‌ش کن.

ساخت تگ ایونت گوگل آنالیتیکس 4
فرض می‌کنم حداقل یه آشنایی ابتدایی با نصب گوگل آنالیتیکس 4 تو سایت داری. اگه نه یه پست ویلاگی در این مورد دارم.
تا الان باید تو کانتینر گوگل تگ منیجرت یه تگ کانفیگ گوگل آنالیتیکس 4 داشته باشی. قراره یه تگ ایونت GA4 هم بسازیم.
تو گوگل تگ منیجر برو به Tags > New > Google Analytics > GA4 event.

بعد، مژرمنت آیدی (1) و یه اسم برای این ایونت وارد کن (که مشخص باشه چی رو توضیح می‌ده)، مثلاً page_not_found (2). از کلمه "error" استفاده نکن، چون GA4 این واژه رو رزرو کرده و نباید ازش به تنهایی استفاده کنی.

تو بخش Triggering تگ، هرجا خواستی کلیک کن و اینجا تریگر ایونت کاستوم که قبلاً ساختی رو انتخاب کن.
پارامتر یا مورد اضافی به تگ اضافه نکردیم، چون ایونت GA4 خودکار URL صفحه‌ای که خطا توش بوده رو ترکینگ می‌کنه و همین کافیه.

-بیا ستاپ رو تست کنیم
وقتی تریگر ایونت کاستوم و تگ ایونت GA4 رو ساختی، دکمه Preview رو تو گوشه بالا سمت راست رابط GTM بزن.

آدرس صفحه 404 رو وارد کن و Connect رو کلیک کن. بعد چک کن ایونت "page not found" تو سمت چپ پیش‌نمایش GTM ظاهر شده یا نه. روش کلیک کن و ببین تگ ایونت GA4 فایر شده؟

اگه تگ فایر شد، برو به گوگل آنالیتیکس 4 و توی این مسیر  Admin > DebugView . حالا چک کن ایونت اونجا هم دریافت شده.


اگه DebugView کار نکرد،به پست وبلاگی دیگه در این مورد دارم.
اگه همه‌چیز درست بود، تغییراتتو تو گوگل تگ منیجر با زدن دکمه Submit تو گوشه بالا سمت راست پابلیش کن.

ساختن گزارش
اگه تازه ترکینگ خطای 404 رو تو گوگل آنالیتیکس 4 انجام دادی و پابلیش کردی، باید تا 48 ساعت صبر کنی تا دیتا رو ببینی.
وقتی این مدت گذشت، توی گوگل آنالیتیکس 4 برو به این مسیر:  Explorations > Blank.
بعد تو بخش "Dimensions" رو آیکون پلاس بزن و این دایمنشنها رو انتخاب کن:
نام ایونت  Event name
مسیر صفحه و نام صفحه  Page Path and screen name



تو بخش Metrics، هم "Event Count" رو اضافه کن.

بعد روی دایمنشن ها و متریک دوبار کلیک کن (تا به گزارش اضافه بشن).
نهایتاً تو بخش Filters، این فیلتر رو اضافه کن: نام ایونت دقیقاً برابر با page_not_found. اگه نام ایونتت فرق داره، همونو بزن.

وقتی دایمنشن ها، متریک و فیلتر رو اضافه کردی، گزارش این‌جوری می‌شه (البته مقادیر فرق داره).

---

خب، حالا که چی؟
وقتی شروع کردی خطای 404 رو با گوگل آنالیتیکس (یا بدونش) ترکینگ کنی، می‌تونی بیشتر درباره تعامل بازدیدکننده‌ها با سایتت بدونی. بفهمی کدوم صفحه‌ها واقعاً بن‌بستن.
معمولاً خطای 404 وقتی به وجود میاد که URL صفحه‌ها عوض بشه، مثلاً با اضافه کردن کلیدواژه‌های سئو به آدرس وب. اگه اون صفحه قبلاً تو گوگل ایندکس شده باشه، بازدیدکننده‌های جدید از نتایج جستجو به آدرس قدیمی هدایت می‌شن.
پس هر وقت URL رو عوض می‌کنی، همیشه یه ریدایرکت 301  از آدرس قدیمی به آدرس جدید بساز. اگه از افزونه Redirection وردپرس استفاده می‌کنی، می‌تونی راحت از پنل ادمین WP این کار رو بکنی.
این افزونه وردپرس هم خودکار خطاهای 404 رو ترکینگ می‌کنه و می‌تونی فوراً به 301 ریدایرکت کنی.
redirection wp plugin

چرا ریدایرکت 301 مهمه؟ چون گوگل اینو قبول داره و می‌فهمه منبع X دیگه تو آدرس قدیمی نیست و به آدرس جدید منتقل شده. این‌جوری کردیت آدرس قدیمی به جدید منتقل می‌شه.

حرف آخر
تو این پست، دو تا راه برای ترکینگ خطای 404 با گوگل آنالیتیکس 4 رو توضیح دادم. گزینه اول نیازی به کدنویسی نداره و با گزارش‌های استاندارد قابل انجامه. گزینه دوم استفاده از گوگل تگ منیجر برای ارسال خطاهای 404 به‌عنوان ایونت به گوگل آنالیتیکس 4 بود. اگه نظری داری خوشحال میشم.