التتبع والتحليلات

كيف تتتبع إرسال نماذج Elementor في GA4 و Google Ads عبر GTM

تتبّع إرسال نماذج Elementor في GA4 و Google Ads عبر GTM: حدث generate_lead لا يُطلق إلا عند النجاح، وأحداث رئيسية في GA4، وتحويلات Google Ads، وحفظ UTM و GCLID في حقول مخفية.

توني حلمي · أخصائي MarTech أولآخر تحديث · 10 دقائق قراءة
في هذه الصفحة · 10 أقسام
  1. لماذا تخطئ طرق تتبع Elementor المعتادة في العدّ
  2. ما تحتاجه قبل أن تبدأ
  3. الخطوة 1: أعطِ كل نموذج اسمًا ومعرّفًا ثابتين
  4. الخطوة 2: ادفع generate_lead إلى الـ dataLayer عند النجاح فقط
  5. الخطوة 3: أنشئ مشغّل GTM ووسم حدث GA4
  6. الخطوة 4: حدّد generate_lead كحدث رئيسي في GA4
  7. الخطوة 5: احتسب العميل المحتمل في Google Ads
  8. الخطوة 6: خزّن معاملات UTM و GCLID على العميل المحتمل
  9. اختبره قبل أن تثق به
  10. مشكلات شائعة وكيف تصلحها

الطريقة الموثوقة لتتبع إرسال نماذج Elementor باستخدام Google Tag Manager هي الاستماع إلى الحدث الذي يطلقه Elementor Pro فقط بعد قبول النموذج، وهو submit_success، ودفع حدث generate_lead إلى الـ dataLayer في تلك اللحظة. بعد ذلك، يطلق مشغّل Custom Event على generate_lead في GTM وسم حدث GA4 وتحويل Google Ads. أما مشغّلات النقر على الزر ومشغّلات إرسال النماذج العامة فتحتسب المحاولات الفاشلة والمزعجة، فلا تعطيك أرقام عملاء محتملين يمكن الوثوق بها.

النسخة المختصرة:

  1. أعطِ كل نموذج Elementor اسمًا (Form name) ومعرّفًا (Form ID) ثابتين.
  2. أضف مستمعًا صغيرًا يدفع generate_lead إلى الـ dataLayer عند submit_success.
  3. في GTM، أطلق وسم حدث GA4 من مشغّل Custom Event، ثم حدّد generate_lead كحدث رئيسي (key event) في GA4.
  4. احتسب العميل المحتمل نفسه في Google Ads، إما باستيراد الحدث الرئيسي من GA4 أو عبر وسم تحويل Google Ads.
  5. احفظ معاملات UTM و GCLID في حقول مخفية، ليُظهر كل سجل عميل محتمل مصدره.

هذا فحص واحد من جزء التتبع في تدقيق MarTech، وفي مواقع Elementor هو الفحص الذي أجده معطّلًا أكثر من غيره. إليك الإعداد الذي أستخدمه خطوة بخطوة، مع أسباب كل اختيار.

لماذا تخطئ طرق تتبع Elementor المعتادة في العدّ

لا يرسل عنصر Form في Elementor Pro الصفحة كما يفعل نموذج HTML عادي. عندما ينقر الزائر على الزر، يلغي Elementor الإرسال المعتاد للمتصفح، ويرسل البيانات في الخلفية (AJAX)، وينتظر رد الخادم. ولا يعرض رسالة النجاح ويطلق حدث jQuery اسمه submit_success على النموذج إلا إذا قبل الخادم الإرسال. أما إذا فشل التحقق، فيطلق error بدلًا منه. وقد تحققت من ذلك مقابل كود الواجهة الأمامية لـ Elementor Pro 4.3 في أكتوبر 2026.

ولهذا تحتسب معظم الإعدادات السريعة الشيء الخطأ:

