از کار افتادن آنالیتیکس (GA4) کسبوکارهای ایرانی، بررسی مشکل و ارائه راهحل؛ به قلم افشین زندی مدیرعامل Analytips
فهرست مطلب
یکی از آیتمهای روتین صبحگاهی دیجیتال مارکترها، باز کردن اکانت آنالیتیکس و دیدن اتفاقاتی است که در روز گذشته افتاده. حالا فکر کنید یک روز معمولی اکانت آنالیتیکس را باز کردید و ترافیک دیروز عدد 0 را به شما نشان میدهد. کابوس شروع شد!
شروع میکنید به سرچ کردن و سوال پرسیدن در مورد این مشکل و تمام روشها را تست میکنید اما مشکل حل نمیشود چون مشکلی نیست که برای همه اتفاق افتاده باشد!
متاسفانه وبسایت شما هم درگیر مشکل جدید آنالیتیکس وبسایتهای ایرانی شده است.
من افشین زندی موسس آنالیتیپس به کمک حسین دهقانی کارشناس پشتیبانی تکنیکال آنالیتیپس، قصد دارم در این مطلب راه حل مشکل بزرگی که برای بعضی از اکانتهای آنالیتیکس کسبوکارهای ایرانی پیش آماده را در اختیارتان قرار دهم.
مشکل چه بود؟
مشکلی که وجود داشت این بود که در بعضی سایتها بهصورت ناگهانی یا در طول چند روز اطلاعات آنالیتیکس GA4 افت شدید پیدا کرد و تقریباً صفر شد، با وجود اینکه همه چیز در عمل درست کار میکرد.
کد نصب GA4 بهدرستی روی همه صفحات سایت وجود داشت و در جای درستی هم قرار گرفته بود یا اگر نصب از طریق تگ منیجر انجام شده بود، تگ نصب به شکل درست اجرا میشد؛ اما هیچ دیتایی در property آنالیتیکس ثبت نمیشد.
هیچ مشکلی در تنظیمات تگ منیجر یا آنالیتیکس این سایتها وجود نداشت و هیچ اشتراک مشخصی هم بین این سایتها پیدا نشد. نه سرور مشترک و نه زبان کدنویسی یکسانی داشتند و حتی گزارش شد که بعضی سایتهای با زبان انگلیسی هم دچار این مشکل شدند. تیمهای فنی این کسبوکارها نیز نتوانستند به علت این مشکل پی ببرند و به نظر میرسید این سایتها دیگر نمیتوانند از ابزار آنالیتیکس استفاده کنند و اکثر آنها نیز به استفاده از ابزارهای مشابه با کارایی کمتر رو آوردند.
علت چه بود؟
همانطور که گفته شد به دلیل نبودن اشتراک خاص بین سایتهایی که دچار مشکل شدند، پیدا کردن علت مشکل کاری سخت بود. اولین چیزی که به ذهن میرسید این بود که سرور این سایتها اجازه ارسال دیتا به سمت گوگل را نمیدهد و به دلایلی جلوی این کار را میگیرد. به همین دلیل به تیمهای فنی گفته میشد که این موضوع و احتمال رخدادن آن را بررسی کنند؛ اما همه آنها گذاشتن همچین محدودیتی را رد کردند و از قرار داده شدن این محدودیت توسط قسمتهای دیگر مثل DNSها هم بیاطلاع بودند.
علت دومی که میتوانست باعث این مشکل شود، تحریم و ایجاد محدودیت از سمت گوگل بود. به این معنی که خود گوگل سرور یا دامنه این سایتها را تحریم کرده است و اجازه دریافت اطلاعات از سمت آنها را نمیدهد؛ اما این موضوع خیلی دورازذهن بود، چرا که علتی برای تحریم فقط بعضی از سایتها وجود نداشت، چون این سایتها از موضوعهای مختلفی بودند و هیچ اطلاعرسانی از سمت گوگل هم انجام نشده بود و این که گوگل بخواهد از بین اینهمه سایت فقط تعدادی را در لیست تحریمی خود قرار دهد، غیرمنطقی به نظر میرسید.
تست این موضوع هم ابتدا غیرممکن به نظر میرسید؛ چراکه برای این سایتها انتقال کامل سرور، هاست و همچنین دامنه برای بررسی این که آیا با این کار مشکل حل میشود، غیرمعقول بود و تیم مدیریت حاضر به انجام این کار با هزینههای زیاد آن برای تست این احتمال نمیشد.
تا اینکه به این سؤال رسیدیم که اگر واقعاً گوگل این سایتها را تحریم کرده، چطور ممکن است آن را اجرایی کرده باشد؟ سادهترین راه این است که این محدودیت روی دامنه قرار داده شده باشد. یعنی اگر دیتایی از این دامنهها به سمت گوگل ارسال میشود، جلو دریافت و ثبت آن گرفته شود. به ظاهر بسیار ساده به نظر میرسید، اما نکته مهم این بود که این موضوع قابل امتحان بود.
ما در GA4 با کمک تگ منیجر میتوانیم آدرس ارسالی سایت را تغییر دهیم و یک آدرس دیگر را جایگزین کنیم. این کار را انجام دادیم و در کمال تعجب اطلاعات بازدید از سایت در بخش دیباگ ویو GA4 مشاهده شد. در واقع گوگل آدرس دامنه را تحریم کرده بود و اجازه ثبت دیتا را فقط به این دامنه نمیداد و دیگر کاری به خود سایت یا سرور آن نداشت. به همین سادگی مشکل حل شده بود.
راهحل چیست؟
بعد از اینکه متوجه شدیم با عوضکردن متغیر page_location که آدرس صفحه را همراه ایونت page_view ارسال میکرد، مشکل مشاهده ایونت حل شده بود، مشخص شد که فقط اطلاعات اولین صفحه بازدید شده نمایش پیدا میکرد و صفحات بعدی همچنان مشکل ثبت اطلاعات داشت.
به همین دلیل توجه کردیم که متغیر دیگری نیز به همراه ایونتها ارسال میشود که شامل آدرس صفحه بوده و آن متغیر Referrer هست که آدرس صفحه قبلی بازدید شده را ارسال میکند و چون برای صفحات دوم به بعد این آدرس شامل همان دامنه تحریمی بود، باز هم اطلاعات آن ثبت نمیشد. با تغییر این متغیر مشکل صفحات بعدی هم حل شد و اطلاعات کامل بازدیدها و ایونتها مانند قبل به GA4 ارسال شد.
پس به دنبال یک راهحل جامع و کامل رفتیم که بتوانیم برای هر صفحه تنها دامنه را عوض کرده و آدرس جدیدی شامل همه اطلاعات قبلی مثل Path یا کوئریهای آدرس، اما با دامنه تغییر یافته بسازیم و آن را همراه تگ نصب GA4 ارسال کنیم.
پس از پیدا کردن راه حل آن را یه یک کانتینر آماده برایتان تبدیل کردیم که به راحتی بتوانید با import کردن آن در تگ منیجر بدون ایجاد درگیری فنی مشکل را حل کنید.
در ادامه آموزش اجراییکردن این راهحل را مشاهده میکنید.
راهحل اول: راه دستی
وارد تگ منیجر شوید و از منو سمت چپ گزینه Variables را انتخاب کنید.
از بخش User-Defined Variables روی گزینه New کلیک کنید.
یک نام مناسب برای متغیر مانند New Page Location وارد کنید و سپس روی گزینه Variable Configuration بزنید و متغیر Custom JavaScript را انتخاب کنید.
کد زیر را کپی کرده و در این متغیر وارد کنید.
function() {
var urlString = {{Page URL}};
var url = new URL(urlString);
url.hostname = “new host name“;
return url.toString();
}
در این کد فقط کافی است که بهجای عبارت new host name یک آدرس جدید برای سایت خود وارد کنید. این تغییر میتواند فقط عوضکردن پسوند دامنه هم باشد. بهعنوانمثال اگر دامنهای که به مشکل خورده است، site.com هست بهجای new host name عبارت site.ir را قرار دهید یا تغییری بهدلخواه مثلاً site1.com را اعمال کنید.
بعد از این کار متغیر ساخته شده را ذخیره کنید و همین کار را یکبار دیگر تکرار کرده و این بار یک نام مانند New Referrer را قرار داده و کد زیر را در آن وارد کنید.
function() {
var urlString = {{Referrer}};
if (urlString.includes(‘your host name’)) {
var url = new URL(urlString);
url.hostname = “new host name”;
return url.toString();
} else {
return urlString;
}
}
در این کد دو تغییر باید ایجاد کنید. ابتدا بهجای your hostname آدرس دامنه اصلی سایتتان مانند site.com را وارد کرده و بهجای new host name نیز مانند متغیر قبلی دامنه عوض شده را وارد کنید و سپس متغیر را ذخیره کنید.
با این کار دو متغیر ساخته شده از آدرس صفحه و همچنین Referrer آن استفاده کرده و تنها با تغییر آدرس دامنه آنها، آدرسهای جدید را در خود ذخیره میکنند. پس کافی است که این دو متغیر جدید را به GA4 معرفی کنیم.
برای این کار وارد تگ نصب GA4 خود شوید و در بخش Configuration settings مانند تصویر دو ردیف پارامتر اضافه کرده و page_location و page_referrer را برابر همان دو متغیری که در مرحله قبل ساختید قرار میدهید.
سپس آن را ذخیره کرده و با کمک بخش Preview تگ منیجر و دیباگ ویو GA4 از ارسال درست اطلاعات مطمئن شوید. در نهایت برای نهایی کردن تغییرات در تگ منیجر روی دکمه Submit بزنید و بعد از انتخاب یک اسم مناسب برای ورژن، با انتخاب Publish این تغییرات را برای همه کاربران سایت اعمال کنید. بعد از این کار باید ارسال اطلاعات به سمت GA4 آغاز شود و در گزارش Real time بتوانید دیتا را در لحظه مشاهده کرده و همچنین بعد از گذشت 24 تا 48 ساعت اطلاعات کامل را در گزارشهای استاندارد و Explore ببینید.
راهحل دوم: استفاده از کانتینر آماده
اگر به دنبال یک راه سادهتر برای حل این مشکل هستید، ما یک کانتینر آماده شامل دو متغیر موردنیاز و همچنین تگ نصب جدید GA4 را برای شما آماده کردیم که میتوانید آن را از لینک زیر دانلود کرده و سپس با این روش آن را نصب کنید.
بعد از دانلود فایل در تگ منیجر از منو بالا وارد بخش Admin شوید.
از تب سمت راست گزینه Import Container را انتخاب کنید.
با کلیک روی Choose container file فایل دانلود شده کانتینر را انتخاب کنید و سپس در بخش Workspace گزینه Existing را کلیک کرده و Workspace پیشفرض را انتخاب کنید. در بخش بعدی مانند تصویر گزینه Merge را کلیک کنید.
در نهایت در انتهای صفحه روی Confirm کلیک کنید تا اطلاعات کانتینر به تگ منیجر شما اضافه شود. بعد از این کار اگر وارد منو Variables شوید، مشاهده خواهید کرد که دو متغیر جدید به لیست شما اضافه شده است.
بر روی New page location کلیک کنید و در کد باز شده مقدار new host name را به آدرس دامنه جدید خود تغییر دهید. همچنین روی New referrer بزنید و جای your host name آدرس دامنه اصلی و بهجای new host name آدرس جدید را وارد کنید.
به طور مثال اگر آدرس سایت شما site.com هست، همین آدرس را بهجای your host name و یک آدرس دیگر مانند site.ir را در new host name قرار دهید و در نهایت هر دو متغیر را ذخیره کنید.
سپس به منو Tags رفته و تگ New GA4 Tag را پیدا کرده و باز کنید. در قسمت Tag ID بهجای Put your Measurement ID here مقدار Measurement ID پراپرتی GA4 خود را وارد کرده و تگ را ذخیره کنید. توجه کنید که در این حالت میتوانید تگ قبلی نصب GA4 را پاک کنید. در نهایت بعد از تست در بخش Preview و دیباگ ویو GA4 برای نهایی کردن تغییرات در تگ منیجر روی دکمه Submit بزنید و بعد از انتخاب یک اسم مناسب برای ورژن، با انتخاب Publish این تغییرات را برای همه کاربران سایت اعمال کنید.
نکته مهم: اگر سایت شما دارای ساب دامنه به شکل sub.site.com بوده و اطلاعات ساب دامین را به همین پراپرتی ارسال میکردید، نیاز هست که کدهای متغیرها را کمی تغییر دهید تا برای هر ساب دامین یک آدرس جدید قرار بگیرد. اگر نتوانستید که این کار را انجام دهید، میتوانید به تیم فنی آنالیتیپس پیام دهید تا بر اساس زیردامنههای شما، به صورت رایگان کد جدید را ساخته و در اختیار شما قرار دهیم.
تاریخ مقاله به اشتباه نشون داده میشه. زده ۱۴۰۲/۲۴/۲۴
مطلب خیلی جالبی بود