إعداد ميزة وضع العلامات من جهة الخادم باستخدام App Engine

يوضّح هذا الدليل كيفية تنفيذ ما يلي:

  • توفير خادم وضع العلامات على Google Cloud Platform (GCP) App Engine
  • ترقية خادم وضع العلامات للتعامل مع الزيارات المباشرة
  • زيادة أو تقليل عدد الخوادم التي تشغّل حاوية Google Tag Manager
  • احرص على تحديث إصدار خادم وضع العلامات بعد توفير الخادم.

المتطلبات الأساسية

  1. يجب أن يكون لديك حساب على Google Cloud Platform. إذا لم يكن لديك حساب، يمكنك إنشاء حساب جديد على GCP.
  2. يجب أن يكون لديك حساب فوترة على Google Cloud Platform. إذا لم يكن لديك حساب، يمكنك إنشاء حساب فوترة على Google Cloud Platform (يتطلّب ذلك دور "منشئ حساب الفوترة").
  3. يجب أن يكون لديك دور "منشئ المشروع" ودور "مستخدم حساب الفوترة". مزيد من المعلومات حول إضافة أدوار

1. توفير خادم

لإنشاء خادم وضع علامات جديد على إحدى مثيلات App Engine، عليك اتّباع الخطوات التالية:

  • إنشاء حاوية خادم جديدة في Tag Manager
  • إنشاء مشروع جديد على Google Cloud
  • توفير خادم وضع علامات جديد في App Engine
  • أضِف عنوان URL لخادم وضع العلامات الجديد إلى حاوية الخادم في Tag Manager.

إنشاء حاوية خادم على أداة "إدارة العلامات من Google"

  1. افتح Google Tag Manager.

  2. في صف الحساب، انقر على القائمة الكاملة > إنشاء حاوية.

  3. أنشِئ حاوية خادم جديدة.

  4. انقر على زرّ الاختيار "توفير خادم وضع العلامات يدويًا". لاحظ إعدادات الحاوية. ستحتاج إلى هذا المعرّف لتوفير الخادم.

إنشاء مشروع جديد على Google Cloud

لإنشاء مشروع جديد على Google Cloud Platform لخادم وضع العلامات، اتّبِع الخطوات التالية:

  1. افتح Google Cloud Console.

  2. أنشِئ مشروعًا جديدًا على Google Cloud Platform.

  3. أدخِل اسمًا لمشروعك. ننصحك باستخدام معرّف الحاوية لتسهيل الأمر. يُستخدَم هذا الاسم داخل Google Cloud Platform فقط.

  4. دوِّن رقم تعريف مشروع Google Cloud Platform لأنّك ستحتاج إليه لإنشاء خادم وضع العلامات.

توفير خادم وضع العلامات جديد

لإنشاء خادم وضع العلامات، اتّبِع الخطوات التالية:

  1. افتح Cloud Shell.

  2. اضبط مشروع Google Cloud Platform في Cloud Shell. استبدِل project ID برقم تعريف مشروع Google Cloud Platform الذي دوّنته سابقًا:

    gcloud config set project project ID
    
  3. أنشِئ خادم وضع العلامات باتّباع نص shell البرمجي. اضبط نوع النشر على testing.

    bash -c "$(curl -fsSL https://googletagmanager.com/static/serverjs/setup.sh)"
    

إضافة عنوان URL لخادم وضع العلامات إلى Tag Manager

  1. افتح Google Tag Manager.

  2. في المشرف > إعدادات الحاوية، انقر على إضافة عنوان URL. إذا كنت لا تعرف عنوان URL الخاص بالخادم، نفِّذ الأمر التالي في Cloud Shell:

    gcloud app browse
    

    النتيجة: لقد أعددت خادمًا لوضع العلامات وزوّدته بإعدادات testing. يمكنك الآن اختبار وضع العلامات من جهة الخادم.

الإعداد الأولي للخادم (testing)

يعدّ إعداد الاختبار مناسبًا لاستكشاف المنتج من خلال إرسال كميات صغيرة من الزيارات التجريبية واستخدام ميزة "المعاينة" في أداة Tag Manager. هذا الإعداد هو فئة الجهاز الافتراضي F1 في App Engine ضمن البيئة العادية، وفي معظم الحالات، لن تتكبّد أي تكاليف.

2. استخدام App Engine في مرحلة الإنتاج

في إعداد production، تبلغ تكلفة كل خادم 40 دولارًا أمريكيًا شهريًا تقريبًا. كل خادم هو مثيل App Engine يتضمّن وحدة معالجة مركزية افتراضية واحدة وذاكرة بسعة 0.5 غيغابايت وقرصًا بسعة 10 غيغابايت في البيئة المرنة.

