ازاي تقيس الاعلانات الاوفلاين: الطريقتين الرسميتين بالحدود

أكتر سؤال بييجي من حسابات بتبيع في فرع أو على التليفون: إحنا بنصرف على إعلانات وبنبيع أوفلاين، فإزاي نعرف الإعلان جاب كام؟ والسؤال ده له إجابة أوضح مما بيتقال، بس الإجابة مش في الـAPI. هي في سجل المبيعات عندك.

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

مسار ميتا: أحداث المتجر عن طريق Conversions API

ميتا بتوصف المسار ده في توثيق Offline Events via Conversions API، والأرقام اللي جواه هي اللي بتقرر هل ده قابل للتطبيق عندك ولا لأ:

ومنع التكرار هنا بيشتغل بمفاتيح مختلفة عن الويب: dataset_id و event_time و event_name و item_number، زائد مفتاح إما order_id أو معاملات بيانات العميل. لو بترفع نفس المعاملة من مصدرين بمعرّفات مختلفة، انت مش بتقيس، انت بتعد مرتين. وأساس منع التكرار وحدوده متغطي في شرح Conversions API.

خد بالك من نافذة الـ٦٢ يوم تحديداً، لأنها بتقرر تصميم عملية الرفع عندك. لو الفرع بيسلّم كشف مبيعات كل شهرين، فأنت على الحد. ولو بيسلّمه كل ربع سنة، فأنت بتفوّت جزء من معاملاتك قبل أي كلام عن دقة.

What this covers
What this covers

مسار جوجل: رفع تحويلات على مستوى الكليك

على جوجل، الفكرة إنك بتخزّن معرّف الكليك مع بيانات العميل وقت ما بيسيب رقمه أو بيدخل الفرع، وبعدين بترفع التحويل لما يحصل. التوثيق في صفحة Upload click conversions في Google Ads API، وأهم شرط فيه بيبان بسيط وبيوقع أغلب الناس:

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

السبب اللي بيخلي أغلب المحاولات تفشل قبل الـAPI

في كل حالة شفتها، المشكلة مكانتش في التكامل. كانت في إن سجل المبيعات الأوفلاين مفيهوش الحاجات اللي المطابقة محتاجاها. الأعراض دايماً واحدة:

اللي موجود في سجل الفرعاللي المطابقة محتاجاهالنتيجة
تاريخ بدون ساعة ولا منطقة زمنيةوقت كامل بمنطقة زمنيةالرفع بيترفض أو بيتنسب لليوم الغلط
اسم العميل مكتوب بالعربي بأشكال مختلفةمعرّف ثابت أو بيانات عميل منظّفةنسبة مطابقة واطية بدون سبب واضح
مفيش رقم أوردرorder_id أو مفتاح ثابتمنع التكرار مش بيشتغل
كشف بيوصل كل ربع سنةرفع في خلال ٦٢ يومجزء من المعاملات بره النافذة
قيمة البيع بدون عملةvalue و currencyالحدث ناقص وبيترفض

يعني الشغل الحقيقي مش عند ميتا ولا جوجل. الشغل عند تحويل سجل مبيعات الفرع من ملف إكسل لحاجة فيها معرّف ووقت مظبوط لكل صف. وده مش مشروع تتبع، ده مشروع بيانات، وبيتعمل مرة واحدة وبعدها كل حاجة تانية بتبقى أسهل.

ولو ده هو مكانك حالياً، الجزء التقني منه مشروح بشكل عملي في نوتة عند rivl عن الانتقال من ملفات الإكسل لقاعدة بيانات من غير ما تخسر التاريخ. النوتة بالإنجليزي، وموجهة لحد بيقرر يبني ولا يشتري، مش لميديا باير.

At a glance
At a glance

ترتيب التنفيذ اللي بيوصل لنتيجة

لو هتعمله، اعمله بالترتيب ده بالظبط. أي ترتيب تاني بيخلّي المشكلة تظهر متأخر:

ولو التتبع الأساسي عندك مش مظبوط من الأساس، فالأوفلاين مش أولوية، لأن الأخطاء بتتراكم. الأخطاء الشائعة في الإعداد الأساسي متغطية في ازاي تظبط Conversions API صح، ولو بتفكر تنقل التتبع للسيرفر فالتكلفة الحقيقية في شرح Server Side Tracking.

والبيع اللي بيحصل على التليفون؟

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

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

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

حدود صريحة: ده بينسب، مش بيثبت

دي أهم نقطة في المقالة، وأكتر واحدة بتتنسى بعد ما الرفع يشتغل.

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

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

وحد تاني: نسبة المطابقة عندك هتكون أقل من الويب، دايماً. بيانات الفرع أقل نظافة من بيانات الشيك آوت، وده طبيعي مش عيب في إعدادك. فلو استنيت نسبة مطابقة زي الويب، هتفضل تدوّر على غلط مش موجود.

وبصراحة: لو حسابك بيصرف مبلغ صغير والبيع الأوفلاين عندك قليل، فالمجهود ده مش مستاهل دلوقتي. الأصدق إنك تسأل البايع سؤال واحد عند كل بيعة عن مصدرها وتسجّله. مش دقيق، بس أرخص بكتير وبيجاوب نفس السؤال في حجم صغير.

أسئلة شائعة

أقدر أرفع مبيعات من سنة فاتت؟

لأ. توثيق ميتا بيقول إن معاملات المتجر بـphysical_store المفروض ترفعها في خلال ٦٢ يوم من التحويل، وإن event_time يقدر يكون لحد ٧ أيام قبل ما تبعت الحدث. أي حاجة أقدم من كده بره التصميم، وتعامل معاها كإنها مش موجودة بدل ما تبني عليها.

محتاج بيانات شخصية للعملاء عشان القياس ده؟

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

ليه نسبة المطابقة عندي واطية مع إن كل حاجة مظبوطة؟

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

ده بيخليني أعرف الإعلان جاب كام فلوس بالظبط؟

بيخليك تعرف أكتر من قبل، ومش بيخليك تعرف بالظبط. القياس ده نسبة لا إثبات. لو محتاج إثبات إن الإعلان هو السبب، فده اختبار أثر إضافي مش رفع تحويلات.