الطريقةما تحتسبه فعلًاالحكم
مشغّل نقر في GTM على زر الإرسالكل نقرة، بما فيها الحقول الفارغة وأخطاء التحقق والنقرات المزدوجةأرقام عملاء متضخمة
مشغّل Form Submission في GTMحدث الإرسال في المتصفح، والذي يتجاوزه Elementor. مع تفعيل “Check Validation” غالبًا لا يُطلق إطلاقًا، ومع تعطيله يُطلق عند المحاولات لا عند النجاحغير موثوق
form_submit من القياس المحسّن في GA4محاولات إرسال النماذج. لا يعرف شيئًا عن قبول Elementor للبياناتجيد لقياس التفاعل، لا لقياس العملاء المحتملين
مشاهدة صفحة الشكرمشاهدات رابط صفحة الشكر، بما فيها إعادة التحميل والزيارات المباشرة. لا يعمل إلا إذا استخدمت إجراء Redirectقابل للاستخدام، لكنه مليء بالضوضاء
مستمع submit_success ← dataLayerالإرسالات التي قبلها Elementorاستخدم هذه

ويصف توثيق Google نفسه لـ مشغّل Custom Event في GTM هذه الحالة بالضبط: تتبع نموذج تم تجاوز سلوك الإرسال الافتراضي فيه.

ما تحتاجه قبل أن تبدأ

  • Elementor Pro مع عنصر Form الكلاسيكي. تمت مراجعة هذا الدليل مقابل Elementor Pro 4.3 (أكتوبر 2026).
  • حاوية Google Tag Manager مثبتة على كل الصفحات، مع وسم Google (معرّف القياس في GA4) يُطلق في كل الصفحات.
  • موقع (property) في GA4 وصلاحية Editor (أو أعلى) عليه.
  • لـ Google Ads: حسابك الإعلاني مرتبط بـ GA4، مع تفعيل الوسم التلقائي (auto-tagging). يضيف الوسم التلقائي GCLID إلى نقرات إعلاناتك.

ملاحظة حول محرر Elementor الأحدث: يتضمن Editor 4 عنصرًا منفصلًا باسم Atomic Form، مبنيًا من “ذرّات” إدخال منفردة. لا يوثّق Elementor الأحداث التي يطلقها هذا العنصر في الواجهة الأمامية، لذا لا تفترض أن المستمع أدناه يعمل معه. إذا بنيت نماذجك بـ Atomic Form، فاختبر في GTM Preview قبل الاعتماد عليه، أو أبقِ نماذج العملاء المحتملين على عنصر Form الكلاسيكي حاليًا.

الخطوة 1: أعطِ كل نموذج اسمًا ومعرّفًا ثابتين

في محرر Elementor، افتح عنصر Form. حدد Form name واضحًا (مثل “Free MarTech audit”)، وتحت Additional Options حدد Form ID فريدًا (مثل free_audit). يُخرج Elementor هذين على الصفحة كسمتي name و id للنموذج:

<form class="elementor-form" id="free_audit" name="Free MarTech audit">

بدونهما لن تستطيع التمييز بين نموذج التواصل ونموذج العرض التوضيحي في GA4. استخدم نمط التسمية نفسه في كل موقع تديره. فالأسماء النظيفة والثابتة هي ما يجعل التقارير مقروءة بعد عام.

الخطوة 2: ادفع generate_lead إلى الـ dataLayer عند النجاح فقط

في GTM، أنشئ وسم Custom HTML بالكود أدناه وأطلقه على مشغّل DOM Ready لكل الصفحات. يضمن DOM Ready توفر jQuery الذي يحمّله Elementor Pro. ويمكنك أيضًا إضافة السكربت نفسه إلى تذييل الموقع عبر إضافة لمقتطفات الكود. استخدم مكانًا واحدًا فقط، وإلا سيُحتسب كل عميل محتمل مرتين.

<script>
(function () {
  if (!window.jQuery) return;
  window.dataLayer = window.dataLayer || [];

  // Elementor Pro triggers "submit_success" (a jQuery event) on the form
  // only after the server accepts the submission.
  jQuery(document).on('submit_success', '.elementor-form', function (event) {
    var form = event.currentTarget;
    window.dataLayer.push({
      event: 'generate_lead',
      form_id: form.getAttribute('id') || '',
      form_name: form.getAttribute('name') || ''
    });
  });
})();
</script>

