العودة إلى المدونة
14 أغسطس 2026Sergei Solod10 دقائق قراءة

ما تعلمته من اختبار تكرار إعلانات Popunder مقابل تفاعل المستخدمين

رفعت وتيرة إعلانات popunder في تطبيق ويب يعمل فعليًا وراقبت التفاعل الإجمالي قبل التغيير وبعده. احتفظت بتأخير أولي قدره 45 ثانية وفترة تهدئة دنيا تبلغ أربع دقائق، لكن النتيجة الأهم كانت إدراك مدى الحذر المطلوب عند تفسير متوسط تفاعل يبدو مستقرًا.

إعلانات popunderتحديد التكرارتحقيق الدخل من الويبتفاعل المستخدمتحليلات الويب

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

بعد زيادة التكرار في أحد تطبيقات الويب العاملة لدي، توقعت ظهور فاصل واضح في بيانات التفاعل. بدلًا من ذلك، استمر المؤشر الإجمالي في التحرك تقريبًا ضمن نطاقه اليومي المعتاد. كانت بعض الأيام أفضل وأخرى أسوأ، لكنني لم أرَ انخفاضًا مستمرًا وواضحًا بدأ مع السياسة الجديدة.

في النهاية احتفظت بالإعداد التالي:

التأخير الأولي: 45 ثانية
الحد الأدنى للتهدئة بعد popunder ناجح: 4 دقائق

وأبقيت كذلك نافذة تكرار لا تسمح بأكثر من حدث ناجح واحد خلال فترة الأربع دقائق نفسها:

const policy = {
  initialDelaySeconds: 45,
  cooldownSeconds: 240,
  windowSeconds: 240,
  maxEventsPerWindow: 1,
};

هذا كود شبه برمجي توضيحي لا يرتبط بمزوّد إعلانات أو SDK أو تطبيق أو بنية نشر محددة. التنفيذ نفسه أقل أهمية من السياسة التي يعبّر عنها.

هناك في الواقع قراران مختلفان للتكرار

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

هاتان اللحظتان ليستا متساويتين. الزائر الجديد لم يقرر بعد ما إذا كان المنتج مفيدًا، بينما المستخدم المنخرط فعل ذلك بالفعل. لذلك قررت منح أول مقاطعة حماية أكبر من المقاطعات التالية.

لماذا توقفت عن تحقيق الدخل بقوة في الثواني الأولى

تقليل التأخير الأولي يجعل عددًا أكبر من الزوار مؤهلين، وبالتالي يزيد عدد الأحداث الإعلانية المحتملة. هذا صحيح من الناحية الميكانيكية، لكنه يتجاهل توقيت تحقيق الدخل.

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

كنت أستخدم تأخيرًا أقصر، ثم رفعته إلى 45 ثانية. ما يزال هذا مبكرًا نسبيًا، ولم يكن الهدف إعدادًا محافظًا. الفكرة كانت فقط فصل بداية الزيارة عن أول فرصة لتحقيق الدخل. بدأت أنظر إلى هذه الثواني باعتبارها وقتًا لاكتساب قيمة المنتج، لا مخزونًا إعلانيًا ضائعًا.

خمس وأربعون ثانية عتبة وليست موعدًا ثابتًا

انتهاء التأخير يجعل المستخدم مؤهلًا، لكنه لا يعني أن الإعلان سيظهر عند 00:45 بالضبط. الحدث الفعلي ما يزال يعتمد على تفاعل مؤهل من المستخدم. فقد يصبح الزائر مؤهلًا عند 00:45، ثم يظهر أول popunder عند 01:03 بعد الإجراء المناسب التالي.

والأمر نفسه ينطبق على فترة التهدئة. أربع دقائق تعني أن حدثًا جديدًا لا يمكن أن يصبح مؤهلًا قبل مرور أربع دقائق على الحدث الناجح السابق. ولا تعني ظهور إعلان تلقائي كل أربع دقائق. لذلك فالفواصل المحددة هي حدود دنيا، وقد تكون الفواصل الفعلية أطول.

الفاصل بين التكرارات كان أهم من التأخير الأولي

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

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

الإعداد الذي احتفظت به هو أربع دقائق. مع تأخير أول قدره 45 ثانية، تكون أول نقاط الأهلية النظرية تقريبًا 00:45 و04:45 و08:45 و12:45. وقد تحدث الوقائع الفعلية لاحقًا لأن التفاعل المؤهل ما يزال مطلوبًا.

لماذا بدت أربع دقائق مختلفة عن مجرد تعظيم مرات الظهور

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