راجِع مقالة إدارة تكاليف App Engine للتعرّف على فوترة App Engine وكيفية إعداد تنبيهات الفوترة. ننصحك بشدة بإعداد تنبيه بشأن الفوترة.

ننصح بتشغيل 3 خوادم على الأقل للحدّ من خطر فقدان البيانات في حال انقطاع الخدمة على أحد الخوادم. ومع ذلك، يمكنك اختيار تشغيل عدد أقل (أو أكثر) من الخوادم. نتوقّع أن يؤدي التوسّع التلقائي في نطاق 3 إلى 6 خوادم (الإعداد التلقائي) إلى معالجة ما بين 50 و200 طلب في الثانية. يعتمد الأداء على عدد العلامات وما تفعله هذه العلامات.

لضبط إعدادات خادم وضع العلامات، اتّبِع الخطوات التالية:

  1. افتح Cloud Shell في Google Cloud Platform.
  2. اضبط مشروع Cloud Platform في Cloud Shell. استبدِل project ID برقم تعريف مشروع Google Cloud Platform الذي دوّنته سابقًا:
    gcloud config set project project ID
  3. لإعادة ضبط خادم وضع العلامات لبيئة التشغيل الفعلي، شغِّل النص البرمجي للإعداد أدناه. نفِّذ المهام التالية:
    bash -c "$(curl -fsSL https://googletagmanager.com/static/serverjs/setup.sh)"
    1. غيِّر نوع النشر إلى production.
    2. إعداد خوادم إضافية لعرض عدد الزيارات في مرحلة الإنتاج ننصحك باستخدام ثلاثة خوادم على الأقل.

اختياري: إيقاف التسجيل

تسجيل الطلبات

تسجّل App Engine تلقائيًا معلومات عن كل طلب تتلقّاه (مثل مسار الطلب ومَعلمات طلب البحث وما إلى ذلك). إذا كان خادم وضع العلامات يعالج عددًا كبيرًا من الطلبات شهريًا (أكثر من مليون مثلاً)، قد تتكبّد رسوم تسجيل كبيرة مقابل رسائل السجلّ هذه. للحدّ من رسوم تسجيل الدخول أو إلغائها، ننصحك بإيقاف ميزة تسجيل طلبات App Engine.

لإيقاف تسجيل الطلبات في App Engine، اتّبِع الخطوات التالية:

  1. في Google Cloud Platform، افتح Logs Router. تأكَّد من أنّك في المشروع الذي يتطابق مع رقم تعريف الحاوية:
    لقطة شاشة لأداة اختيار مشروع GCP، تعرض نموذجًا لمعرّف حاوية في أداة "إدارة العلامات".
  2. بالنسبة إلى النوع: سطر حزمة Cloud Logging، الاسم: _Default، انقر على القائمة الكاملة، ثم انقر على تعديل مخزَن.
  3. ضمن وجهة الحوض، اختَر حزمة السجلّات _Default.
  4. ضمن اختيار السجلات المطلوب تضمينها في المستودع، أضِف سطرًا جديدًا. أدخِل القاعدة التالية إلى فلتر الإدراج الحالي:

    NOT LOG_ID("appengine.googleapis.com/nginx.request") AND NOT
    LOG_ID("appengine.googleapis.com/request_log")
    
  5. لإيقاف التسجيل من موازن التحميل أيضًا، أضِف سطرًا جديدًا وأدخِل القاعدة التالية إلى فلتر التضمين الحالي:

    NOT LOG_ID("requests")
    
  6. انقر على تعديل مخزَن لتطبيق التغييرات. سيتم الآن استبعاد طلبات App Engine من التسجيل.

  7. تأكَّد من عدم ظهور أي طلبات جديدة في سجلّات Logs Explorer.

تسجيل البيانات في وحدة التحكّم

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

تحديد سجلّات وحدة التحكّم غير المرغوب فيها:

  1. في Google Cloud Platform، افتح مستكشف السجلات.
  2. ابحث عن أي رسائل سجلّ غير مرغوب فيها مصدرها علاماتك. على سبيل المثال:

    قد ترسل العلامة السجلات التالية:

    const logToConsole = require('logToConsole');
    
    logToConsole('Custom message: ' + data.param1);
    logToConsole('An important message to keep around!');
    data.gtmOnSuccess()
    

    ابحث عن رسائل السجلّ المناسبة في الحقل textPayload:
    لقطة شاشة من "مستكشف السجلات" في GCP تعرض نماذج سجلات

