تجارب تحسين مواد العرض

تختبر تجارب تحسين مواد العرض مجموعات مختلفة من مواد العرض ضمن "حملات الأداء الأفضل"، ما يتيح لك مقارنة أداء مجموعات مختلفة من مواد العرض بمجموعة أساسية.

يتوفّر سير العمل هذا في ExperimentType.OPTIMIZE_ASSETS.

الإعداد

لإعداد تجربة تحسين مواد العرض، اتّبِع الخطوات التالية:

  • أنشئ مادة عرض جديدة وتجربة تتضمّن مجموعة ضابطة ومجموعة تجريبية.
  • اربط مادة العرض الجديدة بمجموعة مواد العرض في مجموعة التجربة ضمن طلب تغيير واحد.

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

قبل إنشاء تجربة تحسين مواد العرض، يجب أن يكون لديك "حملة أداء أفضل" حالية ومورد أساسي من النوع AssetGroup (customers/{customer_id}/assetGroups/{asset_group_id}) يُستخدَم كمرجع لكلتا مجموعتَي التجربة. بالنسبة إلى ADD_ASSETS_TO_ASSETLESS_RETAIL، تأكَّد من أنّ AssetGroup الأساسي يحتوي على الأقل على مجموعة final_urls واحدة قبل إنشاء التجربة (تؤدي تجربة مواد العرض النشطة إلى تجميد التعديلات على AssetGroup الأساسي، ويتطلب ربط مواد العرض المخصّصة استخدام final_urls).

ترتيب عمليات الطلب

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

يجب أن تكون العمليات في طلبك بالترتيب التالي:

  1. أنشِئ موردًا واحدًا أو أكثر من موارد Asset بأسماء موارد مؤقتة (مثل customers/CUSTOMER_ID/assets/-1). أدرِج مواد العرض الاختبارية، بالإضافة إلى أيّ مواد عرض جديدة خاصة بالعلامة التجارية BUSINESS_NAME وLOGO في حال تفعيل إرشادات العلامة التجارية في حملة بيع بالتجزئة لا تتضمّن مواد عرض وبدون روابط حالية للعلامة التجارية (في هذه الحالة، اربط مواد العرض الخاصة بالعلامة التجارية هذه بالسمة الأساسية Campaign باستخدام عمليات CampaignAsset بعد الخطوة 1 مباشرةً).
  2. أنشئ Experiment باسم مورد مؤقت (على سبيل المثال، customers/CUSTOMER_ID/experiments/-2)، مع ضبط type على OPTIMIZE_ASSETS، وstatus على ENABLED، وoptimize_assets_experiment.optimize_assets_experiment_subtype على OptimizeAssetsExperimentSubtype المحدّد (على سبيل المثال، COMPARE_ASSETS).
  3. أنشئ موردَين من النوع ExperimentArm مرتبطَين باسم مورد التجربة المؤقتة من الخطوة 2، مع ضبط campaigns (على اسم مورد "حملة الأداء الأفضل") وtraffic_split (مجموعهما 100) وasset_groups (ExperimentArm.AssetGroupInfo) في كل مجموعة:

    • مجموعة ضابطة (control = true) حيث يحتوي asset_groups على AssetGroupInfo مع ضبط asset_group على اسم المورد الخاص بـ AssetGroup الأساسي (customers/CUSTOMER_ID/assetGroups/ASSET_GROUP_ID). عند اختبار مواد العرض المُضافة حديثًا مقابل مجموعة مواد العرض الأساسية (أو عند استخدام النوعَين الفرعيَين ADD_ASSETS_TO_ASSETLESS_RETAIL أو ADD_VIDEO_ASSETS_TO_VIDEOLESS)، اترك asset_group_assets بدون ضبط في المجموعة الضابطة. وعند مقارنة مجموعتَي مواد عرض مختلفتَين ضمن COMPARE_ASSETS، أدرِج إدخالات AssetGroupAssetInfo للمجموعة الضابطة (asset وfield_type).
    • مجموعة تجربة (control = false) حيث يحتوي asset_groups على AssetGroupInfo مع ضبط asset_group على اسم المورد الأساسي نفسه AssetGroup (customers/CUSTOMER_ID/assetGroups/ASSET_GROUP_ID) و asset_group_assets (repeated AssetGroupAssetInfo) يسرد موارد Asset وfield_type لمجموعة التجربة، بما في ذلك Asset الاختبار الذي تم إنشاؤه حديثًا (customers/CUSTOMER_ID/assets/-1) من الخطوة 1. عند استخدام ADD_ASSETS_TO_ASSETLESS_RETAIL، يجب أن تستوفي asset_group_assets في مجموعة التجربة جميع الحدود الدنيا لمتطلبات مجموعة مواد العرض (يجب عدم إدراج مواد العرض الاختيارية مثل YOUTUBE_VIDEO وحدها)، ويجب أن تكون روابط BUSINESS_NAME وLOGO CampaignAsset المطلوبة على مستوى الحملة متوفّرة أو يتم إنشاؤها في الطلب نفسه عند تفعيل إرشادات العلامة التجارية في الحملة الأساسية.
  4. أنشئ موارد AssetGroupAsset متتالية تربط مواد العرض الاختبارية من الخطوة 1 (customers/CUSTOMER_ID/assets/-1) بـ AssetGroup الأساسي المستخدَم في مجموعتَي التجربة.

جافا

This example is not yet available in Java; you can take a look at the other languages.
    

#C

This example is not yet available in C#; you can take a look at the other languages.
    

PHP

This example is not yet available in PHP; you can take a look at the other languages.
    

Python