تحقيق دخل إضافي
-
ضرر سلوكي
=
القيمة الصافية

منحتني الأربع دقائق كتلة حقيقية من الاستخدام العادي لا يمكن خلالها ظهور popunder آخر. كان هذا الثابت أهم بالنسبة لي من عبارة «واحد كل أربع دقائق».

بعد حدث تحقيق دخل، يحصل المستخدم على عدة دقائق يستحيل خلالها حدوث واحد آخر.

كنت أتوقع هبوطًا واضحًا في التفاعل

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

لكن التفاعل الإجمالي واصل التذبذب كما كان يفعل تقريبًا من قبل. لم أرَ خط أساس جديدًا أقل، ولا سلسلة واضحة يبقى فيها المؤشر أضعف بشكل مستمر بعد زيادة التكرار. نمط الفشل الذي توقعت أن يكون كبيرًا بما يكفي للظهور لم يظهر بوضوح.

ما الذي يمكنني ادعاؤه فعليًا

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

أقوى صياغة تدعمها ملاحظتي أضيق بكثير:

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

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

المتوسط المستقر قد يخفي سلوكيات مختلفة جدًا

يمكن لمتوسط إجمالي يكاد لا يتغير أن يصف وقائع مختلفة تمامًا. قد يتصرف الجميع بالطريقة نفسها تقريبًا؛ وقد يغادر بعض المستخدمين أبكر بينما يبقى آخرون أطول؛ وقد تتأثر مجموعة صغيرة سلبًا من دون أن تحرك المتوسط كثيرًا؛ أو قد يكون الأثر السلبي الحقيقي أصغر ببساطة من التذبذب اليومي المعتاد.

لهذا أتعامل مع استقرار المؤشر الإجمالي كإشارة تحذير مفيدة، لا كدليل على انعدام الأثر.

التفاعل ليس مساويًا حرفيًا لطول الزيارة

تجنبت أيضًا معاملة مقياس التفاعل في أدوات التحليل بوصفه المدة المتوسطة الدقيقة للجلسة. التفاعل النشط تحدده منصة القياس، ولا يساوي بالضرورة الزمن المنقضي منذ فتح علامة التبويب. يمكن للمستخدم تبديل التركيز أو العودة لاحقًا أو التنقل بطرق تجعل نموذج «الوقت على الموقع» البسيط مضللًا.

لذلك لم أستخدم معادلة من نوع «متوسط التفاعل هو X، إذن يجب أن يحدث popunder التالي قبل X». استخدمت المؤشر اتجاهيًا: هل بدا المنتج بعد التغيير أضعف بوضوح من قبله؟ على المستوى الإجمالي الذي كنت أراقبه، كانت الإجابة لا.

فترة التهدئة ونافذة التكرار مترابطتان لكنهما ليستا الشيء نفسه

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

فترة التهدئة تقول: لا تسمح بحدث آخر قبل مرور وقت كافٍ منذ السابق. أما النافذة فتقول: لا تسمح بأكثر من حدث ناجح واحد داخل الفترة المحددة. أبقيت الاثنين لأنني أردت أن يبقى الثابت المقصود واضحًا حتى لو فسّر التكامل إحدى الآليتين بطريقة مختلفة.

يجب ألا يحدث popunder ناجحان بفاصل يقل عن أربع دقائق.

حدث واحد لكل نافذة لا يعني حدثًا واحدًا لكل زيارة

قيمة مثل maxEventsPerWindow = 1 لا تعني بالضرورة إعلانًا واحدًا طوال بقاء الزائر في الموقع. نطاقها هو النافذة المحددة؛ وبعد انتهائها يمكن أن تبدأ نافذة أخرى. كما أن الرقم لا يعني إجراءً واحدًا من المستخدم، بل حدث تحقيق دخل ناجحًا واحدًا خلال تلك الفترة.

عندما أراجع منطق التكرار الآن، أسأل ثلاثة أسئلة: ماذا يعدّ العداد؟ ما الذي يعيد ضبطه؟ وما مدة نافذة إعادة الضبط؟ من دون هذه الإجابات، لا تقول قيمة خام مثل 1 الكثير.

فصلت السياسة عن التنفيذ الخاص بالمزوّد

يمكن التعبير عن السلوك القابل لإعادة الاستخدام من دون كشف نصوص أو معرّفات أو أسماء معاملات خاصة بأي مزوّد:

function isEligible(state, now) {
  if (!state.hasShownFirstEvent) {
    return now - state.arrivalTime >= 45_000;
  }

  return now - state.lastEventTime >= 240_000;
}

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

