في هذه الصفحة · 10 أقسام
- لماذا تخطئ طرق تتبع Elementor المعتادة في العدّ
- ما تحتاجه قبل أن تبدأ
- الخطوة 1: أعطِ كل نموذج اسمًا ومعرّفًا ثابتين
- الخطوة 2: ادفع generate_lead إلى الـ dataLayer عند النجاح فقط
- الخطوة 3: أنشئ مشغّل GTM ووسم حدث GA4
- الخطوة 4: حدّد generate_lead كحدث رئيسي في GA4
- الخطوة 5: احتسب العميل المحتمل في Google Ads
- الخطوة 6: خزّن معاملات UTM و GCLID على العميل المحتمل
- اختبره قبل أن تثق به
- مشكلات شائعة وكيف تصلحها
الطريقة الموثوقة لتتبع إرسال نماذج Elementor باستخدام Google Tag Manager هي الاستماع إلى الحدث الذي يطلقه Elementor Pro فقط بعد قبول النموذج، وهو submit_success، ودفع حدث generate_lead إلى الـ dataLayer في تلك اللحظة. بعد ذلك، يطلق مشغّل Custom Event على generate_lead في GTM وسم حدث GA4 وتحويل Google Ads. أما مشغّلات النقر على الزر ومشغّلات إرسال النماذج العامة فتحتسب المحاولات الفاشلة والمزعجة، فلا تعطيك أرقام عملاء محتملين يمكن الوثوق بها.
النسخة المختصرة:
- أعطِ كل نموذج Elementor اسمًا (Form name) ومعرّفًا (Form ID) ثابتين.
- أضف مستمعًا صغيرًا يدفع
generate_leadإلى الـ dataLayer عندsubmit_success. - في GTM، أطلق وسم حدث GA4 من مشغّل Custom Event، ثم حدّد
generate_leadكحدث رئيسي (key event) في GA4. - احتسب العميل المحتمل نفسه في Google Ads، إما باستيراد الحدث الرئيسي من GA4 أو عبر وسم تحويل Google Ads.
- احفظ معاملات 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
- المتغيرات. أنشئ متغيرين من نوع Data Layer Variable:
form_idوform_name. - المشغّل. أنشئ مشغّل Custom Event باسم الحدث
generate_lead، يُطلق مع كل الأحداث المخصصة. - الوسم. أنشئ وسم 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 أي العملاء المحتملين تحولوا إلى عملاء فعليين، لا من ملأ النموذج فقط.
اختبره قبل أن تثق به
- في GTM، انقر Preview، واربط Tag Assistant بالصفحة التي تحتوي النموذج، وافتحها بمعاملات اختبار، مثل
?utm_source=test&utm_medium=cpc&gclid=TEST123. - أرسل النموذج مع ترك حقل إلزامي فارغًا. يجب ألا يظهر أي
generate_lead. وإن ظهر، فهناك شيء آخر غير هذا المستمع يُطلق الحدث. - أرسله بشكل صحيح. يجب أن ترى حدث
generate_leadواحدًا بالضبط معform_idالصحيح، ووسوم GA4 (و Ads) تحت “Tags Fired”. - افتح الإرسال في Elementor → Submissions (أو البريد الإلكتروني/CRM) وتأكد من أن الحقول المخفية تحمل قيم الاختبار.
- في 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.
المزيد في التتبع والتحليلات
التتبع والتحليلات كيف تتتبع نقرات واتساب وعملاء واتساب المحتملين في GA4 و Google Ads
تتبّع نقرات زر واتساب في GA4 و Google Ads، مع GTM أو بدونه، ثم اربط محادثات واتساب بالحملات التي بدأتها حتى تحتسب عملاء محتملين حقيقيين لا نقرات فقط.
الأتمتة والتكاملات لماذا Zapier مكلف إلى هذا الحد؟ كيف تخفض فاتورتك (ومتى تنتقل إلى n8n)
يحتسب Zapier رسومه لكل مهمة، وكل خطوة إجراء تُحتسب. اعثر على الـ Zaps التي تلتهم مهامك، وخفّض الفاتورة دون مغادرة Zapier، واعرف متى يستحق الانتقال إلى n8n أو تكامل مخصص.