هناك ثلاث تفاصيل مهمة:

  • إنه حدث jQuery. يُطلق submit_success عبر jQuery، لذا لن يسمعه addEventListener الأصلي. استمع إليه عبر jQuery كما في الكود أعلاه.
  • المستمع مفوَّض إلى المستند (document)، لذا يلتقط أيضًا النماذج داخل نوافذ Elementor المنبثقة التي تُحمَّل بعد الصفحة.
  • لا تدخل أي بيانات شخصية إلى الـ dataLayer. لا تدفع الأسماء أو البريد الإلكتروني أو أرقام الهواتف إلى GA4. فسياسات Google لا تسمح بالمعلومات الشخصية المحددة للهوية في Analytics.

الخطوة 3: أنشئ مشغّل GTM ووسم حدث GA4

  1. المتغيرات. أنشئ متغيرين من نوع Data Layer Variable: form_id و form_name.
  2. المشغّل. أنشئ مشغّل Custom Event باسم الحدث generate_lead، يُطلق مع كل الأحداث المخصصة.
  3. الوسم. أنشئ وسم Google Analytics: GA4 Event. أدخل معرّف القياس، واضبط اسم الحدث على generate_lead، وأضف معاملي الحدث form_id و form_name باستخدام المتغيرين. ثم اربط مشغّل Custom Event.

الحدث generate_lead أحد الأحداث الموصى بها من Google، ويُعرَّف بأنه عميل محتمل تم توليده، مثلًا عبر نموذج. ويقبل أيضًا value و currency. إذا كنت تعرف تقريبًا قيمة العميل المحتمل، فأرسل الاثنين (العملة برمز من ثلاثة أحرف مثل SAR أو USD). فـ Google تشترط العملة كلما أُرسلت قيمة.

الخطوة 4: حدّد generate_lead كحدث رئيسي في GA4

أصبح GA4 يسمي التحويلات “الأحداث الرئيسية” (key events). وحتى أكتوبر 2026، اذهب إلى Admin → Data display → Events وانقر النجمة بجوار generate_lead لـ تحديده كحدث رئيسي. وإذا لم يصل الحدث بعد، يمكنك إنشاؤه هناك مسبقًا مع تفعيل خيار “Mark as key event”. امنحه حتى 24 ساعة ليظهر في التقارير القياسية، بينما يظهر في Realtime خلال دقائق.

ولتقسيم العملاء المحتملين حسب النموذج، سجّل form_id و form_name كـ أبعاد مخصصة على مستوى الحدث. وإلى أن تفعل ذلك، يجمع GA4 المعاملات لكنك لا تستطيع استخدامها في التقارير.

الخطوة 5: احتسب العميل المحتمل في Google Ads

لديك خياران جيدان. اختر أحدهما ليكون التحويل الذي تزايد عليه Google Ads.

الخيار أ: استورد الحدث الرئيسي من GA4

عندما يكون GA4 و Google Ads مرتبطين والوسم التلقائي مفعّلًا، يمكنك إنشاء تحويل في Google Ads من الحدث الرئيسي في GA4. وحتى أكتوبر 2026 يمكنك فعل ذلك في GA4 تحت Advertising → Conversion management → New conversion، أو من جهة Google Ads. لا يحتاج ذلك إلى وسوم إضافية، ويرصد GA4 و Ads الحدث نفسه.

الخيار ب: وسم تحويل Google Ads في GTM

في Google Ads، أنشئ إجراء تحويل يدويًا للموقع واختر إعداده عبر Google Tag Manager. انسخ Conversion ID و Conversion Label. وفي GTM، أضف وسم Google Ads Conversion Tracking بهاتين القيمتين ومشغّل generate_lead نفسه. وتأكد من تخزين بيانات النقرة في صفحات الهبوط: وجود وسم Google في كل صفحة يغطي ذلك، وإلا فأضف وسم Conversion Linker. يرسل هذا المسار التحويل مباشرة إلى Ads، وهو نقطة البداية المعتادة للتحويلات المحسّنة (enhanced conversions).