# 1. Create Assets with temporary resource names.
# We create a text asset and an image asset to showcase different types.
asset_operation_1 = create_text_asset_operation(
    client,
    customer_id,
    ASSET_1_TEMP_ID,
    "Fly to Mars!",
)
asset_operation_2 = create_image_asset_operation(
    client,
    customer_id,
    ASSET_2_TEMP_ID,
    "https://gaagl.page.link/Eit5",
    "Mars Landscape View",
)

# 2. Create an Experiment with a temporary resource name.
experiment_operation = client.get_type("MutateOperation")
experiment = experiment_operation.experiment_operation.create
experiment.resource_name = googleads_service.experiment_path(
    customer_id, EXPERIMENT_TEMP_ID
)
experiment.name = f"Interstellar Asset Experiment #{uuid4()}"
experiment.type_ = client.enums.ExperimentTypeEnum.OPTIMIZE_ASSETS
# Set the optimize assets experiment subtype to COMPARE_ASSETS.
experiment.optimize_assets_experiment.optimize_assets_experiment_subtype = (
    client.enums.OptimizeAssetsExperimentSubtypeEnum.COMPARE_ASSETS
)

# 3. Create two ExperimentArm resources.
treatment_assets = [
    (ASSET_1_TEMP_ID, client.enums.AssetFieldTypeEnum.HEADLINE),
    (ASSET_2_TEMP_ID, client.enums.AssetFieldTypeEnum.MARKETING_IMAGE),
]
arm_operations = create_arms_operations(
    client,
    customer_id,
    EXPERIMENT_TEMP_ID,
    campaign_resource_name,
    asset_group_id,
    treatment_assets,
)

# 4. Create AssetGroupAssets linking the assets to the asset group.
asset_group_asset_operation_1 = create_asset_group_asset_operation(
    client,
    customer_id,
    asset_group_id,
    ASSET_1_TEMP_ID,
    client.enums.AssetFieldTypeEnum.HEADLINE,
)
asset_group_asset_operation_2 = create_asset_group_asset_operation(
    client,
    customer_id,
    asset_group_id,
    ASSET_2_TEMP_ID,
    client.enums.AssetFieldTypeEnum.MARKETING_IMAGE,
)

# Send all operations in a single Mutate request.
# The operations must be in this specific order.
mutate_operations = [
    asset_operation_1,
    asset_operation_2,
    experiment_operation,
    *arm_operations,
    asset_group_asset_operation_1,
    asset_group_asset_operation_2,
]

response = googleads_service.mutate(
    customer_id=customer_id,
    mutate_operations=mutate_operations,
)
      

Ruby

# 1. Create Assets with temporary resource names.
# We create a text asset and an image asset to showcase different types.
asset_operation_1 = create_text_asset_operation(
  client,
  customer_id,
  asset_1_temp_id,
  "Fly to Mars!",
)
asset_operation_2 = create_image_asset_operation(
  client,
  customer_id,
  asset_2_temp_id,
  "https://gaagl.page.link/Eit5",
  "Mars Landscape View",
)

# 2. Create an Experiment with a temporary resource name.
experiment_operation = client.operation.mutate do |m|
  m.experiment_operation = client.operation.create_resource.experiment do |e|
    e.resource_name = client.path.experiment(customer_id, experiment_temp_id)
    e.name = "Interstellar Asset Experiment #{(Time.new.to_f * 1000).to_i}"
    e.type = :OPTIMIZE_ASSETS
    # Set the optimize assets experiment subtype to COMPARE_ASSETS.
    e.optimize_assets_experiment = client.resource.optimize_assets_experiment_info do |oae|
      oae.optimize_assets_experiment_subtype = :COMPARE_ASSETS
    end
  end
end

# 3. Create two ExperimentArm resources.
treatment_assets = [
  [asset_1_temp_id, :HEADLINE],
  [asset_2_temp_id, :MARKETING_IMAGE],
]
arm_operations = create_arms_operations(
  client,
  customer_id,
  experiment_temp_id,
  campaign_resource_name,
  asset_group_id,
  treatment_assets,
)

# 4. Create AssetGroupAssets linking the assets to the asset group.
asset_group_asset_operation_1 = create_asset_group_asset_operation(
  client,
  customer_id,
  asset_group_id,
  asset_1_temp_id,
  :HEADLINE,
)
asset_group_asset_operation_2 = create_asset_group_asset_operation(
  client,
  customer_id,
  asset_group_id,
  asset_2_temp_id,
  :MARKETING_IMAGE,
)

# Send all operations in a single Mutate request.
# The operations must be in this specific order.
mutate_operations = [
  asset_operation_1,
  asset_operation_2,
  experiment_operation,
  *arm_operations,
  asset_group_asset_operation_1,
  asset_group_asset_operation_2,
]

response = client.service.google_ads.mutate(
  customer_id: customer_id,
  mutate_operations: mutate_operations,
)
      

Perl

This example is not yet available in Perl; you can take a look at the other languages.
    

curl

تقرير عن التجربة

اطّلِع على دليل إعداد التقارير للاستعلام عن مورد experiment ومقارنة المقاييس بين مجموعات مواد العرض الضابطة والتجريبية.

التخرّج أو إنهاء الحساب

بعد تقييم النتائج، يمكنك إنهاء التجربة أو إكمالها باستخدام ExperimentService.

  • إنهاء: إذا لم تكن راضيًا عن نتائج مجموعة التجربة، استخدِم EndExperiment. هذه عملية متزامنة.
  • الترقية: إذا كنت تفضّل أداء مجموعة مواد العرض في مجموعة التجربة، استخدِم GraduateExperiment. كجزء من هذه العملية، يتم إيقاف الحملة الأساسية الأصلية المرتبطة بالمجموعة الضابطة مؤقتًا، ويتم تحويل مجموعة التجربة إلى حملة جديدة مستقلة. هذه عملية متزامنة.