Nhóm thành phần Tối đa hoá hiệu suất bao gồm hình ảnh, dòng tiêu đề, nội dung mô tả và video mà bạn thêm vào khi tạo chiến dịch Tối đa hoá hiệu suất. Để tối ưu hoá hiệu suất quảng cáo, hệ thống sẽ chọn và kết hợp các thành phần của bạn một cách thông minh để phù hợp nhất với kênh cụ thể của Google Ads (chẳng hạn như YouTube, Gmail hoặc Mạng Tìm kiếm) nơi quảng cáo của bạn xuất hiện.
Bạn không thể chia sẻ một nhóm thành phần giữa các chiến dịch. Mỗi chiến dịch cần có ít nhất một nhóm thành phần. Mỗi chiến dịch có thể có tối đa 100 nhóm thành phần.
Nhóm thành phần
Nhóm thành phần là một tập hợp gồm các thành phần tập trung vào một chủ đề hoặc có liên quan đến một đối tượng mục tiêu. Nhóm thành phần được dùng để tập hợp tất cả quảng cáo và tạo ra một khoảng không quảng cáo cho tất cả định dạng phù hợp với mục tiêu quảng cáo của bạn. Tìm hiểu thêm về nhóm thành phần.
Nhóm thành phần chứa một hoặc nhiều URL cuối cùng. Bạn phải có ít nhất một URL cuối cùng.
Hãy sử dụng URL phù hợp nhất với lộ trình chuyển đổi cho nhóm thành phần và mục tiêu của chiến dịch đã cho. Bạn không thể loại trừ URL cuối cùng của nhóm thành phần khỏi WEBPAGE tiêu chí chiến dịch.
Liên kết nhóm thành phần với thành phần
Một AssetGroup được liên kết với
Asset bằng cách tạo
AssetGroupAsset mới và cung cấp những thông tin sau:
- Tên tài nguyên của
AssetGroup - Tên tài nguyên của
Asset AssetFieldTypecủaAssettrongAssetGroup
Một AssetGroup có thể được liên kết với nhiều đối tượng Asset. Asset có thể được liên kết với nhiều nhóm thành phần. Một Asset có thể có nhiều loại trường trong
các đối tượng AssetGroup khác nhau.
Các hạn chế:
- Yêu cầu
AssetGroupOperationphải là nguyên tử. Không hỗ trợ lỗi một phần. - Bạn không thể sửa đổi tài nguyên nhóm thành phần trong một quy trình
hàng loạt bằng
AssetGroupOperation. Thay vào đó, hãy sử dụngGoogleAdsService.Mutatetiêu chuẩn vớiAssetGroupServiceđể sửa đổi tài nguyên nhóm thành phần trong một quy trình hàng loạt. - Bạn có thể sử dụng
AssetGroupAssetOperationtrongBatchJobServiceđể liên kết hoặc huỷ liên kết thành phần với một nhóm thành phần.
Liên kết nhóm thành phần với thành phần trong chiến dịch Tối đa hoá hiệu suất cho ngành bán lẻ
Bạn có thể tạo đối tượng AssetGroup trong chiến dịch Tối đa hoá hiệu suất cho ngành bán lẻ mà không cần
đáp ứng các
yêu cầu tối thiểu về thành phần.
Tuy nhiên, việc cố gắng liên kết Asset với AssetGroup bằng
AssetGroupAsset trong bất kỳ chiến dịch Tối đa hoá hiệu suất nào sẽ kích hoạt tất cả các yêu cầu về thành phần
có hiệu lực. Nói cách khác, đối tượng AssetGroup trong chiến dịch bán lẻ Tối đa hoá hiệu suất chỉ có thể tồn tại ở hai trạng thái:
- Không có đối tượng
Assetnào được liên kết - Đáp ứng tất cả các yêu cầu về
Asset
Tốt nhất là bạn nên tải thành phần lên để tối đa hoá phạm vi tiếp cận trên tất cả khoảng không quảng cáo. Tuy nhiên, bạn phải liên kết tất cả các thành phần quảng cáo bắt buộc trong một yêu cầu mà không sử dụng lỗi một phần, và bạn không thể thêm thành phần quảng cáo vào nhóm thành phần từng thành phần một bằng các yêu cầu riêng biệt.
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 long headline text asset. List<MutateOperation> createAndLinkTextAssetOperations = createAndLinkTextAsset(customerId, "Travel the World", AssetFieldType.LONG_HEADLINE); mutateOperations.addAll(createAndLinkTextAssetOperations); // Creates and links the business name and logo assets. List<MutateOperation> 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 Marketing Image"); mutateOperations.addAll(createAndLinkTextAssetOperations); return mutateOperations; }
C#
/// <summary> /// Creates a list of MutateOperations that create a new asset_group. /// </summary> /// <param name="campaignResourceName">The campaign resource name.</param> /// <param name="assetGroupResourceName">The asset group resource name.</param> /// <param name="headlineAssetResourceNames">The headline asset resource names.</param> /// <param name="descriptionAssetResourceNames">The description asset resource /// names.</param> /// <param name="resourceNameGenerator">A generator for unique temporary ID's.</param> /// <param name="config">The Google Ads config.</param> /// <param name="brandGuidelinesEnabled">Whether or not to enable brand guidelines.</param> /// <returns>A list of MutateOperations that create the new asset group.</returns> private List<MutateOperation> CreateAssetGroupOperations( string campaignResourceName, string assetGroupResourceName, List<string> headlineAssetResourceNames, List<string> descriptionAssetResourceNames, AssetTemporaryResourceNameGenerator resourceNameGenerator, GoogleAdsConfig config, bool brandGuidelinesEnabled) { List<MutateOperation> operations = new List<MutateOperation>(); // 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://gaagl.page.link/bjYi", AssetFieldType.SquareMarketingImage, "Square Marketing Image", config ) ); return operations; }
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_operation' => new AssetGroupOperation( [ 'create' => new AssetGroup( [ 'resource_name' => ResourceNames::forAssetGroup( $customerId, self::ASSET_GROUP_TEMPORARY_ID ), 'name' => 'Performance Max asset group #' . Helper::getPrintableDatetime(), 'campaign' => ResourceNames::forCampaign( $customerId, self::PERFORMANCE_MAX_CAMPAIGN_TEMPORARY_ID ), 'final_urls' => ['http://www.example.com'], 'final_mobile_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) { $operations[] = new MutateOperation( [ 'asset_group_asset_operation' => new AssetGroupAssetOperation( [ 'create' => new AssetGroupAsset( [ 'asset' => $resourceName, 'asset_group' => ResourceNames::forAssetGroup( $customerId, self::ASSET_GROUP_TEMPORARY_ID ), 'field_type' => AssetFieldType::HEADLINE ] ) ] ) ] ); } // Links the description assets. foreach ($descriptionAssetResourceNames as $resourceName) { $operations[] = new MutateOperation( [ 'asset_group_asset_operation' => new AssetGroupAssetOperation( [ 'create' => new AssetGroupAsset( [ 'asset' => $resourceName, 'asset_group' => ResourceNames::forAssetGroup( $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::createAndLinkImageAsset( $customerId, 'https://gaagl.page.link/bjYi', AssetFieldType::SQUARE_MARKETING_IMAGE, 'Square Marketing Image' ) ); return $operations; }
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.link/bjYi", client.enums.AssetFieldTypeEnum.SQUARE_MARKETING_IMAGE, "Square Marketing Image", ) operations.extend(mutate_operations) return operations
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.final_urls << "http://www.example.com" ag.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://gaagl.page.link/bjYi", :SQUARE_MARKETING_IMAGE, "Square Marketing Image") operations end
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 ), finalUrls => ["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::GoogleAdsService::MutateOperation ->new({ assetGroupAssetOperation => Google::Ads::GoogleAds::V25::Services::AssetGroupAssetService::AssetGroupAssetOperation ->new({ create => Google::Ads::GoogleAds::V25::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::GoogleAdsService::MutateOperation ->new({ assetGroupAssetOperation => Google::Ads::GoogleAds::V25::Services::AssetGroupAssetService::AssetGroupAssetOperation ->new({ create => Google::Ads::GoogleAds::V25::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.link/bjYi", SQUARE_MARKETING_IMAGE, "Square Marketing Image" )}; return $operations; }
curl
Chiến dịch Tối đa hoá hiệu suất cho Dịch vụ địa phương
Chiến dịch Tối đa hoá hiệu suất cho Dịch vụ địa phương (GLS PMax) – trong đó GLS là viết tắt của Google Local Services – có một số đặc điểm riêng biệt về nhóm thành phần:
- Bỏ qua các yêu cầu tối thiểu về thành phần: Không giống như chiến dịch Tối đa hoá hiệu suất tiêu chuẩn
, chiến dịch GLS PMax không yêu cầu các thành phần tiêu chuẩn (chẳng hạn như
dòng tiêu đề, nội dung mô tả hoặc hình ảnh) để phân phát. Do đó, bạn có thể tạo
AssetGroupđối tượng mà không cần đối tượngAssetGroupAssetđược liên kết. - Thông tin về Dịch vụ địa phương của Google: Bạn có thể định cấu hình siêu dữ liệu Quảng cáo dịch vụ địa phương
trên một nhóm thành phần bằng cách điền vào trường
google_local_services_infocủa nhóm thành phần đó bằng thông báoGoogleLocalServicesInfo:category_id(chuỗi, không thể thay đổi, không bắt buộc): Chỉ định mã danh mục Dịch vụ địa phương (ở định dạng XCAT, ví dụ:xcat:service_area_business_plumber). Trường này không thể thay đổi và bạn không thể thay đổi sau khi đã tạoAssetGroup.callouts(lặp lạiLocalServicesCallout): chú thích được chọn để hiển thị, mỗi chú thích tham chiếu đến mộtcallout_idhợp lệ.- Xác thực: API thực hiện quá trình xác thực phía máy chủ để đảm bảo
rằng mọi
callout_idđược cung cấp đều hợp lệ cho danh mục và ngôn ngữ cụ thể của nhà quảng cáo. - Khả năng biến đổi: Mặc dù
category_idkhông thể thay đổi, nhưngcalloutsdanh sách có thể thay đổi hoàn toàn. Bạn có thể thêm, thay thế hoặc xoá (bằng cách truyền một danh sách trống hoặc thực thể mặc định vào mặt nạ trườnggoogle_local_services_info.callouts) chú thích trong các thao tác cập nhật tiếp theo.
- Xác thực: API thực hiện quá trình xác thực phía máy chủ để đảm bảo
rằng mọi
Xem trước quảng cáo cho nhóm thành phần
Sau khi tạo nhóm thành phần và liên kết thành phần với các nhóm đó, bạn có thể tạo bản xem trước có thể chia sẻ để cho biết quảng cáo được tạo từ từng nhóm thành phần trông như thế nào.
Bằng cách truyền mã nhóm thành phần đến ShareablePreviewService.GenerateShareablePreviews, bạn có thể truy xuất URL của bản xem trước quảng cáo để chia sẻ với người dùng, cùng với dấu thời gian hết hạn của các bản xem trước đó.
Nhiều nhóm thành phần
Bạn có thể tạo các nhóm thành phần riêng biệt cho các URL cuối cùng khác nhau nếu các thành phần không đủ chung chung để sử dụng trên các URL trong miền và bạn đang sử dụng tính năng mở rộng URL.
Bạn cũng có thể tạo nhiều nhóm thành phần cho cùng một URL cuối cùng nếu muốn tuỳ chỉnh thành phần theo đối tượng. Bạn cũng có thể tạo nhiều nhóm thành phần cho mỗi chủ đề.