اگر مدتی است که با گوگل آنالیتیکس ۴ (Google Analytics 4) کار میکنید، احتمالاً متوجه حضور مرموز عبارتی به نام (not set) در برخی از گزارشها شدهاید. در این مطلب، دقیقاً توضیح میدهیم که برای از بین بردن (not set) در آنالیتیکس ۴ چه باید کرد.
قبل از اینکه وارد جزئیات شویم، بهتر است چند موضوع درباره این موضوع را شفاف کنیم:
- در بعضی موارد، امکان برطرف کردن و حذف (not set) در گوگل آنالیتیکس ۴ وجود دارد.
- در برخی موقعیتها، میتوانید میزان رخداد این مشکل را کاهش دهید.
- اما در سایر موارد، باید این موضوع را پذیرفت تا زمانی که گوگل تغییرات یا بهروزرسانیهای لازم را در این زمینه اعمال کند.
قبل از اینکه وارد توضیحات فنی شویم، لازم است چند نکته مهم را در نظر داشته باشید.
دلایل نمایش Landing Page به صورت (not set) در GA4
تایماوت سشن (Session Timeout)
یکی از دلایل اصلی نمایش (not set) در صفحهی فرود، پایان یافتن خودکار سشن به دلیل عدم فعالیت کاربر است.
سناریوی رایج
- مدت زمان پیشفرض سشن در GA4، سی دقیقه است.
- کاربر سایت را در یک تب مرورگر باز کرده و برای مدتی (مثلاً صرف ناهار) از سیستم دور میشود.
- سشن پس از ۳۰ دقیقه بیتحرکی منقضی میشود.
- کاربر بدون رفرش یا باز کردن صفحهی جدید، حرکتی انجام میدهد (مثلاً اسکرول میکند یا روی چیزی کلیک میکند).
- این رویداد جدید یک سشن تازه شروع میکند، اما چون رویداد page_view وجود ندارد، صفحهی فرودی ثبت نمیشود.
نتیجه: سشن جدید بدون page_view آغاز شده و در نتیجه صفحهی فرود به صورت (not set) نمایش داده میشود.
چطور این مشکل را کاهش دهیم؟
برای کاهش این مشکل میتوانید مدت زمان پیشفرض سشن را افزایش دهید.
آموزش افزایش مدت زمان سشن در GA4
۱. وارد GA4 شوید.
۲. به مسیر زیر بروید:
Admin > Data Streams > انتخاب وب دیتا استریم > Configure Tag Settings > Show All > Adjust Session Timeout
۳. مدت زمان سشن را به ۴ ساعت یا حتی حداکثر (۷ ساعت و ۵۵ دقیقه) افزایش دهید و ذخیره کنید.
نکته: با افزایش مدت سشن، تعداد سشنهای ثبت شده کاهش مییابد و میانگین مدت زمان سشن افزایش پیدا میکند. پیش از اعمال تغییرات این تاثیرات را در نظر بگیرید.
Measurement پروتکل در GA4
Measurement پروتکل یکی از روشهایی است که میتوانید با استفاده از آن دادهها را به Google Analytics 4 (GA4) ارسال کنید. این پروتکل برای انتقال دادهها از سرور شما (مثلاً سیستم CRM) به GA4 طراحی شده است. اما هدف اصلی آن، غنیسازی اطلاعات جمعآوریشده از وبسایت است، نه شروع سشن های (Session) جدید یا ایجاد کاربران/بازدیدکنندگان جدید.
ارسال ایونت های تکمیلی با پروتکل Measurement
این یعنی اگر کاربری وارد وبسایت شما شده و یک سشن را آغاز کرده باشد، میتوانید از سمت سرور خود، ایونت های بیشتری ارسال کرده و به همان سشن متصل کنید. این امکان تا ۷۲ ساعت پس از زمان ایونت اولیه در دسترس است.
یک نکتهی مهم درباره استفاده از پروتکل Measurement
با این حال، یک نکتهی مهم وجود دارد: رویدادهایی که از طریق پروتکل Measurement ارسال میشوند، بهطور خودکار اطلاعات ثبتشده توسط کد رهگیری وبسایت را بازیابی نمیکنند. به عنوان مثال، اگر کاربری وارد صفحهای خاص شود، GA4 به صورت خودکار پارامتری به نام page_location
را ثبت میکند. اما اگر در همان لحظه از طریق پروتکل Measurement یک رویداد ارسال کنید، آن رویداد پارامترهایی مانند page_location
یا سایر ابعاد (Dimensions) مرتبط با نشست را به ارث نمیبرد.
تاثیر عدم ارسال اطلاعات کاربر
برای نمونه، اگر اطلاعات مربوط به مرورگر کاربر (user agent) را هنگام ارسال رویداد نفرستید، رویداد ارسالی فاقد اطلاعاتی مانند نوع دستگاه (Device Category) یا نسخه مرورگر خواهد بود. در این صورت، این ابعاد با مقدار (not set)
در GA4 نمایش داده میشوند.
مشکل اصلی در حال حاضر این است که هیچ روش رسمی و مستندی وجود ندارد که اجازه دهد IP کاربر یا اطلاعات مرورگر (user agent) از طریق پروتکل Measurement به GA4 ارسال شود. در بخشهای بعدی این مقاله، به این موضوع بیشتر خواهم پرداخت.
نتیجهگیری درباره تاثیر پروتکل Measurement
بنابراین، اگر در تنظیمات GA4 خود از پروتکل Measurement استفاده میکنید، احتمال زیادی وجود دارد که برخی از دادههای ناقص یا مقدار (not set)
در گزارشهای شما، ناشی از همین موضوع باشد. در ادامه این مقاله به جزئیات بیشتری درباره سایر مشکلات احتمالی خواهم پرداخت.
از بین بردن not set در گزارش های سشن سورس مدیوم
یکی از مشکلات رایجی که در گزارشهای Google Analytics 4 (بهویژه در بخش Traffic Acquisition) مشاهده میشود، ظاهر شدن مقدار (not set) در دایمنشن Session Source/Medium است. این مشکل باعث میشود ترافیک بخشی از کاربران در دستهبندی Unassigned قرار گیرد و تحلیل رفتار کاربران دچار اختلال شود.
۱. بررسی پیادهسازی Measurement Protocol
اگر دولوپر هنگام ارسال Events از طریق Measurement Protocol مقدار session_id را بهدرستی تنظیم نکند، GA4 نمیتواند چنل ترافیک را شناسایی کند. این اتفاق بهخصوص زمانی رخ میدهد که ایونت ها با تاخیر (تا ۷۲ ساعت قبل) ارسال شده و مقدار timestamp_micros اشتباه یا حذف شده باشد.
⚠️ اگر session_id
بهصورت تصادفی تولید شده باشد و با سشن واقعی در سایت هماهنگ نباشد، مقدار (not set) در گزارشها ثبت خواهد شد.
۲. عدم وجود ایونت session_start
دایمنشن های مربوط به منابع ترافیکی مثل Session Source / Medium از ایونت session_start استخراج میشوند. اگر این ایونت به هر دلیلی در طول سشن ارسال نشود، مقدار (not set) جایگزین خواهد شد.
این مشکل معمولاً سرور ساید ترکینگ (Server-side Tagging) رخ میدهد، جایی که ممکن است session_start
در مسیر ارسال داده به GA4 فیلتر شده باشد.
۳. Audience Triggers و تأثیر آن بر مقدار (not set)
ویژگی Audience Trigger در GA4 امکان ارسال خودکار ایونت هنگام ورود کاربر به یک دسته خاص را فراهم میکند. اما نکته مهم اینجاست که در برخی موارد، این ایونت به هیچ سشنی اختصاص داده نمیشود؛ در نتیجه GA4 نمیتواند منبع ترافیک را تشخیص دهد.
حتی در Audienceهای معمولی (غیرپیشبینیشده)، این مشکل گاهی رخ میدهد و فعلاً راهحلی برای آن وجود ندارد.
۴. مشکلات مربوط به پارامترهای UTM
اگر پارامترهای UTM که در لینکهای تبلیغاتی یا شبکههای اجتماعی استفاده میکنید اشتباه تنظیم شده باشند، مثل ساختار نادرست یا مقادیر خالی — GA4 نمیتواند آنها را تحلیل کند و نتیجه آن (not set) خواهد بود.
🔍 پیشنهاد میشود لینکهای تبلیغاتی خود را بهطور کامل بازبینی کرده و از صحت مقادیر UTM مطمئن شوید.
۵. ترتیب اشتباه اجرای تگ ها در Google Tag Manager
یکی از خطاهای رایج در فروشگاههای آنلاین این است که تگهای مربوط به ایونت هایی مانند view_item
یا purchase
زودتر از Google Tag (پیکربندی GA4) اجرا میشوند. در چنین حالتی، دادهها بدون تنظیمات اولیه GA4 ارسال شده و به شکل (not set) در گزارشها ثبت میشوند.
راهکار: از حالت پیشنمایش (Preview) در GTM استفاده کنید تا ترتیب اجرای تگها را بررسی و اصلاح نمایید.
۶. پیادهسازی ناقص Google Tag Manager سمت سرور
اگر از Server-side GTM استفاده میکنید اما برخی از تگ های GA4 را به درستی به سرور هدایت نکرده باشید، ترافیک شما بین چند دامنه مختلف تقسیم شده و اطلاعات منبع/رسانه ناقص خواهد بود.
مطمئن شوید که همه برچسبهای GA4 شامل پارامتر server_container_url
هستند و به درستی به دامنه سرور ارسال داده میشود.
رفع مشکل not set در گزارش های گوگل ادز
بررسی اتصال اکانت Google Ads به GA4
اگر حساب Google Ads شما به درستی به property مورد نظر در GA4 متصل نشده باشد، هیچ دادهای از آن منتقل نخواهد شد. مطمئن شوید که اتصال به درستی انجام شده. همچنین اگر شرکت یا برند شما چند اکانت گوگل ادز دارد، حتی عدم اتصال یکی از آنها (که ترافیک به سایت ارسال میکند)، میتواند منجر به ثبت (not set) شود.
بررسی وضعیت Auto-tagging
قابلیت Auto-tagging بهطور خودکار دادههای Google Ads را به GA4 منتقل میکند. این ویژگی به شما امکان میدهد تا بفهمید کاربران بعد از کلیک روی تبلیغات دقیقاً چه کاری در سایت انجام دادهاند. توصیه میشود همیشه این قابلیت را فعال نگه دارید.
بررسی منوآل تگینگ ها (Manual tagging)
در صورتی که از تگگذاری دستی برای لینک مقصد استفاده میکنید، باید بسیار دقت داشته باشید؛ زیرا این روش احتمالا با خطای زیادی همراه است. اگر تگگذاری را بهدرستی انجام نداده باشید، یا کلاً تگی تعریف نکرده باشید، در گزارشها مقدار (not set) نمایش داده میشود.
بررسی تنظیمات Google Ads
اگر چند اکانت گوگل ادز را به GA4 متصل کردهاید اما در برخی از آنها Auto-tagging غیرفعال است، باز هم با مشکل (not set) مواجه میشوید. حتی اگر در URL کاربران پارامتر gclid
وجود داشته باشد، اما اتصال اکانت به درستی انجام نشده باشد، GA4 قادر به دریافت اطلاعات کمپین نخواهد بود.
رفع مشکل not set در گزارش صفحات
بررسی تعداد کاراکترهای آدرس صفحه
طبق بررسیها، اگر آدرس صفحات وبسایت شما (شامل پروتکل https، پارامترهای کوئری و…) بیش از ۵۰۰ کاراکتر باشد، GA4 دیگر نمیتواند مقدار page_location را ثبت کند. این موضوع نه فقط روی گزارشهای داخل GA4، بلکه روی دادههای خروجی به BigQuery هم تأثیر میگذارد.
🔧 راهحل چیست؟
میتوانید مقدار پارامتر page_location را بهصورت دستی در تگهای GA4 (یا GTAG) بازنویسی کرده و نسخهای کوتاهتر از URL را جایگزین کنید. بهعنوان مثال، حذف پارامترهای غیرضروری از URL، همانطور که برخی متخصصان سئو انجام میدهند، یک راهحل عملی است.
بررسی تگ <title>
در کد HTML صفحه
یکی از رایجترین دلایل این مشکل، نبود تگ عنوان در ساختار HTML صفحه است. اگر وبسایت بهخوبی نگهداری یا بهروزرسانی نشده باشد، احتمال اینکه برخی صفحات فاقد تگ <title>
باشند زیاد است.
چگونه بفهمیم کدام صفحات عنوان ندارند؟
برای شناسایی صفحات بدون عنوان، مراحل زیر را در GA4 دنبال کنید:
- وارد بخش Reports > Engagement > Pages and screens شوید.
- دو (dimension) زیر را تنظیم کنید:
- Page title and screen class (یا: Page title and screen name) بهعنوان بُعد اصلی
- Page Path and Screen class بهعنوان بُعد دوم
با این کار میتوانید صفحاتی که عنوان ندارند را تشخیص دهید. پس از شناسایی این صفحات، با توسعهدهندهی وبسایت همکاری کنید تا تگ <title>
به درستی در آنها اضافه شود.
بررسی بارگذاری زودهنگام GA4 نسبت به تگ عنوان
در برخی موارد نادر، ممکن است کد رهگیری GA4 در بالاترین بخش فایل HTML صفحه قرار گرفته باشد، در حالیکه تگ <title>
پایینتر در کد نوشته شده است. در این حالت، زمانیکه GA4 بارگذاری میشود، هنوز عنوان صفحه در دسترس نیست، بنابراین در گزارشها بهصورت «(not set)» ظاهر میشود.
این سناریو خیلی رایج نیست، اما از نظر تئوریک ممکن است اتفاق بیفتد و به همین دلیل اشاره به آن ضروری است.
علت نمایش «(not set)» در بخش Language گوگل آنالیتیکس ۴ (GA4)
در گوگل آنالیتیکس ۴، مقدار Language معمولاً بر اساس تنظیمات مرورگر کاربر تعیین میشود. بنابراین در شرایط عادی، بیشتر کاربران با یک مقدار مشخص برای این پارامتر شناسایی میشوند. با این حال، گاهی ممکن است در گزارشهای GA4 با مقدار «(not set)» در ستون Language مواجه شوید.
آیا باید نگران باشیم؟
بر اساس تجربیات موجود، معمولاً درصد این مقدار بسیار کم است و تأثیر قابل توجهی در تحلیلهای شما نخواهد داشت. با این حال، اگر درصد «(not set)» در گزارشهای شما بالاست، بهتر است دلایل آن را بررسی کنید.
دلایل رایج برای نمایش «(not set)» در Language
در ادامه، سه دلیل رایج برای بروز این وضعیت را مرور میکنیم:
۱. استفاده از Measurement Protocol بدون ارسال پارامتر زبان
اگر از Measurement Protocol برای ارسال ایونت ها به GA4 استفاده میکنید (مثلاً از طریق اسکریپت اختصاصی یا اتصال مستقیم سرور)، باید مطمئن شوید که پارامتر زبان کاربر (معمولاً با کلید ul
یا language
) همراه با هر ایونت ارسال میشود. در غیر این صورت، GA4 نمیتواند زبان کاربر را تشخیص دهد و مقدار «(not set)» را ثبت میکند.
۲. مرورگر یا افزونههایی که اطلاعات زبان را مخفی میکنند
برخی از کاربران از مرورگرهایی استفاده میکنند که به دلایل حریم خصوصی، اطلاعات مربوط به زبان را تغییر میدهند یا پنهان میکنند. افزونههای امنیتی یا حریم خصوصی مانند uBlock Origin یا Privacy Badger نیز ممکن است باعث حذف این اطلاعات از درخواستها شوند. در نتیجه، گوگل آنالیتیکس نمیتواند زبان کاربر را تشخیص دهد.
۳. سرورساید ترکینگ (Server-side Tagging) بدون ارسال ul
اگر از مدل برچسبگذاری سمت سرور (Server-side tagging) استفاده میکنید، احتمال دارد در فرآیند تنظیمات تگها، پارامتر ul
(User Language) به درخواست ارسال نشود. در این صورت نیز GA4 نمیتواند مقدار زبان را شناسایی کند و نتیجه بهصورت «(not set)» ثبت خواهد شد.
علت نماش not set در گزارش موقعیت جغرافیایی
اگر هنگام بررسی دادههای جمعیتشناسی در Google Analytics 4 (GA4) با عباراتی مثل (not set) در بخشهای مرتبط با مکان جغرافیایی (مثل شهر یا کشور) مواجه شدهاید، تنها نیستید. این مشکل یکی از چالشهای رایجی است که بسیاری از تحلیلگران داده در ایران و سایر کشورها تجربه کردهاند. در ادامه به دلایل اصلی این اتفاق و نکاتی برای درک بهتر آن میپردازیم.
مشکل از کجاست؟ نقش Measurement Protocol در گم شدن دادههای جغرافیایی
یکی از رایجترین دلایل دیده شدن (not set) در دادههای مکان جغرافیایی، مربوط به استفاده از Measurement Protocol (MP) است. اگر ایونت ها را از طریق MP به GA4 ارسال میکنید، باید بدانید که:
- در MP امکان ارسال یا بازنویسی IP کاربر یا User Agent وجود ندارد.
- در نتیجه، اطلاعاتی مانند موقعیت جغرافیایی یا مرورگر کاربر هنگام ثبت ایونت، به GA4 منتقل نمیشود.
محدودیتهای فعلی Measurement Protocol
در یکی از مکالمات رسمی با تیم گوگل، تأیید شده که در حال حاضر MP از بازنویسی IP یا User Agent پشتیبانی نمیکند. این یک محدودیت جدی محسوب میشود و باعث شده این پروتکل تنها در سناریوهای بسیار ساده قابل استفاده باشد.
البته توصیه میشود که این موضوع را از طریق فرومها و منابع رسمی گوگل دنبال کنید. شاید در نسخههای بعدی، امکان ارسال IP یا مرورگر در MP فراهم شود. اما در مستندات رسمی GA4 هنوز هیچ اشارهای به این امکان نشده است.
تأثیر ناشناسسازی IP بر دقت موقعیت جغرافیایی
یکی دیگر از دلایل نمایش (not set) در اطلاعات جغرافیایی، مربوط به فعال بودن IP anonymization بهصورت پیشفرض در GA4 است.
این ویژگی باعث میشود رقم آخر آدرس IP کاربر به صفر تبدیل شود، که همین موضوع دقت شناسایی مکان کاربر را کاهش میدهد.
بهطور کلی، گوگل هنوز میتواند کشور کاربر را تشخیص دهد، اما جزئیات دقیقتر مانند استان یا شهر ممکن است ثبت نشود.
تغییر یا حذف IP در پیادهسازی سمت سرور (Server-side Tagging)
اگر از Server-side Tagging (SGTM) استفاده میکنید، باید بدانید که این سیستم میتواند:
- IP کاربر را حذف کند
- یا آن را به مقدار ثابتی مثل 0.0.0.0 بازنویسی کند
در چنین شرایطی، بهطور طبیعی اطلاعات موقعیت جغرافیایی در GA4 ثبت نخواهد شد.
نقش ابزارهایی مثل VPN و پراکسی در نمایش (not set)
در نهایت، نباید از نقش کاربران در این موضوع غافل شد. بسیاری از بازدیدکنندگان سایتها از VPN، پراکسی یا ابزارهای مخفیسازی IP استفاده میکنند. این ابزارها باعث میشوند IP واقعی کاربر قابل شناسایی نباشد و در نتیجه، Google Analytics نتواند محل دقیق کاربر را تشخیص دهد.
نتیجه؟ بله، مجدداً با (not set) مواجه خواهید شد.