لإيقاف رسالة سجلّ وحدة التحكّم، اتّبِع الخطوات التالية:

  1. في Google Cloud Platform، افتح Logs Router. تأكَّد من أنّك في المشروع الذي يتطابق مع رقم تعريف الحاوية:
    لقطة شاشة لأداة اختيار مشروع GCP، تعرض نموذجًا لمعرّف حاوية في أداة "إدارة العلامات".
  2. بالنسبة إلى النوع: سطر حزمة Cloud Logging، الاسم: _Default، انقر على القائمة الكاملة، ثم انقر على تعديل مخزَن.
  3. ضمن وجهة الحوض، اختَر حزمة السجلّات _Default.
  4. ضمن اختيار السجلات المطلوب تضمينها في المستودع، أضِف سطرًا جديدًا. أدخِل القاعدة التالية في فلتر الإدراج الحالي:

    NOT textPayload:"Custom message:"
    

    بالنسبة إلى سجلّات وحدة التحكّم، استبدِل النص Custom message: بسلسلة فرعية من سجلّ وحدة التحكّم الذي تريد إيقافه. للحصول على فلاتر أكثر تفصيلاً، استخدِم لغة طلبات البحث في التسجيل.

  5. انقر على تعديل مخزَن لتطبيق التغييرات. يجب استبعاد الرسالة المطابِقة logToConsole من التسجيل.

  6. تأكَّد من عدم ظهور أي رسائل سجلّ وحدة تحكّم جديدة في مستكشف السجلات.

3- ربط عملية النشر بنطاقك الخاص

تتم استضافة عملية نشر وضع العلامات من جهة الخادم التلقائية على نطاق App Engine. ننصحك بتعديل عملية النشر لاستخدام نطاق فرعي من موقعك الإلكتروني.

ربط النطاق الفرعي لموقعك الإلكتروني بخادم وضع العلامات

4. إضافة عنوان URL للخادم إلى أداة "إدارة العلامات من Google"

بعد إعداد خادم، عليك التأكّد من أنّ أداة "إدارة العلامات من Google" تعرف أنّه يجب استخدام خادمك.

  1. افتح Google Tag Manager.

  2. انقر على حاوية الخادم التي تريد توجيهها إلى خادم وضع العلامات.

  3. افتح إعدادات حاوية الخادم في علامة التبويب المشرف > إعدادات الحاوية.

  4. انقر على إضافة عنوان URL والصِق عنوان URL الخاص بالخادم.

  5. انقر على حفظ والرجوع إلى مساحة عملك.

5- التحقّق من الصحة

بعد إعداد خادم وضع العلامات، تأكَّد من أنّه يعمل على النحو المطلوب.

التحقّق من واجهة المستخدم

في مساحة العمل بحسابك على أداة Google Tag Manager، انقر على الزرّ معاينة. إذا تم تحميل صفحة المعاينة، يعني ذلك أنّه تم إعداد كل شيء بشكل صحيح.

التحقّق من واجهة برمجة التطبيقات

يمكنك أيضًا التأكّد من أنّ الخادم يستجيب لعمليات التحقّق من السلامة باستخدام واجهة برمجة التطبيقات الخاصة به:

  1. انسخ عنوان URL لحاوية الخادم من المشرف > إعدادات الحاوية.
  2. افتح علامة تبويب جديدة في المتصفّح.
  3. الصِق عنوان URL وأضِف /healthy إلى المسار. على سبيل المثال: https://www.example.com/metrics/healthy
  4. إذا كانت خدمتك تعمل، من المفترض أن يظهر النص ok على الصفحة.

إذا كانت طلبات منتج معيّن غير متوفّرة، تأكَّد من أنّه يتم تشغيل حدث. يؤدي الأمر config إلى بدء تشغيل المنتج، ولكن لا يتم عادةً نقل البيانات إلا عند استدعاء event.

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

معاينة عناوين URL متعددة

إذا ربطت عدّة نطاقات بخادم وضع علامات واحد، تأكَّد من إضافة كل عنوان URL إلى إعدادات الحاوية.

في حال تقديم عناوين URL متعددة، يجب أن تتطابق جميع المسارات (السلسلة التي تلي اسم النطاق).

الأعمال لا يعمل
عنوان URL 1: example.com/abc
عنوان URL 2: example2.com/abc
عنوان URL 1: example.com/abc
عنوان URL 2: example2.com/def

في حال إضافة عناوين URL متعدّدة، سيظهر رمز بجانب الزر معاينة يتيح لك اختيار عنوان URL الذي تريد معاينته.

تعديل إصدار خادم وضع العلامات