أيًا كان اختيارك، تجنب احتساب العميل المحتمل نفسه مرتين. وإذا أعددت الاثنين، فاجعل أحدهما الإجراء الأساسي (المستخدم في المزايدة) والآخر ثانويًا (للتقارير فقط). وليس كل عميل محتمل يصل عبر نموذج، لذا بعد أن تعمل النماذج، تتبّع عملاء واتساب بالطريقة نفسها.

الخطوة 6: خزّن معاملات UTM و GCLID على العميل المحتمل

يخبرك GA4 بعدد العملاء المحتملين الذين حققتهم الحملة. أما CRM لديك فيحتاج إلى معرفة أي عميل جاء من أي حملة. أبسط طريقة هي حفظ معاملات الحملة في حقول نموذج مخفية، فتنتقل مع الإرسال. ولتوجيه هذه البيانات إلى وجهة أخرى، يمكنك أيضًا إرسال الإرسال نفسه إلى CRM أو n8n.

في عنصر Form، أضف حقولًا من نوع Hidden واضبط معرّف كل حقل (في تبويب Advanced للحقل) على utm_source و utm_medium و utm_campaign و utm_term و utm_content و gclid. يسميها Elementor form_fields[utm_source] وهكذا. ثم أضف هذا السكربت إلى كل الصفحات، في حاوية GTM نفسها أو التذييل كما في السابق:

<script>
(function () {
  var keys = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'gclid'];
  var params = new URLSearchParams(window.location.search);
  var stored = {};
  try { stored = JSON.parse(sessionStorage.getItem('lead_attribution') || '{}'); } catch (e) {}

  // A new campaign visit replaces the stored values.
  if (keys.some(function (k) { return params.get(k); })) {
    stored = {};
    keys.forEach(function (k) { if (params.get(k)) stored[k] = params.get(k); });
    try { sessionStorage.setItem('lead_attribution', JSON.stringify(stored)); } catch (e) {}
  }

  function fillHiddenFields() {
    keys.forEach(function (k) {
      if (!stored[k]) return;
      document.querySelectorAll('input[name="form_fields[' + k + ']"]').forEach(function (input) {
        input.value = stored[k];
      });
    });
  }

  fillHiddenFields();
  // Forms inside Elementor popups are added when the popup opens.
  window.addEventListener('elementor/popup/show', fillHiddenFields);
})();
</script>

لماذا سكربت بدلًا من الوسم الديناميكي Request Parameter في Elementor؟ يملأ الوسم الديناميكي الحقل على الخادم من رابط الصفحة الحالي. يعمل ذلك عندما يرسل الزائر النموذج من صفحة الهبوط نفسها، لكن القيم تضيع بمجرد انتقاله إلى صفحة أخرى. وقد يعيد أيضًا قيمًا قديمة إذا كانت ذاكرة الصفحات المؤقتة تقدم HTML نفسه لكل نسخ الرابط. أما السكربت فيحتفظ بالقيم طوال جلسة المتصفح ويملؤها في المتصفح. ينتهي تخزين الجلسة عند إغلاق التبويب. وإذا احتجت إلى نوافذ إسناد أطول، فهذا قرار تتخذه مع إعدادات الخصوصية والموافقة لديك.

لا يظهر GCLID في نقرات الإعلانات إلا عند تفعيل الوسم التلقائي. وتخزينه على العميل المحتمل هو ما يتيح لك لاحقًا استيراد التحويلات غير المتصلة بالإنترنت أو استخدام التحويلات المحسّنة للعملاء المحتملين، فتتعلم Google Ads أي العملاء المحتملين تحولوا إلى عملاء فعليين، لا من ملأ النموذج فقط.

