ऐसेट ऑप्टिमाइज़ेशन एक्सपेरिमेंट, परफ़ॉर्मेंस मैक्स कैंपेन में ऐसेट के अलग-अलग कॉम्बिनेशन की जांच करते हैं. इससे, ऐसेट के अलग-अलग सेट की परफ़ॉर्मेंस की तुलना, बेस सेट से की जा सकती है.
यह वर्कफ़्लो ExperimentType.OPTIMIZE_ASSETS के लिए उपलब्ध है.
सेटअप
ऐसेट ऑप्टिमाइज़ेशन एक्सपेरिमेंट सेट अप करने के लिए:
- नई ऐसेट बनाएं. साथ ही, कंट्रोल और ट्रीटमेंट ग्रुप के साथ एक्सपेरिमेंट बनाएं.
- बदलाव के एक ही अनुरोध में, नई ऐसेट को ट्रीटमेंट ग्रुप के ऐसेट ग्रुप से लिंक करें.
ज़रूरी शर्तें
ऐसेट ऑप्टिमाइज़ेशन एक्सपेरिमेंट बनाने से पहले, आपके पास एक मौजूदा परफ़ॉर्मेंस मैक्स कैंपेन और एक बेस AssetGroup रिसॉर्स (customers/{customer_id}/assetGroups/{asset_group_id}) होना चाहिए. यह रिसॉर्स, दोनों एक्सपेरिमेंट ग्रुप के लिए बेसलाइन के तौर पर काम करता है. ADD_ASSETS_TO_ASSETLESS_RETAIL के लिए, पक्का करें कि एक्सपेरिमेंट बनाने से पहले, बेस AssetGroup में कम से कम एक final_urls सेट हो. ऐसा इसलिए, क्योंकि चालू ऐसेट एक्सपेरिमेंट, बेस AssetGroup में बदलावों को फ़्रीज़ कर देता है. साथ ही, कस्टम ऐसेट को लिंक करने के लिए final_urls की ज़रूरत होती है.
अनुरोध की गई कार्रवाई का क्रम
ये इकाइयां एक-दूसरे पर निर्भर होती हैं. इसलिए, आपको एक ही अनुरोध में पहले के ऑपरेशन में बनाए गए संसाधनों को रेफ़र करने के लिए, अस्थायी संसाधन के नाम इस्तेमाल करने होंगे.
आपके अनुरोध में कार्रवाइयां इस क्रम में होनी चाहिए:
- अस्थायी रिसॉर्स नेम (जैसे कि
customers/CUSTOMER_ID/assets/-1) के साथ एक या उससे ज़्यादाAssetरिसॉर्स बनाएं. अपनी टेस्ट ऐसेट के साथ-साथ, कोई भी नईBUSINESS_NAMEऔरLOGOब्रैंड ऐसेट शामिल करें. ऐसा तब करें, जब बिना ऐसेट वाले किसी रीटेल कैंपेन में ब्रैंड से जुड़े दिशा-निर्देश चालू हों और उसमें ब्रैंड के मौजूदा लिंक न हों. इस मामले में, पहले चरण के तुरंत बादCampaignAssetऑपरेशन की मदद से, उन ब्रैंड ऐसेट को बेसCampaignसे लिंक करें. - संसाधन के अस्थायी नाम (उदाहरण के लिए,
customers/CUSTOMER_ID/experiments/-2) के साथExperimentबनाएं. साथ ही,typeकोOPTIMIZE_ASSETSपर सेट करें,statusकोENABLEDपर सेट करें, औरoptimize_assets_experiment.optimize_assets_experiment_subtypeको चुने गएOptimizeAssetsExperimentSubtype(उदाहरण के लिए,COMPARE_ASSETS) पर सेट करें. दूसरे चरण में बनाए गए अस्थायी एक्सपेरिमेंट के रिसॉर्स नेम से लिंक किए गए दो
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(repeatedAssetGroupAssetInfo) में ट्रीटमेंट ग्रुप के लिएAssetसंसाधनों औरfield_typeकी सूची दी गई है. इसमें पहले चरण में बनाया गया नया टेस्टAsset(customers/CUSTOMER_ID/assets/-1) भी शामिल है.ADD_ASSETS_TO_ASSETLESS_RETAILका इस्तेमाल करते समय, ट्रीटमेंट ग्रुप में मौजूदasset_group_assetsको ऐसेट ग्रुप की सभी ज़रूरी शर्तें पूरी करनी होंगी. इसमें,YOUTUBE_VIDEOजैसी वैकल्पिक ऐसेट को अलग से शामिल न करें. साथ ही, अगर बेस कैंपेन में ब्रैंड से जुड़े दिशा-निर्देश चालू हैं, तो कैंपेन-लेवल पर ज़रूरीBUSINESS_NAMEऔरLOGOCampaignAssetलिंक मौजूद होने चाहिए या उसी अनुरोध में बनाए जाने चाहिए.
- एक कंट्रोल आर्म (
पहले चरण (
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.
curl
एक्सपेरिमेंट की रिपोर्ट
experiment रिसॉर्स के बारे में क्वेरी करने और कंट्रोल और ट्रीटमेंट ऐसेट ग्रुप के बीच मेट्रिक की तुलना करने के लिए, रिपोर्टिंग गाइड देखें.
ग्रैजुएट या खत्म
नतीजों का आकलन करने के बाद, ExperimentService का इस्तेमाल करके, एक्सपेरिमेंट को खत्म किया जा सकता है या उसे लागू किया जा सकता है.
- खत्म करें: अगर आप ट्रीटमेंट ग्रुप के नतीजों से संतुष्ट नहीं हैं, तो
EndExperimentका इस्तेमाल करें. यह एक सिंक्रोनस ऑपरेशन है. - ग्रेजुएट: अगर आपको ट्रीटमेंट ग्रुप के ऐसेट ग्रुप की परफ़ॉर्मेंस पसंद है, तो
GraduateExperimentका इस्तेमाल करें. इस प्रोसेस के तहत, कंट्रोल ग्रुप से जुड़ा ओरिजनल बेस कैंपेन रोक दिया जाता है. साथ ही, ट्रीटमेंट ग्रुप को एक नए और अलग कैंपेन में बदल दिया जाता है. यह एक सिंक्रोनस ऑपरेशन है.