P-MAX アセット グループは、P-MAX キャンペーンの作成時に追加した画像、広告見出し、説明文、動画で構成されます。広告のパフォーマンスを最適化するため、広告が表示される特定の Google 広告チャネル(YouTube、Gmail、検索など)に最適なアセットがインテリジェントに選択され、組み合わされます。
アセット グループをキャンペーン間で共有することはできません。各キャンペーンには、少なくとも 1 つのアセット グループが必要です。キャンペーンあたりのアセット グループ数の上限は 100 個です。
アセット グループ
アセット グループは、1 つのテーマに的を絞ったアセットや、ターゲット オーディエンスに関連するアセットの集まりです。アセット グループは、すべての広告を組み合わせて、広告掲載の目標で使用可能なすべての広告フォーマットの広告枠を作成するために使用されます。詳しくは、アセット グループについての記事をご覧ください。
アセット グループには 1 つ以上の最終ページ URL が含まれます。少なくとも 1 つの最終ページ URL が必要です。指定されたアセット グループとキャンペーン目標のコンバージョン経路に最も関連性の高い URL を使用します。アセット グループの最終ページ URL を WEBPAGE キャンペーン条件から除外することはできません。
アセット グループをアセットにリンクする
AssetGroup は、新しい AssetGroupAsset を作成し、次の情報を指定することで Asset にリンクされます。
AssetGroupのリソース名Assetのリソース名AssetGroup内のAssetのAssetFieldType
1 つの AssetGroup を複数の Asset オブジェクトにリンクできます。Asset は複数のアセット グループにリンクできます。1 つの Asset に、異なる AssetGroup オブジェクトで異なるフィールド型を設定できます。
制限事項:
AssetGroupOperationリクエストはアトミックである必要があります。部分的な障害はサポートされていません。AssetGroupOperationを使用してバッチ処理でアセット グループ リソースを変更することはできません。代わりに、標準のGoogleAdsService.MutateとAssetGroupServiceを使用して、バッチ処理でアセット グループ リソースを変更します。AssetGroupAssetOperationはBatchJobService内で使用して、アセットをアセット グループにリンクまたはリンク解除できます。
P-MAX 小売キャンペーンでアセット グループをアセットにリンクする
アセットの最小要件を満たしていなくても、P-MAX 小売キャンペーンで AssetGroup オブジェクトを作成できます。ただし、いずれかの P-MAX キャンペーンで AssetGroupAsset を使用して Asset を AssetGroup にリンクしようとすると、すべてのアセット要件が有効になります。つまり、小売向け P-MAX キャンペーンの AssetGroup オブジェクトは、次の 2 つの状態でのみ存在できます。
- リンクされた
Assetオブジェクトがない場合 Assetのすべての要件を満たす
ベスト プラクティスとして、すべてのアド インベントリでリーチを最大化するために、アセットをアップロードすることをおすすめします。ただし、部分的な失敗を使用せずに、1 つのリクエストで必要なすべてのアセットをリンクする必要があります。また、別々のリクエストでアセットをアセット グループに 1 つずつ追加することはできません。
Java
/** Creates a list of MutateOperations that create a new AssetGroup. */ private List<MutateOperation> createAssetGroupOperations( long customerId, String assetGroupResourceName, List<String> headlineAssetResourceNames, List<String> descriptionAssetResourceNames, boolean brandGuidelinesEnabled) throws IOException { List<MutateOperation> mutateOperations = new ArrayList<>(); String campaignResourceName = ResourceNames.campaign(customerId, PERFORMANCE_MAX_CAMPAIGN_TEMPORARY_ID); // Creates the AssetGroup. AssetGroup assetGroup = AssetGroup.newBuilder() .setName("Performance Max asset group #" + getPrintableDateTime()) .setCampaign(campaignResourceName) .addFinalUrls("http://www.example.com") .addFinalMobileUrls("http://www.example.com") .setStatus(AssetGroupStatus.PAUSED) .setResourceName(assetGroupResourceName) .build(); AssetGroupOperation assetGroupOperation = AssetGroupOperation.newBuilder().setCreate(assetGroup).build(); mutateOperations.add( MutateOperation.newBuilder().setAssetGroupOperation(assetGroupOperation).build()); // For the list of required assets for a Performance Max campaign, see // https://developers.google.com/google-ads/api/docs/performance-max/assets // An AssetGroup is linked to an Asset by creating a new AssetGroupAsset // and providing: // the resource name of the AssetGroup // the resource name of the Asset // the field_type of the Asset in this AssetGroup. // To learn more about AssetGroups, see // https://developers.google.com/google-ads/api/docs/performance-max/asset-groups // Links the previously created multiple text assets. // Links the headline assets. for (String resourceName : headlineAssetResourceNames) { mutateOperations.add( createAssetGroupAssetMutateOperation( AssetFieldType.HEADLINE, resourceName, assetGroupResourceName)); } // Links the description assets. for (String resourceName : descriptionAssetResourceNames) { mutateOperations.add( createAssetGroupAssetMutateOperation( AssetFieldType.DESCRIPTION, resourceName, assetGroupResourceName)); } // Creates and links the lo<ng headline tex>t asset. ListMutateOperation createAndLinkTextAssetOperations = createAndLinkTextAsset(customerId, "Travel the World", AssetFieldType.LONG_HEADLINE); mutateOperations.addAll(createAndLinkTextAssetOperations); // Creates and links t<he business nam>e and logo assets. ListMutateOperation createAndLinkBrandAssets = createAndLinkBrandAssets( customerId, brandGuidelinesEnabled, "Interplanetary Cruises", "https://gaagl.page.link/bjYi", "Marketing Logo"); mutateOperations.addAll(createAndLinkBrandAssets); // Creates and links the image assets. // Creates and links the Marketing Image Asset. createAndLinkTextAssetOperations = createAndLinkImageAsset( customerId, "https://gaagl.page.link/Eit5", AssetFieldType.MARKETING_IMAGE, "Marketing Image"); mutateOperations.addAll(createAndLinkTextAssetOperations); // Creates and links the Square Marketing Image Asset. createAndLinkTextAssetOperations = createAndLinkImageAsset( customerId, "https://gaagl.page.link/bjYi", AssetFieldType.SQUARE_MARKETING_IMAGE, "Square Markerations.addAll(createAndLinkTextAssetOperations); return mutateOperations; } AddPerformanceMaxCampaign.java
C#
/// <summary> /// Creates a list of MutateOperations that create a new asset_group. /// </summary> /// <param name="campaignResource>Name"The campaign reso<urce n>ame./<param /// param name="assetGro>upResourceName"The asset <group >resou<rce name./param /// param name="he>adlineAssetResourceNames"The <headli>ne as<set resource names./param /// param name=&>quot;descriptionAssetResourceNames"T<he des>cript<ion asset resource /// names./para>m /// param name="resourceNameGen<erator>"<;A generator for un>ique temporary ID'<s./par>am //</ param name="config"The >Google Ads config./param /// param name=&q<uot;br>andGu<ideline>sEnabled"Whether or not to enable brand guidelines./pa<ram /// >returnsA list< of MutateOpera>tions that create the new asset group./returns private ListMutateOperation CreateAssetGroupOperations( < stri>ng campaignResourceName, string a<ssetGr>oupResourceName, Liststring headlineAssetResourceNames, Liststring descriptionAssetResourceNames, AssetTemporaryResourceNameGenerator resourceNameGenerato<r, GoogleAd>sConfig config, bo<ol brandGuideli>nesEnabled) { ListMutateOperation operations = new ListMutateOperation(); // Create the AssetGroup operations.Add( new MutateOperation() { AssetGroupOperation = new AssetGroupOperation() { Create = new AssetGroup() { Name = "Performance Max asset group #" + ExampleUtilities.GetRandomString(), Campaign = campaignResourceName, FinalUrls = { "http://www.example.com" }, FinalMobileUrls = { "http://www.example.com" }, Status = AssetGroupStatus.Paused, ResourceName = assetGroupResourceName } } } ); // For the list of required assets for a Performance Max campaign, see // https://developers.google.com/google-ads/api/docs/performance-max/assets // An AssetGroup is linked to an Asset by creating a new AssetGroupAsset // and providing: // the resource name of the AssetGroup // the resource name of the Asset // the field_type of the Asset in this AssetGroup. // // To learn more about AssetGroups, see // https://developers.google.com/google-ads/api/docs/performance-max/asset-groups // Link the previously created multiple text assets. // Link the headline assets. foreach (string resourceName in headlineAssetResourceNames) { operations.Add( new MutateOperation() { AssetGroupAssetOperation = new AssetGroupAssetOperation() { Create = new AssetGroupAsset() { FieldType = AssetFieldType.Headline, AssetGroup = assetGroupResourceName, Asset = resourceName } } } ); } // Link the description assets. foreach (string resourceName in descriptionAssetResourceNames) { operations.Add( new MutateOperation() { AssetGroupAssetOperation = new AssetGroupAssetOperation() { Create = new AssetGroupAsset() { FieldType = AssetFieldType.Description, AssetGroup = assetGroupResourceName, Asset = resourceName } } } ); } // Create and link the brand assets. operations.AddRange( CreateAndLinkBrandAssets( assetGroupResourceName, campaignResourceName, resourceNameGenerator, "Interplanetary Cruises", "https://gaagl.page.link/bjYi", "Marketing Logo", config, brandGuidelinesEnabled ) ); // Create and link the long headline text asset. operations.AddRange( CreateAndLinkTextAsset( assetGroupResourceName, resourceNameGenerator.Next(), "Travel the World", AssetFieldType.LongHeadline ) ); // Create and link the image assets. // Create and link the Marketing Image Asset. operations.AddRange( CreateAndLinkImageAsset( assetGroupResourceName, resourceNameGenerator.Next(), "https://gaagl.page.link/Eit5", AssetFieldType.MarketingImage, "Marketing Image", config ) ); // Create and link the Square Marketing Image Asset. operations.AddRange( CreateAndLinkImageAsset( assetGroupResourceName, resourceNameGenerator.Next(), "https://gaa AssetFieldType.SquareMarketingImage, "Square Marketing Image", config ) ); return operations; } AddPerformanceMaxCampaign.cs
PHP
private static function createAssetGroupOperations( int $customerId, array $headlineAssetResourceNames, array $descriptionAssetResourceNames, bool $brandGuidelinesEnabled ): array { $operations = []; // Creates a new mutate operation that creates an asset group operation. $operations[] = new MutateOperation( [ 'asset_group_operatio>n' = new AssetGroupOperation( [ >39;create' = new AssetGroup( [ &>#39;resource_name' = ResourceNames::forAssetGroup( $customerId, self::ASSET_GROUP_TEMPORARY_ID ), > 'name' = 'Performance Max asset group #' . Helper::getPrintable>Datetime(), 'campaign' = ResourceNames::forCampaign( $customerId, self::PERFORMANCE_MAX_CAMPAIGN_TEMPORARY_ID > ), 'final_urls' = ['htt>p://www.example.com'], 'final_m>obile_urls' = ['http://www.example.com'], 'status' = AssetGroupStatus::PAUSED ] ) ] ) ] ); // For the list of required assets for a Performance Max campaign, see // https://developers.google.com/google-ads/api/docs/performance-max/assets // An AssetGroup is linked to an Asset by creating a new AssetGroupAsset // and providing: // - the resource name of the AssetGroup // - the resource name of the Asset // - the field_type of the Asset in this AssetGroup // // To learn more about AssetGroups, see // https://developers.google.com/google-ads/api/docs/performance-max/asset-groups. // Links the previously created multiple text assets. // Links the headline assets. foreach ($headlineAssetResourceNames as $resourceName) { $opera>tions[] = new MutateOperation( [ 'asset_group_a>sset_operation' = new AssetGroupAssetOperation( [ > 'create' = new AssetGroupAsset>( [ 'asset' = $resourceName, 'asset_group' = ResourceNames::forAssetGroup( $cust>omerId, self::ASSET_GROUP_TEMPORARY_ID ), 'field_type' = AssetFieldType::HEADLINE ] ) ] ) ] ); } // Links the description assets. foreach ($descriptionAssetResource>Names as $resourceName) { $operations[] = new MutateOperation( > [ 'asset_group_asset_operation' = new AssetGr>oupAssetOperation( [ > 'create' = new AssetGroupAsset( [ 'asset' = $resourceName, 'asset_group' = ResourceNames::forA>ssetGroup( $customerId, self::ASSET_GROUP_TEMPORARY_ID ), 'field_type' = AssetFieldType::DESCRIPTION ] ) ] ) ] ); } // Creates and links the long headline text asset. $operations = array_merge( $operations, self::createAndLinkTextAsset( $customerId, 'Travel the World', AssetFieldType::LONG_HEADLINE ) ); // Creates and links the business name text asset. $operations = array_merge( $operations, self::createAndLinkBrandAssets( $customerId, $brandGuidelinesEnabled, 'Interplanetary Cruises', 'https://gaagl.page.link/bjYi', 'Marketing Logo' ) ); // Creates and links the image assets. // Creates and links the Marketing Image Asset. $operations = array_merge( $operations, self::createAndLinkImageAsset( $customerId, 'https://gaagl.page.link/Eit5', AssetFieldType::MARKETING_IMAGE, 'Marketing Image' ) ); // Creates and links the Square Marketing Image Asset. $operations = array_merge( $operations, self::createAndLustomerId, 'https://gaagl.page.link/bjYi', AssetFieldType::SQUARE_MARKETING_IMAGE, 'Square Marketing Image' ) ); return $operations; }AddPerformanceMaxCampaign.php
Python
def create_asset_group_operation( client: GoogleAdsClient, customer_id: str, headline_asset_resource_names: List[str], description_asset_resource_names: List[str], brand_guidelines_enabled: bool, ) -> List[MutateOperation]: """Creates a list of MutateOperations that create a new asset_group. A temporary ID will be assigned to this asset group so that it can be referenced by other objects being created in the same Mutate request. Args: client: an initialized GoogleAdsClient instance. customer_id: a client customer ID. headline_asset_resource_names: a list of headline resource names. description_asset_resource_names: a list of description resource names. brand_guidelines_enabled: a boolean value indicating if the campaign is enabled for brand guidelines. Returns: MutateOperations that create a new asset group and related assets. """ asset_group_service: AssetGroupServiceClient = client.get_service( "AssetGroupService" ) campaign_service: CampaignServiceClient = client.get_service( "CampaignService" ) operations: List[MutateOperation] = [] # Create the AssetGroup mutate_operation: MutateOperation = client.get_type("MutateOperation") asset_group: AssetGroup = mutate_operation.asset_group_operation.create asset_group.name = f"Performance Max asset group #{uuid4()}" asset_group.campaign = campaign_service.campaign_path( customer_id, _PERFORMANCE_MAX_CAMPAIGN_TEMPORARY_ID ) asset_group.final_urls.append("http://www.example.com") asset_group.final_mobile_urls.append("http://www.example.com") asset_group.status = client.enums.AssetGroupStatusEnum.PAUSED asset_group.resource_name = asset_group_service.asset_group_path( customer_id, _ASSET_GROUP_TEMPORARY_ID, ) operations.append(mutate_operation) # For the list of required assets for a Performance Max campaign, see # https://developers.google.com/google-ads/api/docs/performance-max/assets # An AssetGroup is linked to an Asset by creating a new AssetGroupAsset # and providing: # the resource name of the AssetGroup # the resource name of the Asset # the field_type of the Asset in this AssetGroup. # # To learn more about AssetGroups, see # https://developers.google.com/google-ads/api/docs/performance-max/asset-groups # Link the previously created multiple text assets. # Link the headline assets. for resource_name in headline_asset_resource_names: mutate_operation: MutateOperation = client.get_type("MutateOperation") asset_group_asset: AssetGroupAsset = ( mutate_operation.asset_group_asset_operation.create ) asset_group_asset.field_type = client.enums.AssetFieldTypeEnum.HEADLINE asset_group_asset.asset_group = asset_group_service.asset_group_path( customer_id, _ASSET_GROUP_TEMPORARY_ID, ) asset_group_asset.asset = resource_name operations.append(mutate_operation) # Link the description assets. for resource_name in description_asset_resource_names: mutate_operation: MutateOperation = client.get_type("MutateOperation") asset_group_asset: AssetGroupAsset = ( mutate_operation.asset_group_asset_operation.create ) asset_group_asset.field_type = ( client.enums.AssetFieldTypeEnum.DESCRIPTION ) asset_group_asset.asset_group = asset_group_service.asset_group_path( customer_id, _ASSET_GROUP_TEMPORARY_ID, ) asset_group_asset.asset = resource_name operations.append(mutate_operation) # Create and link the long headline text asset. mutate_operations: List[MutateOperation] = create_and_link_text_asset( client, customer_id, "Travel the World", client.enums.AssetFieldTypeEnum.LONG_HEADLINE, ) operations.extend(mutate_operations) # Create and link the business name and logo asset. mutate_operations: List[MutateOperation] = create_and_link_brand_assets( client, customer_id, brand_guidelines_enabled, "Interplanetary Cruises", "https://gaagl.page.link/bjYi", "Marketing Logo", ) operations.extend(mutate_operations) # Create and link the image assets. # Create and link the Marketing Image Asset. mutate_operations: List[MutateOperation] = create_and_link_image_asset( client, customer_id, "https://gaagl.page.link/Eit5", client.enums.AssetFieldTypeEnum.MARKETING_IMAGE, "Marketing Image", ) operations.extend(mutate_operations) # Create and link the Square Marketing Image Asset. mutate_operations: List[MutateOperation] = create_and_link_image_asset( client, customer_id, "https://gaagl.page.linums.AssetFieldTypeEnum.SQUARE_MARKETING_IMAGE, "Square Marketing Image", ) operations.extend(mutate_operations) return operationsadd_performance_max_campaign.py
Ruby
# Creates a list of MutateOperations that create a new asset_group. # # A temporary ID will be assigned to this asset group so that it can # be referenced by other objects being created in the same Mutate request. def create_asset_group_operation( client, customer_id, headline_asset_resource_names, description_asset_resource_names, brand_guidelines_enabled) operations = [] # Create the AssetGroup operations << client.operation.mutate do |m| m.asset_group_operation = client.operation.create_resource.asset_group do |ag| ag.name = "Performance Max asset group #{SecureRandom.uuid}" ag.campaign = client.path.campaign( customer_id, PERFORMANCE_MAX_CAMPAIGN_TEMPORARY_ID) ag.f<<inal_urls "http://www.example.com" a<<g.final_mobile_urls "http://www.example.com" ag.status = :PAUSED ag.resource_name = client.path.asset_group( customer_id, ASSET_GROUP_TEMPORARY_ID) end end # For the list of required assets for a Performance Max campaign, see # https://developers.google.com/google-ads/api/docs/performance-max/assets # # An AssetGroup is linked to an Asset by creating a new AssetGroupAsset # and providing: # the resource name of the AssetGroup # the resource name of the Asset # the field_type of the Asset in this AssetGroup. # # To learn more about AssetGroups, see # https://developers.google.com/google-ads/api/docs/performance-max/asset-groups # Link the previously created multiple text assets. # Link the headline assets. headline_asset_resource_names.each do |<<resource_name| operations client.operation.mutate do |m| m.asset_group_asset_operation = client.operation.create_resource .asset_group_asset do |aga| aga.field_type = :HEADLINE aga.asset_group = client.path.asset_group( customer_id, ASSET_GROUP_TEMPORARY_ID) aga.asset = resource_name end end end # Link the description assets. description_asset_resource_names.each do |<<resource_name| operations client.operation.mutate do |m| m.asset_group_asset_operation = client.operation.create_resource .asset_group_asset do |aga| aga.field_type = :DESCRIPTION aga.asset_group = client.path.asset_group( customer_id, ASSET_GROUP_TEMPORARY_ID) aga.asset = resource_name end end end # Create and link the long headline text asset. operations += create_and_link_text_asset( client, customer_id, "Travel the World", :LONG_HEADLINE) # Create and link the business name and logo asset. operations += create_and_link_brand_assets( client, customer_id, brand_guidelines_enabled, "Interplanetary Cruises", "https://gaagl.page.link/bjYi", "Marketing Logo") # Create and link the image assets. # Create and link the Marketing Image Asset. operations += create_and_link_image_asset( client, customer_id, "https://gaagl.page.link/Eit5", :MARKETING_IMAGE, "Marketing Image") # Create and link the Square Marketing Image Asset. operations += create_and_link_image_asset( client, customer_id, "https://gaagUARE_MARKETING_IMAGE, "Square Marketing Image") operations endadd_performance_max_campaign.rb
Perl
sub create_asset_group_operations { my ( $customer_id, $headline_asset_resource_names, $description_asset_resource_names, $brand_guidelines_enabled ) = @_; my $operations = []; # Create a mutate operation that creates an asset group operation. push @$operations, Google::Ads::GoogleAds::V25::Services::GoogleAdsService::MutateOperation-> new({ assetGroupOperation => Google::Ads::GoogleAds::V25::Services::AssetGroupService::AssetGroupOperation ->new({ create => Google::Ads::GoogleAds::V25::Resources::AssetGroup->new({ resourceName => Google::Ads::GoogleAds::V25::Utils::ResourceNames::asset_group( $customer_id, ASSET_GROUP_TEMPORARY_ID ), name => "Performance Max asset group #" . uniqid(), >campaign = Google::Ads::GoogleAds::V25::Utils::ResourceNames::campaign( $customer_id, PERFORMANCE_MAX_CAMPAIGN_TEMPORARY_ID ), finalUr>ls = ["http://www.example.com"], > finalMobileUrls = ["http://www.example.com"], > status = Google::Ads::GoogleAds::V25::Enums::AssetGroupStatusEnum::PAUSED })})}); # For the list of required assets for a Performance Max campaign, see # https://developers.google.com/google-ads/api/docs/performance-max/assets. # An AssetGroup is linked to an Asset by creating a new AssetGroupAsset # and providing: # - the resource name of the AssetGroup # - the resource name of the Asset # - the fieldType of the Asset in this AssetGroup # # To learn more about AssetGroups, see # https://developers.google.com/google-ads/api/docs/performance-max/asset-groups. # Link the previously created multiple text assets. # Link the headline assets. foreach my $resource_name (@$headline_asset_resource_names) { push @$operations, Google::Ads::GoogleAds::V25::Services::GoogleAdsSe>rvice::MutateOperation -new({ > assetGroupAssetOperation = Google::Ads::GoogleAds::V25::Services::AssetGroupAssetService::AssetG>roupAssetOperation > -new({ create = Google::Ads::GoogleAds::V2>5::Resources::AssetGroupAsset-new(>{ asset = $resource_name>, assetGroup = Google::Ads::GoogleAds::V25::Utils::ResourceNames::asset_group( $customer_id, ASSET_GROUP_TEMPORARY_ID >), fieldType = HEADLINE })})}); } # Link the description assets. foreach my $resource_name (@$description_asset_resource_names) { push @$operations, Google::Ads::GoogleAds::V25::Services::GoogleAdsSe>rvice::MutateOperation -new({ > assetGroupAssetOperation = Google::Ads::GoogleAds::V25::Services::AssetGroupAssetService::AssetG>roupAssetOperation > -new({ create = Google::Ads::GoogleAds::V2>5::Resources::AssetGroupAsset-new(>{ asset = $resource_name>, assetGroup = Google::Ads::GoogleAds::V25::Utils::ResourceNames::asset_group( $customer_id, ASSET_GROUP_TEMPORARY_ID >), fieldType = DESCRIPTION })})}); } # Create and link the long headline text asset. push @$operations, @{create_and_link_text_asset($customer_id, "Travel the World", LONG_HEADLINE)}; # Create and link the business name and logo asset. push @$operations, @{ create_and_link_brand_assets( $customer_id, $brand_guidelines_enabled, "Interplanetary Cruises", "https://gaagl.page.link/bjYi", "Marketing Logo" )}; # Create and link the image assets. # Create and link the marketing image asset. push @$operations, @{ create_and_link_image_asset( $customer_id, "https://gaagl.page.link/Eit5", MARKETING_IMAGE, "Marketing Image" )}; # Create and link the square marketing image asset. push @$operations, @{ create_and_link_image_asset( $customer_id, "https://gaagl.page.linkTING_IMAGE, "Square Marketing Image" )}; return $operations; }add_performance_max_campaign.pl
curl
ローカル サービス P-MAX キャンペーン
ローカル サービス パフォーマンスの最大化(GLS P-MAX)キャンペーン(GLS は Google ローカル サービスを意味します)には、アセット グループに関して次のような独自の特性があります。
- アセットの最小要件をバイパスする: 標準の P-MAX キャンペーンとは異なり、GLS P-MAX キャンペーンでは、広告を配信するために標準アセット(見出し、説明、画像など)は必要ありません。したがって、
AssetGroupAssetオブジェクトに関連付けられていないAssetGroupオブジェクトを作成できます。 - Google ローカル サービス情報: アセット グループの
google_local_services_infoフィールドにGoogleLocalServicesInfoメッセージを入力することで、アセット グループでローカル サービス広告のメタデータを構成できます。category_id(文字列、不変、省略可): ローカル サービス カテゴリ ID(XCAT 形式、例:xcat:service_area_business_plumber)を指定します。このフィールドは不変であり、AssetGroupの作成後に変更することはできません。callouts(LocalServicesCalloutの繰り返し): 表示する選択されたコールアウト。それぞれが有効なcallout_idを参照します。- 検証: API はサーバーサイド検証を行い、指定された
callout_idが広告主様の特定のカテゴリと言語 / 地域で有効であることを確認します。 - 可変性:
category_idは不変ですが、calloutsリストは完全に可変です。後続の更新オペレーションで、コールアウトを追加、置換、クリア(空のリストまたはデフォルト インスタンスをフィールド マスクgoogle_local_services_info.calloutsに渡す)できます。
- 検証: API はサーバーサイド検証を行い、指定された
アセット グループの広告をプレビューする
アセット グループを作成してアセットをリンクしたら、共有可能なプレビューを生成して、各アセット グループから作成された広告の表示形式を確認できます。
アセット グループ ID を ShareablePreviewService.GenerateShareablePreviews に渡すことで、ユーザーと共有する広告プレビューの URL と有効期限のタイムスタンプを取得できます。
複数のアセット グループ
アセットがドメイン内の URL 全体で使用できるほど汎用的ではなく、URL 展開を使用している場合は、最終ページ URL ごとに別々のアセット グループを作成してもよいでしょう。
また、オーディエンスごとにアセットをカスタマイズしたい場合は、最終ページ URL が同じであっても、オーディエンスごとに複数のアセット グループを作成してもかまいません。テーマごとに複数のアセット グループを作成することもできます。