الإجابة المختصرة
إعداد التجارة الإلكترونية في GA4 يعني إرسال الأحداث التي تقترحها Google مثل view_item وadd_to_cart وbegin_checkout وpurchase مع مصفوفة items، واستخدام transaction_id فريد وvalue وcurrency في حدث الشراء، ثم اختبار البيانات في DebugView، والتأكد من أن purchase مصنّف كحدث رئيسي (التحويل سابقًا، ويصنّفه GA4 تلقائيًا) واستيراده إلى إعلانات Google. عند الإعداد الصحيح تظهر الإيرادات تلقائيًا في تقارير تحقيق الربح.
أهم النقاط
- لا تخترع أسماء أحداث خاصة بك؛ الأحداث المقترحة من Google هي التي تملأ تقارير التجارة الإلكترونية تلقائيًا.
- حدث purchase يحتاج إلى transaction_id وvalue وcurrency وitems كاملة، وإرسال value دون currency يُفسد الإيرادات.
- معرّف المعاملة الفارغ يجعل GA4 يعامل كل الطلبات كطلب واحد مكرر، والمعرّف المتغير عند كل تحميل يضخّم الإيرادات.
- "التحويل" في GA4 أصبح "الحدث الرئيسي"، ويعود اسمه "إحالة ناجحة" بعد استيراده إلى إعلانات Google.
- اختبر كل حدث ومعلماته في DebugView قبل الإطلاق، ثم قارن عدد الطلبات مع لوحة متجرك.
المحتويات
ماذا يشمل إعداد التجارة الإلكترونية في GA4 بالضبط؟
باختصار: أن ترسل كل خطوة من خطوات الشراء في متجرك باسم الحدث القياسي الذي يعرفه GA4، ومعها مصفوفة items التي تحمل بيانات المنتجات. عندها تظهر الإيرادات وعدد الطلبات وأداء كل منتج في التقارير دون أي إعداد إضافي.
يتكوّن الإعداد من خمس طبقات، وكل طبقة تعتمد على التي قبلها:
- طبقة البيانات يكتب المتجر (Shopify أو سلة أو زد أو WooCommerce أو نظام مخصص) بيانات المنتج والطلب في
dataLayerعند كل خطوة. - العلامات يقرأ Google Tag Manager هذه البيانات ويرسلها إلى GA4 كأحداث.
- الاختبار تتحقق من كل حدث ومعلماته واحدًا واحدًا في DebugView.
- وضع العلامة تتأكد من أن purchase مصنّف كحدث رئيسي.
- الاستيراد تربط GA4 بإعلانات Google وتحوّل الحدث الرئيسي إلى إحالة ناجحة.
كثير من الشروحات العربية ما زالت تتحدث عن زر "وضع علامة كتحويل". الواجهة تغيّرت، وأسماء القوائم الواردة هنا هي المستخدمة في واجهة GA4 العربية حتى سبتمبر 2026.
ما أحداث التجارة الإلكترونية التي يجب إرسالها إلى GA4؟
استخدم أسماء الأحداث التي تقترحها Google حرفيًا؛ فبمجرد أن تخترع اسمًا خاصًا لن تمتلئ أبعاد ومقاييس التجارة الإلكترونية. وثائق Google للمطورين تبني تقارير التجارة الإلكترونية على هذه الأسماء القياسية تحديدًا.
| الحدث | متى يُرسَل | الأولوية |
|---|---|---|
view_item_list | عند عرض صفحة تصنيف أو نتائج بحث | متوسطة |
select_item | عند النقر على منتج من القائمة | منخفضة |
view_item | عند فتح صفحة المنتج | عالية |
add_to_cart / remove_from_cart | عند الإضافة إلى السلة أو الحذف منها | عالية |
view_cart | عند فتح صفحة السلة | متوسطة |
begin_checkout | عند بدء إتمام الطلب | عالية |
add_shipping_info / add_payment_info | عند إكمال خطوتي الشحن والدفع | متوسطة |
purchase | عند تأكيد الطلب | إلزامية |
refund | عند استرداد كلي أو جزئي | متوسطة |
view_promotion / select_promotion | عند ظهور بانر عرض أو النقر عليه | منخفضة |
إذا كانت مواردك محدودة فابدأ بالرباعية الأساسية: view_item وadd_to_cart وbegin_checkout وpurchase. هذه الخطوات الأربع تكفي لترى أين يتسرب العملاء من مسار الشراء، وقد شرحنا النِّسب التي تستحق المتابعة في دليل مؤشرات أداء الإعلانات.
ما المعلمات المطلوبة في حدث purchase؟
أربعة حقول حاسمة في حدث الشراء: transaction_id وvalue وcurrency وitems. وفق وثائق Google للمطورين، عند إرسال value يجب ضبط currency على مستوى الحدث، ويمكن أن تضم مصفوفة items حتى 200 عنصر.
- transaction_id: رقم الطلب في متجرك. يجب أن يكون فريدًا لكل طلب وألا يحتوي على بيانات تعرّف العميل مثل البريد أو رقم الجوال.
- value: مجموع سعر المنتجات × الكمية. أرسل الشحن والضريبة في حقلي
shippingوtaxالمنفصلين حتى يبقى تعريف الإيراد ثابتًا. - currency: رمز ISO مثل
SARأوAEDأوEGPأوUSD. إذا كان متجرك يبيع بأكثر من عملة (مثلًا السعودية والإمارات معًا) فأرسل عملة الطلب الفعلية بدل تثبيت قيمة واحدة. - items: لكل منتج على الأقل
item_idأوitem_name، ومعهpriceوquantityوitem_brandوitem_categoryوitem_variant.
كيف أُعدّ التجارة الإلكترونية عبر dataLayer في GTM؟
يكتب موقعك عند كل خطوة dataLayer.push يحتوي على اسم event وكائن ecommerce، ثم تلتقط علامة حدث GA4 في GTM هذا الحدث وترسله إلى GA4. في مثال Google الرسمي يُمسح كائن التجارة الإلكترونية السابق قبل كل إرسال.
مثال لصفحة تأكيد الطلب (القيم توضيحية):
dataLayer.push({ ecommerce: null }); // مسح كائن التجارة الإلكترونية السابق
dataLayer.push({
event: 'purchase',
ecommerce: {
transaction_id: 'SA-100245',
value: 398.00,
tax: 59.70,
shipping: 25.00,
currency: 'SAR',
coupon: 'WELCOME10',
items: [{
item_id: 'SKU-3321',
item_name: 'Oud Perfume 100ml',
item_brand: 'Sample Brand',
item_category: 'Perfumes',
item_variant: '100ml',
price: 199.00,
quantity: 2
}]
}
});
ما تفعله داخل GTM:
- من قسم المشغّلات أنشئ مشغّلًا من نوع حدث مخصص واسم الحدث فيه
purchase. - أنشئ علامة جديدة من نوع Google Analytics: GA4 Event، وأدخل معرّف القياس، واكتب
purchaseفي اسم الحدث. - من الإعدادات الإضافية فعّل خيار إرسال بيانات التجارة الإلكترونية، واختر طبقة البيانات (Data Layer) كمصدر للبيانات.
- كرّر الأمر لأحداث
view_itemوadd_to_cartوbegin_checkout، أو اجعل اسم الحدث ديناميكيًا بالمتغير{{Event}}واكتفِ بعلامة واحدة إذا كثرت الأحداث.
كيف يضخّم تكرار transaction_id الإيرادات وكيف تمنعه؟
يزيل GA4 تكرار أحداث الشراء التي تصل بنفس transaction_id في مصادر بيانات المواقع الإلكترونية؛ أي أن تحديث صفحة الشكر لن يسجّل الإيراد مرتين ما دام المعرّف صحيحًا. المشكلة تبدأ عندما يكون المعرّف فارغًا أو ثابتًا أو يُولَّد من جديد عند كل تحميل.
ثلاث قواعد من صفحة مساعدة Google يجب الالتزام بها:
- أرسل معرّفًا فريدًا وديناميكيًا لكل طلب، ولا تستخدم المعرّف نفسه مع مستخدمين مختلفين.
- لا ترسل نصًا فارغًا (
transaction_id: "") أبدًا؛ فـ GA4 سيعدّ كل عمليات الشراء ذات المعرّف الفارغ تكرارًا لبعضها ويحذفها، فتظهر طلباتك أقل من الحقيقة. - إزالة التكرار تعمل في مصادر بيانات المواقع فقط، ولا تعمل في مصادر بيانات التطبيقات.
مثال رقمي: متجر يستقبل 1,000 طلب شهريًا بمتوسط سلة 400 ريال سعودي، و8% من العملاء يعيدون تحميل صفحة الشكر. إذا كان المعرّف يُولَّد من جديد عند كل تحميل فسينشأ 80 حدث شراء وهمي، ويعرض GA4 إيرادًا قدره 432,000 ريال بدل 400,000 ريال. أما إذا كان المعرّف فارغًا فتنقلب الصورة: تُدمج الطلبات كلها وكأنها معاملة واحدة. في الحالتين يصبح حساب العائد على الإنفاق الإعلاني خاطئًا.
لا تعتمد على إزالة التكرار وحدها؛ أطلق purchase عند أول عرض لصفحة الشكر فقط، مثلًا بحفظ رقم الطلب في ملف تعريف ارتباط أو في تخزين الجلسة وتجاوز العلامة عند إعادة التحميل. وإذا اختلف عدد الطلبات بين GA4 ولوحة المتجر فقد فصّلنا الأسباب في مقال لماذا لا تتطابق أرقام Shopify وMeta وGA4.
ما هو الحدث الرئيسي في GA4 وكيف تضع علامة على purchase؟
الحدث الرئيسي هو الحدث الذي تعدّه قيّمًا لعملك، وهو ما كان GA4 يسمّيه سابقًا "إحالة ناجحة" أو "تحويل". أصبح اسمه في الواجهة العربية "الأحداث الرئيسية"، بينما بقيت كلمة "الإحالات الناجحة" (Conversions) لقياس إعلانات Google.
يصنّف GA4 حدث purchase كحدث رئيسي تلقائيًا، لذا يكفي في معظم المواقع أن تتأكد من ذلك:
- انتقل إلى المشرف، ثم انقر على الأحداث ضمن عرض البيانات.
- ابحث عن
purchaseفي علامة التبويب الأحداث الأخيرة. يظهر الحدث بعد وصول أول عملية شراء. - تأكد من أن رمز النجمة بجانبه ممتلئ. إذا أزال أحدهم العلامة، فانقر على النجمة لتصنيفه كحدث رئيسي من جديد.
وفق Google، قد يستغرق ظهور الحدث الرئيسي المصنّف حديثًا في التقارير العادية ما يصل إلى 24 ساعة. لا تجعل كل حدث حدثًا رئيسيًا. الخطوات الصغيرة مثل add_to_cart تراها في التقارير على أي حال، وتكديس قائمة الأحداث الرئيسية يشوّش التقارير وعملية الاستيراد إلى إعلانات Google. وتذكر صفحة المساعدة نفسها أن تفعيل الإعلانات المخصّصة مع حساب إعلانات Google مرتبط يصنّف بعض الأحداث مثل add_to_cart وbegin_checkout وview_item كأحداث رئيسية أيضًا، فراجع القائمة بعد الربط. تجد موقع هذه الخطوات الصغيرة من رحلة العميل في مقال رسم خريطة رحلة العميل.
كيف أختبر الإعداد باستخدام DebugView؟
فعّل وضع تصحيح الأخطاء، ونفّذ عملية شراء حقيقية كاملة على الموقع، ثم افتح المشرف › عرض البيانات › DebugView وتحقق من كل حدث ومعلماته. الجلسات التي تفتحها من وضع المعاينة في GTM أو عبر Tag Assistant تُحسب في وضع تصحيح الأخطاء.
تنقسم شاشة DebugView إلى ثلاثة أجزاء: في الوسط الأحداث المسجلة خلال آخر 60 ثانية، وعلى أحد الجانبين بث الدقائق الذي يعرض عدد الأحداث في كل دقيقة من آخر 30 دقيقة، وعلى الجانب الآخر الأحداث الأكثر تكرارًا وخصائص المستخدم. إذا كان وضع التصحيح مفعّلًا على أكثر من جهاز فاختر جهازك من أداة اختيار الأجهزة في الأعلى.
- هل تصل
view_itemثمadd_to_cartثمbegin_checkoutبالترتيب؟ - عند فتح purchase: هل
transaction_idوvalueوcurrencyممتلئة، وهل value رقم بفاصلة نقطية؟ - هل معرّف المنتج والسعر والكمية داخل
itemsصحيحة؟ - عند تحديث صفحة الشكر، هل يظهر حدث purchase ثانٍ؟
- هل يصل الكوبون والشحن في حقلين منفصلين؟
- إذا دفع العميل عبر Tabby أو Tamara أو بوابة تحقق خارجية، هل يعود إلى صفحة الشكر ويُطلق purchase؟
- عند رفض ملفات تعريف الارتباط، هل تتصرف العلامات كما هو متوقع؟
إذا لم تكن شاشة الموافقة على ملفات تعريف الارتباط مضبوطة جيدًا فقد لا تصل البيانات إلى GA4 أصلًا أو تختلط بالبيانات المُنمذَجة؛ تناولنا ذلك في دليل Consent Mode v2.
كيف أربط GA4 بإعلانات Google وأستورد الأحداث الرئيسية؟
اربط الحسابين أولًا من المشرف › الروابط بين المنتجات › روابط "إعلانات Google"، ثم من قسم الإعلانات افتح إدارة الإحالات الناجحة وأنشئ إحالة ناجحة جديدة من حدث purchase.
متطلبات الربط
- دور مشرف أو محرِّر في موقع GA4
- إذن وصول إداري في حساب إعلانات Google
- تفعيل وضع العلامات التلقائي أثناء الربط
- خيار الإعلانات المخصّصة مفعّل افتراضيًا؛ عدّله حسب احتياجك
متطلبات استيراد الإحالات الناجحة
- إذن وصول جهة التسويق على الأقل
- إحالة ناجحة جديدة ← اختيار الحساب ← اختيار الأحداث الرئيسية ← فئة الإحالة الناجحة
- إذا كان حساب إعلانات Google يضم أهدافًا من موقع Analytics، تصل الإحالات الناجحة المستوردة كإجراءات ثانوية لتجنب الاحتساب المزدوج
- تعديل الهدف وتحسين العروض يتم من إعلانات Google نفسها
أكثر الأخطاء شيوعًا هو الاحتساب المزدوج: إذا كان لديك إجراء شراء أساسي يقيسه وسم إعلانات Google، ثم جعلت purchase المستورد من GA4 أساسيًا أيضًا، فستحسب استراتيجية عروض الأسعار الطلب نفسه مرتين. قرّر أيهما يبقى أساسيًا واترك الآخر ثانويًا.
يسألك GA4 كذلك عن القنوات المؤهلة للحصول على رصيد الإحالة الناجحة: القنوات المدفوعة على Google أو القنوات المدفوعة والمجانية. اختلاف رقم إعلانات Google عن صف "google / cpc" في GA4 يعود في الغالب إلى هذا الخيار وإلى اختلاف منطق الإسناد بين الأداتين. وإن أردت رؤية هذه الفروق جنبًا إلى جنب مع بيانات Meta والمتجر، فشاشة تحليل التحويلات في Marpany تجمع المصادر في جدول واحد.
ما أكثر أخطاء إعداد التجارة الإلكترونية في GA4 شيوعًا؟
معظم الأخطاء لا تأتي من العلامة نفسها، بل من القيم المكتوبة في طبقة البيانات. الجدول التالي يأخذك من العَرَض إلى السبب بسرعة.
| العَرَض | السبب المحتمل | الحل |
|---|---|---|
| الإيرادات صفر أو منخفضة جدًا | value يُرسل كنص أو برمز عملة أو بأرقام هندية؛ currency مفقودة | أرسل value رقمًا خامًا وcurrency على مستوى الحدث |
| عدد الطلبات ضعف ما في المتجر | التكامل الجاهز وGTM يرسلان purchase معًا | أبقِ مصدرًا واحدًا فقط |
| عدد الطلبات أقل بكثير | transaction_id فارغ أو ثابت | اكتب رقم الطلب الحقيقي ديناميكيًا |
| تقارير المنتجات فارغة | لا توجد مصفوفة items أو ينقصها item_id وitem_name | أضف أحدهما على الأقل لكل منتج |
| حدث الإضافة للسلة يعرض منتجًا آخر | كائن ecommerce السابق لا يُمسح | أرسل ecommerce: null قبل كل دفعة |
| البيانات تنقطع عند الدفع | الدفع يكتمل على نطاق خارجي (بوابة دفع أو خدمة تقسيط) أو داخل iframe | راجع القياس عبر النطاقات والعودة إلى صفحة الشكر |
ولا تنسَ المرتجعات: عند إرسال حدث refund بنفس transaction_id تخصم تقارير GA4 المبلغ المسترد. في الاسترداد الجزئي أرسل المنتجات المستردة فقط داخل items. تجاهل هذه الخطوة في فئات المرتجعات العالية كالأزياء يُظهر صافي الإيراد من الإعلانات أعلى من حقيقته ويدفع قرارات الميزانية في الاتجاه الخطأ.
ماذا أفعل في الأسبوع الأول بعد الإعداد؟
قارن البيانات بلوحة متجرك وقلّص الفارق إلى حد مقبول؛ لا يُعدّ الإعداد مكتملًا إلا بعد هذا التحقق.
- اليوم 1 نفّذ طلبًا تجريبيًا في DebugView، ثم ألغِه وجرّب حدث
refund. - اليوم 2–3 تأكد من امتلاء تقريري عمليات الشراء عبر نظام التجارة الإلكترونية ونظرة عامة على تحقيق الربح.
- اليوم 4–5 قارن عدد الطلبات في GA4 بعددها في لوحة المتجر؛ وعند فارق كبير راجع transaction_id وإعدادات الموافقة.
- اليوم 6–7 افحص حالة الإحالة الناجحة المستوردة في إعلانات Google وإعداد أساسي/ثانوي.
بعد هذه الخطوات يقف القياس على أرض صلبة، وتبدأ استراتيجيات عروض الأسعار التلقائية في إعلانات Google بالعمل على إشارة صحيحة.
الأسئلة الشائعة
أين ذهبت التحويلات في GA4؟
غيّر GA4 اسم التحويلات إلى الأحداث الرئيسية، وأصبحت الأحداث التي وضعت عليها علامة تحويل سابقًا أحداثًا رئيسية تلقائيًا. مصطلح الإحالات الناجحة يُستخدم الآن في إعلانات Google. تضع العلامة من المشرف ثم عرض البيانات ثم الأحداث.
لماذا يُحتسب حدث purchase مرتين في GA4؟
السببان الأكثر شيوعًا هما إرسال الطلب نفسه من تكامل المنصة الجاهز ومن GTM معًا، أو توليد transaction_id مختلف عند تحديث صفحة الشكر. أبقِ مصدر إرسال واحدًا واستخدم رقم الطلب كمعرّف للمعاملة. يزيل GA4 تكرار عمليات الشراء ذات المعرّف نفسه في مصادر بيانات المواقع.
لماذا تظهر الإيرادات صفرًا في GA4؟
غالبًا لأن value يُرسل كنص منسّق برمز عملة أو فواصل آلاف أو بالأرقام الهندية، أو لأن حقل currency مفقود. يجب أن تكون value رقمًا بفاصلة عشرية نقطية وأن تُرسل currency على مستوى الحدث. افتح معلمات حدث purchase في DebugView للتحقق.
هل أحتاج إلى GTM لإعداد التجارة الإلكترونية في GA4؟
ليس بالضرورة؛ يمكنك إرسال الأحداث مباشرة عبر gtag.js أو عبر تكامل Google الجاهز في منصة متجرك. لكن GTM يمنحك مرونة إضافة العلامات واختبارها دون الرجوع إلى المطوّر في كل مرة. المهم أن ترسل من مصدر واحد وبأسماء الأحداث القياسية.
ما الصلاحيات المطلوبة لربط GA4 بإعلانات Google؟
تحتاج إلى دور مشرف أو محرِّر في موقع GA4 وإلى إذن وصول إداري في حساب إعلانات Google. أما استيراد الأحداث الرئيسية كإحالات ناجحة فيتطلب إذن وصول جهة التسويق على الأقل في إعلانات Google.
لماذا تختلف أرقام التحويلات بين GA4 وإعلانات Google؟
تستخدم الأداتان قواعد إسناد مختلفة، ويوزّع GA4 الرصيد حسب إعدادك إما على القنوات المدفوعة على Google فقط أو على القنوات المدفوعة والمجانية. وإذا قيس الشراء نفسه بوسم إعلانات Google وبالاستيراد من GA4 معًا فقد تختلط الأرقام. تحديد المصدر الأساسي بوضوح يسهّل تفسير الفارق.
المصادر
- Google for Developers: قياس التجارة الإلكترونية (GTM وdataLayer) developers.google.com
- مساعدة إحصاءات Google: تقليل الأحداث الرئيسية المكرّرة باستخدام معرّفات المعاملات support.google.com
- مساعدة إحصاءات Google: ربط إعلانات Google بإحصاءات Google support.google.com
- مساعدة إحصاءات Google: التحقق من الأحداث باستخدام DebugView support.google.com
- مساعدة إحصاءات Google: وضع علامة "حدث رئيسي" على الأحداث support.google.com
- مساعدة إحصاءات Google: إنشاء إحالات ناجحة في إعلانات Google استنادًا إلى الأحداث الرئيسية support.google.com

التركية
الإنجليزية
الإسبانية
العربية
الروسية