اختبره قبل أن تثق به

  1. في GTM، انقر Preview، واربط Tag Assistant بالصفحة التي تحتوي النموذج، وافتحها بمعاملات اختبار، مثل ?utm_source=test&utm_medium=cpc&gclid=TEST123.
  2. أرسل النموذج مع ترك حقل إلزامي فارغًا. يجب ألا يظهر أي generate_lead. وإن ظهر، فهناك شيء آخر غير هذا المستمع يُطلق الحدث.
  3. أرسله بشكل صحيح. يجب أن ترى حدث generate_lead واحدًا بالضبط مع form_id الصحيح، ووسوم GA4 (و Ads) تحت “Tags Fired”.
  4. افتح الإرسال في Elementor → Submissions (أو البريد الإلكتروني/CRM) وتأكد من أن الحقول المخفية تحمل قيم الاختبار.
  5. في GA4، تحقق من ظهور generate_lead في Realtime (أو DebugView).

إذا كان نموذجك يستخدم إجراء Redirect في Elementor، فاختبر هذه الحالة تحديدًا. يعيد Elementor التوجيه مباشرة بعد حدث النجاح، ما يترك لوسومك وقتًا قصيرًا جدًا للإرسال. وإذا لم يصل طلب GA4 أو Ads أثناء الاختبار، فتتبّع صفحة الشكر كخطة احتياطية، أو اعرض رسالة نجاح داخل الصفحة بدلًا من إعادة التوجيه. وإذا فضّلت أن يفحص أحد آخر كل ذلك، فإن فحص سلامة GTM و GA4 المجاني الذي أقدمه يغطي أحداث النماذج والأحداث الرئيسية وتحويلات Ads.

مشكلات شائعة وكيف تصلحها

العَرَضالسبب المرجّحالإصلاح
حدثا generate_lead لكل إرسالالمستمع مثبت مرتين (GTM وإضافة أو مقتطف في التذييل)، أو مشغّل نقر قديم ما زال فعّالًاأبقِ مستمعًا واحدًا. احذف مشغّلات النقر/النماذج القديمة من وسوم العملاء المحتملين
لا يوجد حدث إطلاقًاالمستمع يعمل قبل تحميل jQuery، أو النموذج من نوع Atomic Form أو تابع لإضافة أخرىأطلق وسم Custom HTML على DOM Ready. وتأكد من أن النموذج يحمل الصنف elementor-form
الحدث يُطلق في Preview لا في GA4معرّف قياس خاطئ، أو الموافقة تحجب الوسم، أو تنظر إلى التقارير القياسية مبكرًاتحقق من معرّف الوسم وإعدادات الموافقة، واستخدم Realtime/DebugView
GA4 فيه عملاء محتملون و Google Ads لا يظهر شيئًاالحسابات غير مرتبطة، أو الوسم التلقائي معطّل، أو لم يُنشأ التحويل من الحدث الرئيسي أصلًااربط الحسابات، وفعّل الوسم التلقائي، وأنشئ التحويل (الخطوة 5)
عملاء Ads ≈ ضعف عملاء GA4الحدث الرئيسي المستورد ووسم Ads كلاهما أساسياجعل أحدهما أساسيًا والآخر ثانويًا
الحقول المخفية فارغةمعرّفات الحقول لا تطابق مفاتيح السكربت، أو وصل الزائر دون معاملاتطابق المعرّفات تمامًا. اختبر مع وجود معاملات في الرابط

لماذا كل هذه العناية بحدث واحد؟ لأن كل قرار تحسين يعتمد عليه. من النتائج التي أفخر بها زيادة إرسال طلبات العملاء بنسبة 30% (بعد التحسين)، ورقم كهذا لا يعني شيئًا إلا إذا احتُسب كل إرسال مقبول مرة واحدة، ولم تُحتسب المحاولات الفاشلة إطلاقًا. وعندما أجهّز التتبع للعملاء، يكون هذا الحدث أول ما أبنيه وآخر ما أعيد اختباره بعد أي تغيير في الموقع.

حدث الإرسال مجرد بداية. فبمجرد وصول العملاء المحتملين إلى CRM، يمكنك التقدم أكثر عبر إرسال جودة العملاء المحتملين إلى Meta.

جزء من
قائمة تدقيق MarTechالسرعة والتتبع وتدفق العملاء إلى CRM والأتمتة في قائمة واحدة.

المزيد في التتبع والتحليلات