هناك طريقتان رئيسيتان لإعداد تقارير عن التجارب:
- إعداد تقارير التجارب المباشرة: يمكنك طلب البيانات من مصدر
experimentللحصول على المقاييس. يوفّر هذا الخيار مقاييس لمجموعتَي التجربة والمجموعة الضابطة في ردّ واحد، بالإضافة إلى بيانات المقارنة الإحصائية، مثل التحسّن وقيم p. هذه هي الطريقة الوحيدة لإعداد تقارير عن التجارب داخل الحملة. - إعداد التقارير عن الحملات: يمكنك طلب بيانات من مصدر
campaignللحصول على مقاييس، وذلك باستخدامcampaign.experiment_typeللتمييز بين الحملات الأساسية والتجريبية. لا يتوفّر هذا الخيار إلا للتجارب التي تستخدم حملات ضابطة وتجريبية منفصلة، مثل التجارب التي يديرها النظام.
يركّز هذا الدليل بشكل أساسي على إعداد تقارير التجارب المباشرة، وهي متوافقة مع جميع أنواع التجارب التي تتيح إعداد التقارير.
تقارير التجارب المباشرة
يمكنك طلب بيانات من مصدر experiment مباشرةً لاسترداد مقاييس الأداء والمقارنات الإحصائية بين مجموعة التحكّم ومجموعة التجربة.
المقاييس والدلالة الإحصائية
بالنسبة إلى المقاييس الأساسية، مثل النقرات ومرّات الظهور والتكلفة والإحالات الناجحة وقيمة الإحالة الناجحة، يوفّر المورد experiment مقاييس المجموعة التجريبية (على سبيل المثال، metrics.clicks) ومقاييس المجموعة الضابطة (على سبيل المثال، metrics.control_clicks) في الصف نفسه.
وتوفّر أيضًا حقولاً لمساعدتك في تقييم الدلالة الإحصائية لأي اختلاف بين المجموعات:
metrics.*_p_value: هي احتمال حدوث النتائج المرصودة إذا لم يكن للتجربة أي تأثير فعلي في المقياس. تشير القيمة الاحتمالية المنخفضة إلى دلالة إحصائية أعلى.metrics.*_point_estimate: النسبة المئوية المقدَّرة للتحسّن (إيجابي أو سلبي) في المقياس المحدّد لمجموعة التجربة مقارنةً بالمجموعة الضابطة. ويصفان معًاmargin_of_errorفاصل ثقة بمستوى ثقة محدّد للفرق الذي يتم تقديره. الكمية التي يتم تقديرها هي (المجموعة التجريبية / المجموعة الضابطة - 1). تقدير النقطة هو مركز فاصل الثقة.metrics.*_margin_of_error: نصف قطر فاصل الثقة، والذي يكون متمركزًا عندpoint_estimate. يتم احتسابها لمستوى موثوقية محدّد مسبقًا، ويعتمد ذلك على نوع التجربة.
تتوفّر حقول المقاييس الأساسية التالية في المورد experiment،
بما في ذلك قيمة المجموعة التجريبية وقيمة المجموعة الضابطة وحقول الإحصاءات
المدرَجة سابقًا:
clicksimpressionscost_microsconversionscost_per_conversionconversion_valueconversion_value_per_cost
بالنسبة إلى الإحالات الناجحة تحديدًا، تتوفّر الحقول الإحصائية من خلال حقول absolute_change التالية، وليس كقيم نسبية:
metrics.conversions_absolute_change_p_value: القيمة الاحتمالية للفرضية الصفرية التي تفيد بأنّ التجربة ليس لها أي تأثير على التغيير المطلق في الإحالات الناجحة. تتراوح القيمة بين 0 و1.metrics.conversions_absolute_change_point_estimate: القيمة المقدَّرة عند تقدير تأثير التجربة على التغيير المطلق في الإحالات الناجحة.metrics.conversions_absolute_change_margin_of_error: هامش الخطأ عند تقدير تأثير التجربة على التغيير المطلق في الإحالات الناجحة.
للحصول على مساعدة في إنشاء طلبات بحث صالحة للمورد experiment، استخدِم أداة أداة إنشاء طلبات البحث في "إعلانات Google".
مثال على طلب البحث
يسترجع طلب البحث التالي في "لغة طلبات البحث في إعلانات Google" المقاييس الرئيسية لتجربة:
SELECT
experiment.experiment_id,
experiment.name,
experiment.type,
metrics.clicks,
metrics.control_clicks,
metrics.clicks_point_estimate,
metrics.clicks_margin_of_error,
metrics.clicks_p_value,
metrics.conversions,
metrics.control_conversions,
metrics.conversions_absolute_change_point_estimate,
metrics.conversions_absolute_change_margin_of_error,
metrics.conversions_absolute_change_p_value
FROM experiment
WHERE experiment.experiment_id = EXPERIMENT_ID
تفسير النتائج
يمكنك استخدام حقول القيمة الاحتمالية والتقدير النقطي وهامش الخطأ لتحديد ما إذا كانت تجربتك قد حقّقت نتائج ذات دلالة إحصائية. على سبيل المثال، إذا كان conversions_absolute_change_p_value أقل من الحدّ الذي اخترته (مثل 0.05 لمستوى ثقة% 95) وكان conversions_absolute_change_point_estimate - conversions_absolute_change_margin_of_error أكبر من صفر، يعني ذلك أنّ مجموعة التجربة تحقّق أداءً أفضل بكثير من مجموعة التحكّم من حيث الإحالات الناجحة.
في ما يلي مقتطف من رمز Python يوضّح كيفية تقييم النتائج استنادًا إلى القيمة الاحتمالية <0x0A>وتقديرات التحسّن:
جافا
private void evaluateExperiment( GoogleAdsClient googleAdsClient, long customerId, GoogleAdsRow row) { Metrics metrics = row.getMetrics(); String experimentResourceName = row.getExperiment().getResourceName(); // 1. Evaluate conversion success as a primary success signal if available. // - Point Estimate: Represents the estimated average lift or difference in conversions. // - Margin of Error: Outlines the confidence interval bounds. Note that the margin_of_error // provided by the API is calculated for a preset confidence level which is set based on the // experiment type. // - Lower Bound: (Point Estimate - Margin of Error). If this value is above 0, // we have statistical significance that performance has improved. double convPValue = metrics.getConversionsAbsoluteChangePValue(); double convLift = metrics.getConversionsAbsoluteChangePointEstimate(); double convError = metrics.getConversionsAbsoluteChangeMarginOfError(); double convLowerBound = convLift - convError; if (convPValue <= P_VALUE_THRESHOLD) { if (convLowerBound > 0) { System.out.printf( "Significant Success: Conversions increased. Even at the lower bound, the lift is %.2f." + " Promoting changes.%n", convLowerBound); promoteExperiment(googleAdsClient, customerId, experimentResourceName); return; } else if ((convLift + convError) < 0) { System.out.printf( "Significant Decline: Even the upper bound (%.2f) is below zero. Ending experiment.%n", convLift + convError); endExperiment(googleAdsClient, customerId, experimentResourceName); return; } } // 2. Fall back to evaluating click metrics if conversions are inconclusive. double clickPValue = metrics.getClicksPValue(); double clickLift = metrics.getClicksPointEstimate(); double clickError = metrics.getClicksMarginOfError(); double clickLowerBound = clickLift - clickError; if (clickPValue <= P_VALUE_THRESHOLD && clickLowerBound > 0) { System.out.printf("Click volume is significantly up (+%.1f%%).%n", clickLift * 100); // Graduation is only supported for separate campaign experiments, not // intra-campaign experiments where there is no separate treatment campaign. ExperimentType experimentType = row.getExperiment().getType(); if (experimentType != ExperimentType.ADOPT_BROAD_MATCH_KEYWORDS && experimentType != ExperimentType.ADOPT_AI_MAX) { System.out.println("Graduating treatment campaign for further manual analysis."); graduateExperiment(googleAdsClient, customerId, experimentResourceName); } else { System.out.println( "Intra-campaign trial detected: graduation is not supported. Continuing to run the" + " experiment to gather more conversion data."); } } else { // 3. Print status if no action was taken. System.out.printf( "Inconclusive: No significant lift in Conversions (p=%.2f) or Clicks (p=%.2f). Current" + " estimated lift: %.2f +/- %.2f. Allowing the experiment to continue running.%n", convPValue, clickPValue, convLift, convError); } }
#C
private static void EvaluateExperiment(GoogleAdsClient client, long customerId, GoogleAdsRow row) { // This function evaluates performance metrics and immediately takes action // to update the experiment's status (promote, end, or graduate) if // statistical significance thresholds are met. var metrics = row.Metrics; string experimentResourceName = row.Experiment.ResourceName; bool hasConvMetrics = metrics.HasConversionsAbsoluteChangePValue && metrics.HasConversionsAbsoluteChangePointEstimate && metrics.HasConversionsAbsoluteChangeMarginOfError; bool hasClickMetrics = metrics.HasClicksPValue && metrics.HasClicksPointEstimate && metrics.HasClicksMarginOfError; // 1. Evaluate conversion success as a primary success signal if available. // - Point Estimate: Represents the estimated average lift or difference in conversions. // - Margin of Error: Outlines the confidence interval bounds. Note that the margin_of_error // provided by the API is calculated for a preset confidence level which is set based on // the experiment type. // - Lower Bound: (Point Estimate - Margin of Error). If this value is above 0, // we have statistical significance that performance has improved. if (hasConvMetrics) { double convPValue = metrics.ConversionsAbsoluteChangePValue; double convLift = metrics.ConversionsAbsoluteChangePointEstimate; double convError = metrics.ConversionsAbsoluteChangeMarginOfError; double convLowerBound = convLift - convError; if (convPValue <= P_VALUE_THRESHOLD) { if (convLowerBound > 0) { Console.WriteLine( $"Significant Success: Conversions increased. Even at the lower" + $" bound, the lift is {convLowerBound:F2}. Promoting changes."); PromoteExperiment(client, customerId, experimentResourceName); return; } else if ((convLift + convError) < 0) { Console.WriteLine( $"Significant Decline: Even the upper bound ({convLift + convError:F2}) " + $"is below zero. Ending experiment."); EndExperiment(client, customerId, experimentResourceName); return; } } } // 2. Evaluate click volume as a secondary signal. // This is helpful as an early indicator or for lower-volume accounts. if (hasClickMetrics) { double clickPValue = metrics.ClicksPValue; double clickLift = metrics.ClicksPointEstimate; double clickError = metrics.ClicksMarginOfError; double clickLowerBound = clickLift - clickError; if (clickPValue <= P_VALUE_THRESHOLD && clickLowerBound > 0) { // We have a directional winner: high confidence in more traffic, // but not enough data to confirm conversion impact yet. Console.WriteLine( $"Click volume is significantly up (+{clickLift * 100:F1}%)."); // Graduation is only supported for separate campaign experiments, not // intra-campaign experiments where there is no separate treatment campaign. if (row.Experiment.Type != ExperimentType.AdoptBroadMatchKeywords && row.Experiment.Type != ExperimentType.AdoptAiMax) { Console.WriteLine("Graduating treatment campaign for further manual analysis."); GraduateExperiment(client, customerId, experimentResourceName); } else { Console.WriteLine( "Intra-campaign trial detected: graduation is not supported. " + "Continuing to run the experiment to gather more conversion data."); } return; } } // 3. Print status if no action was taken. if (hasConvMetrics || hasClickMetrics) { string convStatus = hasConvMetrics ? $"Conversions (p={metrics.ConversionsAbsoluteChangePValue:F2}, " + $"lift={metrics.ConversionsAbsoluteChangePointEstimate:F2} +/- " + $"{metrics.ConversionsAbsoluteChangeMarginOfError:F2})" : "Conversions (not populated)"; string clickStatus = hasClickMetrics ? $"Clicks (p={metrics.ClicksPValue:F2}, " + $"lift={metrics.ClicksPointEstimate:F2} +/- " + $"{metrics.ClicksMarginOfError:F2})" : "Clicks (not populated)"; Console.WriteLine( $"Inconclusive: No significant action taken. {convStatus}, {clickStatus}. " + "Allowing the experiment to continue running."); } else { Console.WriteLine( "Conversion and click performance metrics are not yet populated. " + "Allowing the experiment to continue running."); } }
PHP
This example is not yet available in PHP; you can take a look at the other languages.
Python
def evaluate_experiment( client: GoogleAdsClient, customer_id: str, row: GoogleAdsRow ) -> None: """Evaluates the performance of the experiment and updates it accordingly (for example, promotes, ends, or graduates). Checks conversion and click metrics against statistical significance thresholds to determine the appropriate action to take on the experiment. Args: client: an initialized GoogleAdsClient instance. customer_id: a client customer ID. row: a GoogleAdsRow containing the experiment and metrics. """ # This function evaluates performance metrics and immediately takes action # to update the experiment's status (promote, end, or graduate) if # statistical significance thresholds are met. metrics = row.metrics experiment_resource_name = row.experiment.resource_name has_conv_metrics = ( "conversions_absolute_change_p_value" in metrics and "conversions_absolute_change_point_estimate" in metrics and "conversions_absolute_change_margin_of_error" in metrics ) has_click_metrics = ( "clicks_p_value" in metrics and "clicks_point_estimate" in metrics and "clicks_margin_of_error" in metrics ) # 1. Evaluate conversion success as a primary success signal if available. # - Point Estimate: Represents the estimated average lift or difference in conversions. # - Margin of Error: Outlines the confidence interval bounds. Note that the margin_of_error provided by the API is calculated for a preset confidence level which is set based on the experiment type. # - Lower Bound: (Point Estimate - Margin of Error). If this value is above 0, # we have statistical significance that performance has improved. if has_conv_metrics: conv_p_value = metrics.conversions_absolute_change_p_value conv_lift = metrics.conversions_absolute_change_point_estimate conv_error = metrics.conversions_absolute_change_margin_of_error conv_lower_bound = conv_lift - conv_error if conv_p_value <= P_VALUE_THRESHOLD: if conv_lower_bound > 0: print( "Significant Success: Conversions increased. Even at the lower" f" bound, the lift is {conv_lower_bound:.2f}. Promoting" " changes." ) promote_experiment( client, customer_id, experiment_resource_name ) return elif (conv_lift + conv_error) < 0: print( "Significant Decline: Even the upper bound" f" ({conv_lift + conv_error:.2f}) is below zero. Ending" " experiment." ) end_experiment(client, customer_id, experiment_resource_name) return # 2. Evaluate click volume as a secondary signal. # This is helpful as an early indicator or for lower-volume accounts. click_p_value = metrics.clicks_p_value click_lift = metrics.clicks_point_estimate click_error = metrics.clicks_margin_of_error click_lower_bound = click_lift - click_error if click_p_value <= P_VALUE_THRESHOLD and click_lower_bound > 0: # We have a directional winner: high confidence in more traffic, # but not enough data to confirm conversion impact yet. print(f"Click volume is significantly up (+{click_lift*100:.1f}%).") # Graduation is only supported for separate campaign experiments, not # intra-campaign experiments where there is no separate treatment campaign. experiment_type_name = row.experiment.type_.name if ( experiment_type_name != "ADOPT_BROAD_MATCH_KEYWORDS" and experiment_type_name != "ADOPT_AI_MAX" ): print( "Graduating treatment campaign for further manual analysis." ) graduate_experiment( client, customer_id, experiment_resource_name ) else: print( "Intra-campaign trial detected: graduation is not supported. " "Continuing to run the experiment to gather more conversion data." ) return # 3. Print status if no action was taken. if has_conv_metrics or has_click_metrics: conv_status = ( f"Conversions (p={metrics.conversions_absolute_change_p_value:.2f}, " f"lift={metrics.conversions_absolute_change_point_estimate:.2f} +/- " f"{metrics.conversions_absolute_change_margin_of_error:.2f})" if has_conv_metrics else "Conversions (not populated)" ) click_status = ( f"Clicks (p={metrics.clicks_p_value:.2f}, " f"lift={metrics.clicks_point_estimate:.2f} +/- " f"{metrics.clicks_margin_of_error:.2f})" if has_click_metrics else "Clicks (not populated)" ) print( f"Inconclusive: No significant action taken. {conv_status}, {click_status}." " Allowing the experiment to continue running." ) else: print( "Conversion and click performance metrics are not yet populated. " "Allowing the experiment to continue running." )
Ruby
This example is not yet available in Ruby; you can take a look at the other languages.
Perl
This example is not yet available in Perl; you can take a look at the other languages.
curl
المزايا مقارنةً بتقارير الحملات
تقدّم تقارير التجارب المباشرة عدّة مزايا مقارنةً بطلب بيانات تقارير الحملات بشكل منفصل، وهي:
- مقاييس مركزية: يمكنك استرداد مقاييس المجموعة الضابطة ومجموعة التجربة في صف واحد.
- بيانات الثقة الإحصائية: تقدّم قيم p محسوبة وتقديرات نقطية وهوامش خطأ.
- الكفاءة: لم يعُد من الضروري دمج النتائج أو مقارنتها يدويًا من تقارير متعدّدة.
- التوافق مع التجارب داخل الحملة: هذه هي الطريقة الوحيدة لمقارنة المجموعة الضابطة بمجموعة التجربة في التجارب داخل الحملة، حيث يتم تقسيم عدد الزيارات ضِمن حملة واحدة.
إعداد تقارير الحملة
بالنسبة إلى التجارب التي تنشئ حملات تجريبية منفصلة (على سبيل المثال،
SEARCH_CUSTOM)، يمكنك طلب البحث عن مورد campaign واستخدام
campaign.experiment_type لتحديد حملات BASE (الضابطة) وEXPERIMENT
(التجريبية). يكون هذا الأسلوب مفيدًا إذا كنت بحاجة إلى تقسيم المقاييس على مستوى أكثر تفصيلاً (مثل المجموعة الإعلانية أو الكلمة الرئيسية) أو عرض بيانات وصفية للحملة غير متاحة في المورد experiment. ومع ذلك، يتطلّب ذلك إجراء مقارنات الأداء والعمليات الحسابية الإحصائية يدويًا.
لا يمكنك استخدام التقارير على مستوى الحملة لمقارنة مجموعات التجربة في التجارب داخل الحملة، لأنّ تقسيم عدد الزيارات يتم داخليًا ضمن حملة واحدة.
لا يؤدي طلب البحث عن campaign لتجربة داخل الحملة إلا إلى عرض إجماليات مجمّعة.
إعداد تقارير "تأثير العلامة التجارية"
يمكنك إعداد تقارير عن دراسات "تأثير العلامة التجارية" في Google Ads API باستخدام مراجع مخصّصة لقياس "تأثير العلامة التجارية".
مراجع وطرق عرض تفصيلية حول "تأثير العلامة التجارية"
استخدِم طلب البحث عن مورد LiftMeasurementFlight لاسترداد نتائج دراسة "تأثير العلامة التجارية" على مستوى الرحلة، بما في ذلك النطاقات الزمنية للرحلة (start_date وend_date) في المنطقة الزمنية للعميل.
لتحليل مقاييس "تأثير العلامة التجارية" على مستوى سمات شرائح مختلفة، أرسِل طلب بحث إلى موارد التقسيم ذات الصلة:
LiftMeasurementCampaign: تقسيم حسب الحملة-
LiftMeasurementAgeRange: تقسيم حسب الفئة العمرية LiftMeasurementDevice: تقسيم حسب الجهاز-
LiftMeasurementGender: التقسيم حسب الجنس -
LiftMeasurementVideo: تقسيم حسب مادة عرض الفيديو
يحدّد التعداد BrandLiftMeasurementType نوع القياس للدراسة، مثل الوعي بالعلامة التجارية أو تذكُّر الإعلان.
أمثلة على طلبات البحث في "دراسة تأثير العلامة التجارية"
بما أنّ بيانات الرحلات الجوية الوصفية وإحصاءات التحسّن تقع ضمن موارد منفصلة، يتطلّب طلب تفاصيل الرحلات الجوية وإحصاءات الأداء طلبات بحث منفصلة باستخدام "لغة طلبات البحث في إعلانات Google" (GAQL).
طلب البحث عن تفاصيل الرحلة الجوية
لاسترداد البيانات الوصفية الخاصة بمدة عرض "تأثير العلامة التجارية"، مثل حالتها ونوع القياس والتواريخ المجدوَلة، يمكنك طلب البحث عن مورد LiftMeasurementFlight:
SELECT
lift_measurement_flight.lift_measurement_config_id,
lift_measurement_flight.lift_measurement_flight_id,
lift_measurement_flight.name,
lift_measurement_flight.status,
lift_measurement_flight.lift_type,
lift_measurement_flight.start_date,
lift_measurement_flight.end_date
FROM lift_measurement_flight
WHERE lift_measurement_flight.lift_measurement_config_id = CONFIG_ID
طلب بحث عن الإحصاءات
لاسترداد مقاييس "تأثير العلامة التجارية"، أرسِل طلب بحث إلى مورد التقسيم المناسب (أو إعداد الدراسة العام على LiftMeasurementConfig). على سبيل المثال، يسترد طلب البحث التالي مقاييس "تأثير العلامة التجارية" مقسّمة حسب الحملة من LiftMeasurementCampaign:
SELECT
lift_measurement_campaign.lift_measurement_config_id,
lift_measurement_campaign.campaign,
metrics.absolute_brand_lift,
metrics.relative_brand_lift
FROM lift_measurement_campaign
WHERE lift_measurement_campaign.lift_measurement_config_id = CONFIG_ID
إعداد تقارير "زيادة الإحالات الناجحة"
يمكنك قياس التأثير المتزايد لإعلاناتك في الإحالات الناجحة باستخدام تقارير "زيادة الإحالات الناجحة" في Google Ads API.
إعدادات ومقاييس "زيادة الإحالات الناجحة"
استخدِم طلب بحث إلى المرجع LiftMeasurementConfig لاسترداد إعدادات دراسة "زيادة الإحالات الناجحة" وبيانات الأداء.
يوفّر المرجع مقاييس "زيادة الإحالات الناجحة" لتقييم الأداء المتزايد:
metrics.conversion_lift_baseline_conversions: الإحالات الناجحة الأساسية للدراسةmetrics.conversion_lift_exposed_conversions: الإحالات الناجحة المرصودة في المجموعة التي شاهدت الإعلاناتmetrics.incremental_conversions: الإحالات الناجحة الإضافية المنسوبة إلى الإعلاناتmetrics.cost_per_incremental_conversion: التكلفة لكل إحالة ناجحة إضافية.metrics.relative_conversion_lift: التحسّن النسبي في الإحالات الناجحةmetrics.conversion_lift_baseline_conversion_value: قيمة الإحالة الناجحة الأساسية.metrics.conversion_lift_exposed_conversion_value: قيمة الإحالة الناجحة في المجموعة التي شاهدت الإعلاناتmetrics.incremental_conversion_value: قيمة تصاعدية للإحالة الناجحة ناتجة عن الإعلانات.metrics.relative_conversion_value_lift: التحسُّن النسبي لتأثير العلامة التجارية في قيمة الإحالة الناجحة.
تتيح تقارير "زيادة الإحالات الناجحة" أيضًا تقسيم البيانات حسب إجراءات الإحالات الناجحة واسترداد تفاصيل الحملات المرتبطة وتفاصيل التجربة وأهداف الإحالات الناجحة.
مثال على طلب بحث عن مقياس "زيادة الإحالات الناجحة"
يسترد طلب البحث التالي في GAQL إعدادات مقياس "زيادة الإحالات الناجحة" ومقاييس الأداء الرئيسية:
SELECT
lift_measurement_config.lift_measurement_config_id,
segments.conversion_lift_start_date,
segments.conversion_lift_end_date,
segments.conversion_lift_included_conversion_action_types,
metrics.conversion_lift_baseline_conversions,
metrics.conversion_lift_exposed_conversions,
metrics.incremental_conversions,
metrics.cost_per_incremental_conversion,
metrics.relative_conversion_lift,
metrics.incremental_conversion_value,
metrics.relative_conversion_value_lift
FROM lift_measurement_config
WHERE segments.conversion_lift_start_date = 'YYYY-MM-DD'
AND segments.conversion_lift_end_date = 'YYYY-MM-DD'
AND lift_measurement_config.lift_measurement_config_id = CONFIG_ID
أفضل الممارسات
- اختيار مستوى ثقة مناسب: يمكن أن يؤدي ضبط حدّ أدنى لقيمة p إلى تقديم إرشادات توجيهية بشكل أسرع، خاصةً مع الميزانيات أو أعداد الإحالات الناجحة المنخفضة. يُعدّ مستوى الموثوقية البالغ% 95 (القيمة الاحتمالية <= 0.05) هو المعيار الأكاديمي، وقد يكون أفضل للحصول على نتائج أكثر دقة على مدى إطار زمني أطول.
- إجراء التجارب لمدة كافية: أجْرِ التجارب لمدة 4 أسابيع على الأقل لاحتساب دورات الأداء الأسبوعية والتأخّر في اكتمال الإحالات الناجحة وفترات التعلّم.
- منح وقت للتحسين: بالنسبة إلى الحملات التي تستخدم عروض الأسعار المبرمَجة أو تختبر ميزات جديدة، تجاهِل البيانات التي تم جمعها خلال الأسبوع الأول أو الأسبوعَين الأولَين لمنح نماذج عروض الأسعار ومستويات الزيارات وقتًا لإعادة الضبط وفقًا للتقسيم.
- استخدام تقسيم بنسبة 50/50: إنّ تقسيم عدد الزيارات بنسبة 50/50 هو بشكل عام أسرع طريقة لتحقيق نتائج ذات دلالة إحصائية.
- تحديد موعد مسبق: حدِّد تاريخ بدء التجربة قبل 3 إلى 7 أيام لمنح الوقت اللازم لعمليات مراجعة الإعلانات والموافقة عليها.