نجاح البناء وصحة السلوك شيئان مختلفان

يمكن لفاحص الأنواع وlinter وبناء الإنتاج التحقق من خصائص هندسية كثيرة، لكن أيًا منها لا يثبت أن التسلسل الزمني للإعلانات يعمل بصورة صحيحة داخل المتصفح. هذه الميزة تحتاج أيضًا إلى اختبار سلوكي.

1. افتح المتصفح بحالة نظيفة.
2. تفاعل قبل انتهاء التأخير الأولي: يجب ألا يظهر popunder.
3. انتظر حتى يتجاوز التأخير الأولي.
4. نفّذ تفاعلًا مؤهلًا: قد يظهر أول popunder.
5. استمر في التفاعل قبل انتهاء التهدئة: يجب ألا يظهر ثانٍ.
6. انتظر حتى تنتهي التهدئة.
7. تفاعل مجددًا: يمكن الآن أن يظهر popunder آخر.

نجاح البناء ونجاح الاختبار السلوكي يجيبان عن سؤالين مختلفين، وكلاهما مهم.

التجربة الإعلانية المجمعة أهم من أي موضع منفرد

قد تبدو أنظمة إعلانية مستقلة معقولة كل على حدة، لكنها تنتج معًا تجربة عدوانية. فتنسيقان يملكان حدًا قدره أربع دقائق قد يتداخلان بحيث يتعرض المستخدم لمقاطعات عند 00:45 و02:45 و04:45 و06:45 تقريبًا.

وهذا قادني إلى قاعدة أقوى:

ينبغي تقييم حدود التكرار على مستوى تجربة المستخدم، لا على مستوى كل سكربت إعلاني.

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

عدد مرات الظهور الخام هدف تحسين خاطئ

خلق فرص أكثر عبر تقليل التهدئة أمر سهل. السؤال الأصعب هو مقدار الزيادة في تحقيق الدخل الممكنة من دون خفض القيمة الاقتصادية الكلية للمستخدم.

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

اختبار أقوى يجب أن يتجاوز رسمًا إجماليًا واحدًا

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

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

يجب قياس الجانبين معًا. إذا نظرت إلى الناتج الإعلاني فقط، فسيبدو المزيد من الإعلانات أفضل تلقائيًا؛ وإذا نظرت إلى التفاعل فقط، فقد تفوت مكاسب إيرادات مهمة تكلفتها السلوكية صغيرة.

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

لم أجد سببًا لإضافة مجموعة متزايدة من الاستثناءات. بقي المنطق النهائي سهل الشرح: انتظر 45 ثانية، اسمح بتحقيق الدخل عند التفاعل المؤهل التالي، افرض فترة تهدئة صلبة لأربع دقائق، ثم اسمح بالتفاعل المؤهل التالي.

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

عدم التماثل في السياسة مقصود

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

بهذا يتدرج الضغط الإعلاني مع التفاعل المثبت بدلًا من تطبيق أقصى ضغط فورًا. كان هذا التحول المفاهيمي من أهم نتائج التجربة.

ما الذي لن أستنتجه من دراسة الحالة هذه

لن أقول إن 45 ثانية قيمة صحيحة عالميًا، أو أن أربع دقائق هي الفاصل الأمثل، أو أن popunder بتكرار أعلى لا يضر التفاعل أبدًا، أو أن استقرار المتوسط يعني عدم تأثر المستخدمين. ولن أعمم عبء عمل إنتاجيًا واحدًا على كل منتجات الويب.

للمنتجات المختلفة مستخدمون وتوقعات ومصادر اكتساب وأنماط استخدام واقتصاديات مختلفة. قيمة النتيجة تأتي من خصوصيتها، لا من ادعائها قاعدة عالمية.

الجزء الذي غيّر رأيي

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

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

الفرق بين «لا يوجد أثر» و«لا يوجد أثر واضح في هذا القياس» مهم. أنظمة الإنتاج نادرًا ما تمنحنا قصصًا سببية نظيفة.

قاعدتي الآن

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

في هذا التطبيق، كانت الإجابة التي أبقيتها:

45 ثانية قبل الأهلية الأولى
4 دقائق على الأقل بين الأحداث الناجحة

الأرقام نفسها مجرد تنفيذ واحد. أما القاعدة التي سأعيد استخدامها فهي أوسع:

احمِ بداية رحلة المستخدم، وحقق دخلًا أكبر من التفاعل المثبت مقارنة بالفضول الأولي، وقيّم النتيجة بحسب قيمة المستخدم لا بحسب الحجم الخام للإعلانات.