کمپینهای Performance Max از نظر داراییها ویژگیهای منحصر به فردی دارند.
- حداقل تعداد مورد نیاز از انواع مختلف دارایی وجود دارد.
- داراییها در مجموعهای به نام
AssetGroup
گروهبندی میشوند که مختص کمپینهای Performance Max است. - برخی از داراییها میتوانند به صورت خودکار توسط یادگیری ماشین تولید شوند.
مثال کد
قطعه کد زیر ایجاد داراییهای تکراری لازم در یک درخواست جدید را نشان میدهد:
جاوا
/** Creates multiple text assets and returns the list of resource names. */ private List<String> createMultipleTextAssets( GoogleAdsClient googleAdsClient, long customerId, List<String> texts) { List<MutateOperation> mutateOperations = new ArrayList<>(); for (String text : texts) { Asset asset = Asset.newBuilder().setTextAsset(TextAsset.newBuilder().setText(text)).build(); AssetOperation assetOperation = AssetOperation.newBuilder().setCreate(asset).build(); mutateOperations.add(MutateOperation.newBuilder().setAssetOperation(assetOperation).build()); } List<String> assetResourceNames = new ArrayList<>(); // Creates the service client. try (GoogleAdsServiceClient googleAdsServiceClient = googleAdsClient.getLatestVersion().createGoogleAdsServiceClient()) { // Sends the operations in a single Mutate request. MutateGoogleAdsResponse response = googleAdsServiceClient.mutate(Long.toString(customerId), mutateOperations); for (MutateOperationResponse result : response.getMutateOperationResponsesList()) { if (result.hasAssetResult()) { assetResourceNames.add(result.getAssetResult().getResourceName()); } } printResponseDetails(response); } return assetResourceNames; }
سی شارپ
/// <summary> /// Creates multiple text assets and returns the list of resource names. /// </summary> /// <param name="client">The Google Ads Client.</param> /// <param name="customerId">The customer's ID.</param> /// <param name="texts">The texts to add.</param> /// <returns>A list of asset resource names.</returns> private List<string> CreateMultipleTextAssets( GoogleAdsClient client, long customerId, string[] texts) { // Get the GoogleAdsService. GoogleAdsServiceClient googleAdsServiceClient = client.GetService(Services.V22.GoogleAdsService); MutateGoogleAdsRequest request = new MutateGoogleAdsRequest() { CustomerId = customerId.ToString() }; foreach (string text in texts) { request.MutateOperations.Add( new MutateOperation() { AssetOperation = new AssetOperation() { Create = new Asset() { TextAsset = new TextAsset() { Text = text } } } } ); } // Send the operations in a single Mutate request. MutateGoogleAdsResponse response = googleAdsServiceClient.Mutate(request); List<string> assetResourceNames = new List<string>(); foreach (MutateOperationResponse operationResponse in response.MutateOperationResponses) { MutateAssetResult assetResult = operationResponse.AssetResult; assetResourceNames.Add(assetResult.ResourceName); } PrintResponseDetails(response); return assetResourceNames; }
پی اچ پی
private static function createMultipleTextAssets( GoogleAdsClient $googleAdsClient, int $customerId, array $texts ): array { // Here again, we use the GoogleAdService to create multiple text assets in a single // request. $operations = []; foreach ($texts as $text) { // Creates a mutate operation for a text asset. $operations[] = new MutateOperation([ 'asset_operation' => new AssetOperation([ 'create' => new Asset(['text_asset' => new TextAsset(['text' => $text])]) ]) ]); } // Issues a mutate request to add all assets. $googleAdsService = $googleAdsClient->getGoogleAdsServiceClient(); /** @var MutateGoogleAdsResponse $mutateGoogleAdsResponse */ $mutateGoogleAdsResponse = $googleAdsService->mutate(MutateGoogleAdsRequest::build($customerId, $operations)); $assetResourceNames = []; foreach ($mutateGoogleAdsResponse->getMutateOperationResponses() as $response) { /** @var MutateOperationResponse $response */ $assetResourceNames[] = $response->getAssetResult()->getResourceName(); } self::printResponseDetails($mutateGoogleAdsResponse); return $assetResourceNames; }
پایتون
def create_multiple_text_assets( client: GoogleAdsClient, customer_id: str, texts: List[str] ) -> List[str]: """Creates multiple text assets and returns the list of resource names. Args: client: an initialized GoogleAdsClient instance. customer_id: a client customer ID. texts: a list of strings, each of which will be used to create a text asset. Returns: asset_resource_names: a list of asset resource names. """ # Here again we use the GoogleAdService to create multiple text # assets in a single request. googleads_service: GoogleAdsServiceClient = client.get_service( "GoogleAdsService" ) operations: List[MutateOperation] = [] for text in texts: mutate_operation: MutateOperation = client.get_type("MutateOperation") asset: Asset = mutate_operation.asset_operation.create asset.text_asset.text = text operations.append(mutate_operation) # Send the operations in a single Mutate request. response: MutateGoogleAdsResponse = googleads_service.mutate( customer_id=customer_id, mutate_operations=operations, ) asset_resource_names: List[str] = [] for result in response.mutate_operation_responses: if result._pb.HasField("asset_result"): asset_resource_names.append(result.asset_result.resource_name) print_response_details(response) return asset_resource_names
روبی
# Creates multiple text assets and returns the list of resource names. def create_multiple_text_assets(client, customer_id, texts) operations = texts.map do |text| client.operation.mutate do |m| m.asset_operation = client.operation.create_resource.asset do |asset| asset.text_asset = client.resource.text_asset do |text_asset| text_asset.text = text end end end end # Send the operations in a single Mutate request. response = client.service.google_ads.mutate( customer_id: customer_id, mutate_operations: operations, ) asset_resource_names = [] response.mutate_operation_responses.each do |result| if result.asset_result asset_resource_names.append(result.asset_result.resource_name) end end print_response_details(response) asset_resource_names end
پرل
sub create_multiple_text_assets { my ($api_client, $customer_id, $texts) = @_; # Here again we use the GoogleAdService to create multiple text assets in a # single request. my $operations = []; foreach my $text (@$texts) { # Create a mutate operation for a text asset. push @$operations, Google::Ads::GoogleAds::V22::Services::GoogleAdsService::MutateOperation ->new({ assetOperation => Google::Ads::GoogleAds::V22::Services::AssetService::AssetOperation-> new({ create => Google::Ads::GoogleAds::V22::Resources::Asset->new({ textAsset => Google::Ads::GoogleAds::V22::Common::TextAsset->new({ text => $text })})})}); } # Issue a mutate request to add all assets. my $mutate_google_ads_response = $api_client->GoogleAdsService()->mutate({ customerId => $customer_id, mutateOperations => $operations }); my $asset_resource_names = []; foreach my $response (@{$mutate_google_ads_response->{mutateOperationResponses}}) { push @$asset_resource_names, $response->{assetResult}{resourceName}; } print_response_details($mutate_google_ads_response); return $asset_resource_names; }
داراییهای ایجاد شده خودکار
اتوماسیون گوگل با استفاده از یادگیری ماشین، در صورت نیاز، داراییهای اضافی برای پوشش تمام کانالهای مرتبط تولید میکند. داراییها به طور خودکار بر اساس اینکه تبلیغ شما در کدام کانال تبلیغات گوگل (مانند یوتیوب، جیمیل یا جستجو) نمایش داده میشود، ترکیب و تطبیق داده میشوند.
داراییهای متنی
شما میتوانید یک فید صفحه در حساب خود را با یک کمپین Performance Max مرتبط کنید تا به طور خودکار داراییها را تولید کند .
برای پیوند دادن یک فید صفحه با یک کمپین، از همان فرآیندی که برای تبلیغات جستجوی پویا استفاده میشود، استفاده کنید:
- برای هر صفحه از وبسایت خود، دارایی ایجاد کنید
- صفحه بستهبندی، داراییها را به یک AssetSet وارد میکند
- مرتبط کردن مجموعه داراییها با یک کمپین
بعد از اینکه یک فید صفحه را مرتبط کردید، مطمئن شوید که AssetAutomationSetting
از نوع TEXT_ASSET_AUTOMATION
روی OPTED_IN
تنظیم شده باشد. اگر هنگام ایجاد کمپین، AssetAutomationSetting
را تنظیم نکرده باشید، این تنظیم پیشفرض است.
استفاده از این تنظیم به این معنی است که کمپین شما میتواند از محتوای صفحه فرود، دامنه و داراییهای ارائه شده شما برای سفارشیسازی تبلیغات در صورت پیشبینی بهبود عملکرد استفاده کند. توصیه میکنیم این گزینه را روی OPTED-IN
بگذارید.
داراییهای ویدیویی
اگر ویدیویی را به گروه داراییهای Performance Max خود اضافه نکنید، ممکن است یک یا چند دارایی ویدیویی از داراییهای موجود در گروه دارایی شما تولید شود. اگر دیگر نمیخواهید ویدیوهای تولید شده خودکار در کمپین Performance Max شما نمایش داده شوند، میتوانید ویدیوی سفارشی خود را آپلود کنید و ویدیوهای تولید شده خودکار نمایش داده نخواهند شد.
اتوماسیون هوشمند میتواند با تنظیم جهت ویدیو و کوتاه کردن هوشمندانه آنها برای برجسته کردن لحظات کلیدی، محتوای ویدیویی یوتیوب شما را بهبود بخشد . اگر ترجیح میدهید محتوای ویدیویی اصلی خود را حفظ کنید، AssetAutomationSetting
از نوع GENERATE_ENHANCED_YOUTUBE_VIDEOS
را روی OPTED_OUT
تنظیم کنید.