অ্যাসেট অপ্টিমাইজেশন সংক্রান্ত পরীক্ষা

অ্যাসেট অপ্টিমাইজেশন পরীক্ষা, পারফর্ম্যান্স ম্যাক্স ক্যাম্পেনের মধ্যে বিভিন্ন অ্যাসেট কম্বিনেশন টেস্ট করে, যা আপনাকে বেস সেটের তুলনায় বিভিন্ন অ্যাসেট সেট কীভাবে পারফর্ম করে তা তুলনা করতে দেয়।

এই ওয়ার্কফ্লো ExperimentType.OPTIMIZE_ASSETS-এর জন্য কাজ করে।

সেট-আপ করুন

অ্যাসেট অপ্টিমাইজেশন এক্সপেরিমেন্ট সেট-আপ করতে:

  • নতুন অ্যাসেট এবং কন্ট্রোল ও ট্রিটমেন্ট ক্যাম্পেন সহ একটি এক্সপেরিমেন্ট তৈরি করুন।
  • একক মিউটেট অনুরোধের মধ্যে ট্রিটমেন্ট ক্যাম্পেনের অ্যাসেট গ্রুপের সাথে নতুন অ্যাসেট লিঙ্ক করুন।

পূর্বশর্ত

অ্যাসেট অপ্টিমাইজেশন এক্সপেরিমেন্ট তৈরি করার আগে, আপনার কাছে আগে থেকেই একটি পারফর্ম্যান্স ম্যাক্স ক্যাম্পেন এবং একটি বেস AssetGroup রিসোর্স (customers/{customer_id}/assetGroups/{asset_group_id}) থাকতে হবে যা উভয় এক্সপেরিমেন্ট আর্মের জন্য বেসলাইন হিসেবে কাজ করে। ADD_ASSETS_TO_ASSETLESS_RETAIL-এর জন্য, নিশ্চিত করুন যে এক্সপেরিমেন্ট তৈরি করার আগে বেস AssetGroup-এ ইতিমধ্যেই অন্তত একটি final_urls সেট করা আছে (একটি অ্যাক্টিভ অ্যাসেট এক্সপেরিমেন্ট বেস AssetGroup-এ এডিট ফ্রিজ করে দেয় এবং কাস্টম অ্যাসেট লিঙ্ক করার জন্য final_urls প্রয়োজন)।

অপারেশন অর্ডার করার অনুরোধ করুন

এইসব এন্টিটি একে অপরের উপর নির্ভরশীল হওয়ার কারণে, একই অনুরোধের মধ্যে আগের অপারেশনে তৈরি করা রিসোর্স উল্লেখ করতে আপনাকে অবশ্যই সাময়িক রিসোর্স নাম ব্যবহার করতে হবে।

আপনার অনুরোধে অপারেশনগুলি অবশ্যই নিম্নলিখিত ক্রমে হতে হবে:

  1. অস্থায়ী রিসোর্সের নাম (যেমন customers/CUSTOMER_ID/assets/-1) সহ এক বা একাধিক Asset রিসোর্স তৈরি করুন। আপনার টেস্ট অ্যাসেট অন্তর্ভুক্ত করুন, এর পাশাপাশি কোনও নতুন BUSINESS_NAME এবং LOGO ব্র্যান্ড অ্যাসেট অন্তর্ভুক্ত করুন, যদি ব্র্যান্ড নির্দেশিকা আগে থেকে থাকা ব্র্যান্ড লিঙ্ক ছাড়া অ্যাসেটলেস রিটেল ক্যাম্পেনে চালু করা থাকে (এই ক্ষেত্রে, ধাপ ১-এর ঠিক পরে CampaignAsset অপারেশনের মাধ্যমে সেইসব ব্র্যান্ড অ্যাসেটকে বেস Campaign-এর সাথে লিঙ্ক করুন)।
  2. Experiment-এর জন্য একটি অস্থায়ী রিসোর্স নাম (যেমন, customers/CUSTOMER_ID/experiments/-2) তৈরি করুন, type-কে OPTIMIZE_ASSETS হিসেবে সেট করুন, status-কে ENABLED হিসেবে সেট করুন এবং optimize_assets_experiment.optimize_assets_experiment_subtype-কে বেছে নেওয়া OptimizeAssetsExperimentSubtype (যেমন, COMPARE_ASSETS) হিসেবে সেট করুন।
  3. ধাপ ২ থেকে অস্থায়ী এক্সপেরিমেন্ট রিসোর্স নামের সাথে লিঙ্ক করা দুটি ExperimentArm রিসোর্স তৈরি করুন, প্রতিটি আর্মের জন্য 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) অন্তর্ভুক্ত। ADD_ASSETS_TO_ASSETLESS_RETAIL ব্যবহার করার সময়, ট্রিটমেন্ট আর্মের asset_group_assets-কে অবশ্যই সব অ্যাসেট গ্রুপের ন্যূনতম প্রয়োজনীয়তা পূরণ করতে হবে (ঐচ্ছিক অ্যাসেট যেমন শুধু YOUTUBE_VIDEO তালিকাভুক্ত করবেন না) এবং বেস ক্যাম্পেনে ব্র্যান্ড গাইডলাইন চালু থাকলে, একই অনুরোধে ক্যাম্পেন-লেভেলের প্রয়োজনীয় BUSINESS_NAME এবং LOGO CampaignAsset লিঙ্ক থাকতে হবে বা তৈরি করতে হবে।
  4. ধাপ ১ (customers/CUSTOMER_ID/assets/-1) থেকে টেস্ট অ্যাসেটকে এক্সপেরিমেন্ট আর্মসে ব্যবহৃত বেস AssetGroup-এর সাথে লিঙ্ক করে পরপর AssetGroupAsset রিসোর্স তৈরি করুন।

Java

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.
    

কার্ল

এক্সপেরিমেন্ট সংক্রান্ত রিপোর্ট

experiment রিসোর্স কোয়েরি করতে এবং কন্ট্রোল ও ট্রিটমেন্ট অ্যাসেট গ্রুপের মধ্যে মেট্রিক তুলনা করতে রিপোর্টিং গাইড দেখুন।

আপগ্রেড করুন বা শেষ করুন

ফলাফল মূল্যায়ন করার পরে, আপনি ExperimentService ব্যবহার করে এক্সপেরিমেন্ট শেষ বা গ্র্যাজুয়েট করতে পারবেন।

  • শেষ: ট্রিটমেন্ট আর্ম থেকে পাওয়া ফলাফলে আপনি সন্তুষ্ট না হলে, EndExperiment ব্যবহার করুন। এটি একটি সিঙ্ক্রোনাস অপারেশন।
  • গ্র্যাজুয়েট: আপনি যদি ট্রিটমেন্ট আর্মের অ্যাসেট গ্রুপের পারফর্ম্যান্স পছন্দ করেন, তাহলে GraduateExperiment ব্যবহার করুন। এই প্রসেসের অংশ হিসেবে, কন্ট্রোল ক্যাম্পেনের সাথে যুক্ত আসল বেস ক্যাম্পেন পজ করা হয় এবং ট্রিটমেন্ট ক্যাম্পেনকে নতুন, স্বতন্ত্র ক্যাম্পেনে পরিবর্তন করা হয়। এটি একটি সিঙ্ক্রোনাস অপারেশন।