مقال
عشوائيات

لماذا يرد GA4 برمز 403 وما الفرق بين المعطّلة والممنوعة؟

17 أغسطس 2026Majed Alandajani

بعد ربط حساب جوجل وإدخال معرّف خاصية GA4، فتحت الشاشة. فارغة.

لا خطأ، لا رسالة، لا شيء. أصفار في كل مكان.

لماذا الشاشة الفارغة هي أسوأ رسالة خطأ

الصفر قد يعني ثلاثة أشياء مختلفة تماما:

1. الرقم الذي أدخلته خطأ 2. الرقم صحيح لكن واجهة Analytics Data معطّلة في مشروع Google Cloud 3. الرقم صحيح والواجهة مفعّلة، لكن الحساب المربوط لا يملك صلاحية على تلك الخاصية

ولكل حالة مكان إصلاح مختلف: الأولى في حقل الإدخال، والثانية في Google Cloud، والثالثة في إعدادات وصول GA4.

المصيدة

الحالتان الثانية والثالثة تردّان 403. الرمز نفسه بالضبط.

من يصنّف الخطأ برمز الحالة وحده سيخبر المستخدم أنه "لا يملك صلاحية" والمشكلة الحقيقية واجهة معطّلة، فيتجه للبحث في المكان الخطأ.

الحل: اقرأ نص الرسالة لا رمزها

جوجل يذكر الفرق في جسم الرد:


const msg = String(j?.error?.message || `HTTP ${r.status}`);

if (/has not been used in project|is disabled|SERVICE_DISABLED/i.test(msg)) return "disabled";
if (r.status === 404 || /not found|does not exist/i.test(msg))            return "notfound";
if (r.status === 403 || /permission|PERMISSION_DENIED/i.test(msg))        return "forbidden";

الترتيب مهم: افحص "معطّلة" قبل "ممنوعة"، لأن رسالة التعطيل تأتي داخل 403، وفحص الرمز أولا يبتلعها.

ما بنيته فوق ذلك

صار حفظ المعرّف يستدعي فحصا فوريا، وتظهر النتيجة جملة واحدة تحدد مكان الإصلاح:

  • المعرّف صحيح وجوجل يرد عليه
  • المعرّف مقبول لكن الواجهة معطّلة في مشروع Cloud
  • الحساب لا يملك صلاحية على هذه الخاصية
  • لا توجد خاصية بهذا الرقم

درس أوسع من GA4

رمز الحالة تصنيف خشن. أي واجهة تعيد 403 لحالتين مختلفتين تجبرك على قراءة الجسم، ومن يكتفي بعرض شاشة فارغة للمستخدم يحوّل مشكلة دقيقتين إلى بحث يستغرق ساعة.

اقرأ أيضا

عندك مشروع في بالك؟
قل لي ما الذي تريد بناءه. أول 15 دقيقة استشارة مجانية.
احجز استشارة