تحتوي تحديثات خادم وضع العلامات الجديدة على إصلاحات للثغرات الأمنية وميزات جديدة. ننصحك بتحديث خادم وضع العلامات على الأقل لكل إصدار رئيسي (مثل الترقية من الإصدار 1.x.x إلى 2.x.x) عندما تطلب منك "إدارة العلامات من Google" إجراء التحديث.

لتعديل خادم وضع العلامات، أعِد تشغيل نص الإعداد باستخدام الإعدادات نفسها التي استخدمتها سابقًا. يتم ضبط الإعدادات الحالية تلقائيًا.

لتعديل خادم وضع العلامات، اتّبِع الخطوات التالية:

  1. افتح Cloud Shell في Google Cloud Platform.
  2. اضبط مشروع Cloud Platform في Cloud Shell. استبدِل project ID برقم تعريف مشروع Google Cloud Platform الذي دوّنته سابقًا:
    gcloud config set project project ID
  3. نفِّذ نص الإعداد البرمجي باستخدام الإعدادات نفسها التي استخدمتها سابقًا. يتم ضبط الإعدادات الحالية تلقائيًا.
    bash -c "$(curl -fsSL https://googletagmanager.com/static/serverjs/setup.sh)"

للتأكّد من نجاح عملية التعديل، اتّبِع الخطوات التالية:

  1. في حاوية الخادم، انقر على الزر معاينة لبدء جلسة تصحيح أخطاء جديدة وإرسال طلب في علامة تبويب منفصلة.
  2. في "الملخّص"، اختَر علامة التبويب وحدة التحكّم وتأكَّد من عدم ظهور أي رسائل تطلب منك تعديل خادم وضع العلامات.

قد تعرض Tag Manager رسائل تطلب منك تعديل خادم وضع العلامات لمدة تصل إلى يوم واحد بعد تعديل الخادم بنجاح. ومع ذلك، ستعرض صفحة المعاينة رسالة حديثة بشأن إصدار خادم وضع العلامات.

تحديد المشاكل وحلّها في ما يتعلّق بانتهاء مهلة نشر الإصدارات المخصّصة للإنتاج

عند تشغيل نص الإعداد لإنشاء خادم وضع العلامات أو إعادة ضبط إعداداته، قد تنتهي مهلة النص. هناك عدة أسباب محتملة لحدوث ذلك. في ما يلي النوعان الأكثر شيوعًا:

  1. حسابات الخدمة لديها أذونات غير صحيحة: حسابات الخدمة في Compute Engine وApp Engine مسؤولة عن نشر عملية النشر في مرحلة الإنتاج والحفاظ عليها. ويتم ضبطها مسبقًا بشكل تلقائي باستخدام الأذونات المناسبة. ومع ذلك، في بعض الحالات، قد تتسبّب سياسة المؤسسة في أن تكون هذه المعلومات غير صحيحة.

    1. انتقِل إلى صفحة المشرف وإدارة الهوية وإمكانية الوصول في شريط التنقّل الأيمن في Google Cloud Console.
    2. ابحث عن حساب خدمة Compute Engine <project_number>-compute@developer.gserviceaccount.com وحساب خدمة App Engine <project_name>@appspot.gserviceaccount.com.
    3. يجب أن يكون لكلا حسابَي الخدمة دور Editor. إذا لم يكن أي من الحسابَين يتضمّن دور Editor، عدِّل الدور من خلال النقر على رمز القلم الرصاص على يسار الحساب، ثم النقر على القائمة المنسدلة الخاصة بالدور الحالي، ثم الانتقال إلى أعلى الصفحة والنقر على المشروع، ثم المحرّر.
  2. الحصة غير كافية: يستهلك النشر في مرحلة الإنتاج حصة Compute Engine. إذا لم يكن لدى المشروع حصة كافية، قد تنتهي مهلة النشر أثناء محاولة توفير الموارد.

    1. انتقِل إلى صفحة المشرف وإدارة الهوية وإمكانية الوصول في شريط التنقّل الأيمن ضمن Google Cloud Console، ثم انقر على علامة التبويب الحصص في شريط التنقّل الأيمن.
    2. بالقرب من أعلى الصفحة، انقر على مربّع النص الذي يحمل العنوان فلترة الجدول واكتب Compute Engine API. انقر على النتيجة الوحيدة.
    3. تأكَّد من أنّ جميع حالات الحصة ضمن الحدّ المسموح به أو تتضمّن علامة اختيار خضراء.
    4. ابحث عن وحدات المعالجة المركزية وانقر عليها. تأكَّد من أنّ الاستخدام الحالي بالإضافة إلى عدد المثيلات التي يتم نشرها سيظل أقل من الحدّ الأقصى لمنطقة النشر.