آزمایشهای درون کمپینی برای آزمایش یک ویژگی خاص در یک کمپین واحد استفاده میشوند. برخلاف آزمایشهای مدیریتشده توسط سیستم که در آنها ترافیک بین کمپینهای کنترل و درمان تقسیم میشود، آزمایشهای درون کمپینی، ترافیک را در داخل کمپین، بر اساس فعال بودن یا نبودن ویژگی، تقسیم میکنند.
این گردش کار برای مقادیر ExperimentType زیر پشتیبانی میشود:
-
ADOPT_AI_MAX -
ADOPT_BROAD_MATCH_KEYWORDS
راهاندازی
-
Experimentتعریف کنید و نوع آزمایش، بازوی کنترل (controlExperimentArm) و بازوی درمان (treatmentExperimentArmرا مشخص کنید. هر بازو باید به یک کمپین ارجاع دهد. - با استفاده از یک ماسک فیلد، ویژگی تست را برای آزمایش فعال کنید. این برای
ADOPT_BROAD_MATCH_KEYWORDSضروری نیست ؛ در عوض، تنظیمات کمپین تطابق گسترده به طور خودکار پس از ایجاد آزمایش فعال میشود. - یک درخواست
GoogleAdsService.Mutateارسال کنید که شامل عملیات جهش برای ایجاد آزمایش و بازوهای آزمایش و (در صورت وجود) فعال کردن ویژگی آزمایش باشد.
پس از راهاندازی، ترافیک درون کمپین به گونهای تقسیم میشود که ۵۰٪ از ترافیک در معرض ویژگی فعالشده (گروه درمان) و ۵۰٪ در معرض آن نباشد (گروه کنترل).
جاوا
This example is not yet available in Java; you can take a look at the other languages.
سی شارپ
This example is not yet available in C#; you can take a look at the other languages.
پی اچ پی
This example is not yet available in PHP; you can take a look at the other languages.
پایتون
# Create the experiment resource name using a temporary ID. experiment_resource_name = googleads_service.experiment_path( customer_id, "-1" ) # Create the experiment. experiment_operation = client.get_type("MutateOperation") experiment = experiment_operation.experiment_operation.create experiment.resource_name = experiment_resource_name experiment.name = f"ADOPT_AI_MAX Experiment #{uuid4()}" experiment.type_ = client.enums.ExperimentTypeEnum.ADOPT_AI_MAX experiment.status = client.enums.ExperimentStatusEnum.SETUP # Create the control arm. Both arms in an intra-campaign experiment # reference the same base campaign. control_arm_operation = client.get_type("MutateOperation") control_arm = control_arm_operation.experiment_arm_operation.create control_arm.experiment = experiment_resource_name control_arm.name = "Control Arm" control_arm.control = True control_arm.traffic_split = 50 control_arm.campaigns.append( googleads_service.campaign_path(customer_id, campaign_id) ) # Create the treatment arm. treatment_arm_operation = client.get_type("MutateOperation") treatment_arm = treatment_arm_operation.experiment_arm_operation.create treatment_arm.experiment = experiment_resource_name treatment_arm.name = "Treatment Arm" treatment_arm.control = False treatment_arm.traffic_split = 50 treatment_arm.campaigns.append( googleads_service.campaign_path(customer_id, campaign_id) ) # Create a campaign operation with an update mask to enable AI Max and # configure asset automation settings. campaign_operation = client.get_type("MutateOperation") campaign = campaign_operation.campaign_operation.update campaign.resource_name = googleads_service.campaign_path( customer_id, campaign_id ) campaign.ai_max_setting.enable_ai_max = True for asset_automation_type_enum in [ client.enums.AssetAutomationTypeEnum.TEXT_ASSET_AUTOMATION, client.enums.AssetAutomationTypeEnum.FINAL_URL_EXPANSION_TEXT_ASSET_AUTOMATION, ]: asset_automation_setting = client.get_type( "Campaign" ).AssetAutomationSetting() asset_automation_setting.asset_automation_type = ( asset_automation_type_enum ) asset_automation_setting.asset_automation_status = ( client.enums.AssetAutomationStatusEnum.OPTED_IN ) campaign.asset_automation_settings.append(asset_automation_setting) client.copy_from( campaign_operation.campaign_operation.update_mask, protobuf_helpers.field_mask(None, campaign._pb), ) # Send all mutate operations in a single Mutate request. mutate_operations = [ experiment_operation, control_arm_operation, treatment_arm_operation, campaign_operation, ] response = googleads_service.mutate( customer_id=customer_id, mutate_operations=mutate_operations, )
روبی
This example is not yet available in Ruby; you can take a look at the other languages.
پرل
This example is not yet available in Perl; you can take a look at the other languages.
حلقه زدن
گزارش آزمایش
از آنجا که ترافیک کنترل و درمان در یک کمپین واحد با هم مخلوط میشوند، باید از گزارشدهی مستقیم آزمایش برای مقایسه معیارها بین گروههای کنترل و درمان استفاده کنید. گزارشدهی استاندارد در سطح کمپین فقط معیارهای تجمیعشده را برای کل کمپین نشان میدهد و نمیتواند بین دو گروه تمایز قائل شود.
کوئری GAQL زیر میتواند برای بازیابی آمار کلیک برای یک آزمایش درون کمپینی ADOPT_AI_MAX استفاده شود.
SELECT
experiment.resource_name,
experiment.name,
metrics.clicks,
metrics.control_clicks,
metrics.clicks_point_estimate,
metrics.clicks_p_value
FROM experiment
WHERE experiment.type = 'ADOPT_AI_MAX'
آزمایش را ارتقا دهید یا پایان دهید
پس از ارزیابی نتایج، میتوانید با استفاده از ExperimentService آزمایش را پایان دهید یا آن را ارتقا دهید.
- پایان : اگر از نتایج راضی نیستید،
EndExperimentاستفاده کنید. این ویژگی غیرفعال میشود و کمپین به ارائه تمام ترافیک بدون ویژگی آزمایشی برمیگردد. این یک عملیات همزمان است. - Promote : اگر از نتایج راضی هستید،
PromoteExperimentاستفاده کنید. این تغییر آزمایشی را به عنوان وضعیت دائمی جدید کمپین اعمال میکند. این یک عملیات ناهمزمان است؛ برای جزئیات بیشتر به خطاهای ناهمزمان مراجعه کنید.
عملیات فارغالتحصیلی برای آزمایشهای درون کمپینی پشتیبانی نمیشود زیرا هیچ کمپین درمانی جداگانهای برای فارغالتحصیلی وجود ندارد.