Die meisten Asset-Typen müssen mit der AssetService
erstellt werden, bevor sie in einer Anzeige verwendet werden können.
Der Typ TextAsset
ist die Ausnahme, da er inline während der Anzeigenerstellung erstellt wird. Alle anderen Typen müssen zuerst in das Konto eines Werbetreibenden hochgeladen werden, bevor sie verwendet werden können.
Asset erstellen
Beim Erstellen von Bild- und Medienpaket-Assets sind eindeutige Namen erforderlich. Wenn Sie einen vorhandenen Namen angeben, wird ein neuer Name erstellt, indem dem vorhandenen Namen ein eindeutiger String angehängt wird. Wir empfehlen dringend, eindeutige und aussagekräftige Namen zu verwenden, damit sich einzelne Assets leichter verwalten und identifizieren lassen, wenn Ihre Sammlung wächst.
Im folgenden Beispiel wird gezeigt, wie Sie ein neues Bild-Asset aus einer URL mit Rohbilddaten erstellen.
Java
private void runExample(GoogleAdsClient googleAdsClient, long customerId) throws IOException { byte[] imageData = ByteStreams.toByteArray(new URL(IMAGE_URL).openStream()); // Create the image asset. ImageAsset imageAsset = ImageAsset.newBuilder().setData(ByteString.copyFrom(imageData)).build(); // Creates an asset. Asset asset = Asset.newBuilder() // Provide a unique friendly name to identify your asset. // When there is an existing image asset with the same content but a different name, the // new name will be dropped silently. .setName("Marketing Image") .setType(AssetType.IMAGE) .setImageAsset(imageAsset) .build(); // Creates the operation. AssetOperation operation = AssetOperation.newBuilder().setCreate(asset).build(); // Creates the service client. try (AssetServiceClient assetServiceClient = googleAdsClient.getLatestVersion().createAssetServiceClient()) { // Issues a mutate request to add the asset. MutateAssetsResponse response = assetServiceClient.mutateAssets(Long.toString(customerId), ImmutableList.of(operation)); // Prints the result. System.out.printf( "The image asset with resource name '%s' was created.%n", response.getResults(0).getResourceName()); } }
C#
public void Run(GoogleAdsClient client, long customerId) { // Get the AssetServiceClient. AssetServiceClient assetService = client.GetService(Services.V18.AssetService); // Creates an image content. byte[] imageContent = MediaUtilities.GetAssetDataFromUrl(IMAGE_URL, client.Config); // Creates an image asset. ImageAsset imageAsset = new ImageAsset() { Data = ByteString.CopyFrom(imageContent), FileSize = imageContent.Length, MimeType = MimeType.ImageJpeg, FullSize = new ImageDimension() { HeightPixels = 315, WidthPixels = 600, Url = IMAGE_URL } }; // Creates an asset. Asset asset = new Asset() { // Optional: Provide a unique friendly name to identify your asset. // If you specify the name field, then both the asset name and the image being // uploaded should be unique, and should not match another ACTIVE asset in this // customer account. // Name = 'Jupiter Trip #' + ExampleUtilities.GetRandomString(), Type = AssetType.Image, ImageAsset = imageAsset, // Provide a unique friendly name to identify your asset. // When there is an existing image asset with the same content but a different // name, the new name will be dropped silently. Name = "Marketing Image" }; // Creates an asset operation. AssetOperation operation = new AssetOperation() { Create = asset }; try { // Issues a mutate request to add the asset. MutateAssetsResponse response = assetService.MutateAssets(customerId.ToString(), new[] { operation }); // Displays the result. Console.WriteLine($"Image asset with resource name: " + $"'{response.Results.First().ResourceName}' is created."); } catch (GoogleAdsException e) { Console.WriteLine("Failure:"); Console.WriteLine($"Message: {e.Message}"); Console.WriteLine($"Failure: {e.Failure}"); Console.WriteLine($"Request ID: {e.RequestId}"); throw; } }
PHP
public static function runExample(GoogleAdsClient $googleAdsClient, int $customerId) { // Creates an image content. $imageContent = file_get_contents(self::IMAGE_URL); // Creates an asset. $asset = new Asset([ // Provide a unique friendly name to identify your asset. // When there is an existing image asset with the same content but a different // name, the new name will be dropped silently. 'name' => 'Marketing Image', 'type' => AssetType::IMAGE, 'image_asset' => new ImageAsset(['data' => $imageContent]) ]); // Creates an asset operation. $assetOperation = new AssetOperation(); $assetOperation->setCreate($asset); // Issues a mutate request to add the asset. $assetServiceClient = $googleAdsClient->getAssetServiceClient(); $response = $assetServiceClient->mutateAssets(MutateAssetsRequest::build( $customerId, [$assetOperation] )); if (!empty($response->getResults())) { // Prints the resource name of the added image asset. /** @var MutateAssetResult $addedImageAsset */ $addedImageAsset = $response->getResults()[0]; printf( "The image asset with resource name '%s' was created.%s", $addedImageAsset->getResourceName(), PHP_EOL ); } else { print 'No image asset was created.' . PHP_EOL; } }
Python
def main(client, customer_id): """Main method, to run this code example as a standalone application.""" # Download image from URL url = "https://gaagl.page.link/Eit5" image_content = requests.get(url).content asset_service = client.get_service("AssetService") asset_operation = client.get_type("AssetOperation") asset = asset_operation.create asset.type_ = client.enums.AssetTypeEnum.IMAGE asset.image_asset.data = image_content asset.image_asset.file_size = len(image_content) asset.image_asset.mime_type = client.enums.MimeTypeEnum.IMAGE_JPEG # Use your favorite image library to determine dimensions asset.image_asset.full_size.height_pixels = 315 asset.image_asset.full_size.width_pixels = 600 asset.image_asset.full_size.url = url # Provide a unique friendly name to identify your asset. # When there is an existing image asset with the same content but a different # name, the new name will be dropped silently. asset.name = "Marketing Image" mutate_asset_response = asset_service.mutate_assets( customer_id=customer_id, operations=[asset_operation] ) print("Uploaded file(s):") for row in mutate_asset_response.results: print(f"\tResource name: {row.resource_name}")
Ruby
def upload_image_asset(customer_id) # GoogleAdsClient will read a config file from # ENV['HOME']/google_ads_config.rb when called without parameters client = Google::Ads::GoogleAds::GoogleAdsClient.new url = 'https://gaagl.page.link/Eit5' image_data = open(url) { |f| f.read } # Create the operation for uploading the image asset. asset_operation = client.operation.create_resource.asset do |asset| asset.type = :IMAGE asset.image_asset = client.resource.image_asset do |image_asset| image_asset.data = image_data image_asset.file_size = image_data.length() image_asset.mime_type = :IMAGE_JPEG image_asset.full_size = client.resource.image_dimension do |dimension| dimension.height_pixels = 315 dimension.width_pixels = 600 dimension.url = url end end # Provide a unique friendly name to identify your asset. # When there is an existing image asset with the same content but a different # name, the new name will be dropped silently. asset.name = "Marketing Image" end # Upload the image asset. response = client.service.asset.mutate_assets( customer_id: customer_id, operations: [asset_operation], ) puts "Uploaded image asset #{response.results.first.resource_name}." end
Perl
sub upload_image_asset { my ($api_client, $customer_id) = @_; # Create an image content. my $image_content = get_base64_data_from_url(IMAGE_URL); # Create an asset. my $asset = Google::Ads::GoogleAds::V18::Resources::Asset->new({ # Provide a unique friendly name to identify your asset. # When there is an existing image asset with the same content but a different # name, the new name will be dropped silently. name => "Marketing Image", type => IMAGE, imageAsset => Google::Ads::GoogleAds::V18::Common::ImageAsset->new({ data => $image_content })}); # Create an asset operation. my $asset_operation = Google::Ads::GoogleAds::V18::Services::AssetService::AssetOperation->new({ create => $asset }); # Issue a mutate request to add the asset. my $assets_response = $api_client->AssetService()->mutate({ customerId => $customer_id, operations => [$asset_operation]}); printf "The image asset with resource name '%s' was created.\n", $assets_response->{results}[0]{resourceName}; return 1; }
Nachdem das Asset erstellt wurde, gibt die API ein MutateAssetResult
-Objekt zurück, das den Ressourcennamen des neuen ImageAsset
enthält. Dieser Ressourcenname wird beim Erstellen einer assetbasierten Anzeige auf die ImageAsset
verwiesen.
Du kannst eine Liste der vorhandenen Assets und ihrer Ressourcennamen abrufen, indem du GoogleAdsService
abfragst. Weitere Informationen finden Sie unter Asset-Attribute und -Messwerte abrufen.
Asset in einer Anzeige verwenden
Für verschiedene Anzeigen- und Kampagnentypen werden unterschiedliche Asset-Typen unterstützt, wie in der folgenden Tabelle dargestellt:
Anzeigen-/Kampagnentypen und die unterstützten Asset-Typen | |
---|---|
AppAd |
TextAsset ImageAsset VideoAsset MediaBundleAsset |
AppEngagementAd
|
TextAsset ImageAsset VideoAsset |
DisplayUploadAd
|
MediaBundleAsset |
Performance Max-Kampagne |
TextAsset ImageAsset VideoAsset MediaBundleAsset YoutubeVideoAsset CallToActionAsset
|
ResponsiveDisplayAd
|
TextAsset ImageAsset VideoAsset |
ResponsiveSearchAd
|
TextAsset |
Für jeden der oben genannten Anzeigentypen gibt es Felder zum Festlegen der verschiedenen unterstützten Asset-Typen. Für TextAsset
wird ein neues String-Asset inline in der Anzeige erstellt. Bei allen anderen Asset-Typen werden vorhandene Assets der Anzeige hinzugefügt, indem auf ihre Ressourcennamen verwiesen wird.
Im folgenden Beispiel wird gezeigt, wie einer ResponsiveDisplayAd
ein TextAsset
und ein ImageAsset
hinzugefügt wird. Der TextAsset
wird inline als Anzeigentitel und Textzeile erstellt. ImageAsset
wird durch einen Ressourcennamen angegeben.
Java
private void createAd( GoogleAdsClient googleAdsClient, long customerId, String adGroupResourceName) throws IOException { String marketingImageUrl = "https://gaagl.page.link/Eit5"; String marketingImageName = "Marketing Image"; String marketingImageResourceName = uploadAsset(googleAdsClient, customerId, marketingImageUrl, marketingImageName); String squareMarketingImageName = "Square Marketing Image"; String squareMarketingImageUrl = "https://gaagl.page.link/bjYi"; String squareMarketingImageResourceName = uploadAsset(googleAdsClient, customerId, squareMarketingImageUrl, squareMarketingImageName); // Creates the responsive display ad info object. ResponsiveDisplayAdInfo responsiveDisplayAdInfo = ResponsiveDisplayAdInfo.newBuilder() .addMarketingImages( AdImageAsset.newBuilder().setAsset(marketingImageResourceName).build()) .addSquareMarketingImages( AdImageAsset.newBuilder().setAsset(squareMarketingImageResourceName).build()) .addHeadlines(AdTextAsset.newBuilder().setText("Travel").build()) .setLongHeadline(AdTextAsset.newBuilder().setText("Travel the World").build()) .addDescriptions(AdTextAsset.newBuilder().setText("Take to the air!").build()) .setBusinessName("Interplanetary Cruises") // Optional: Call to action text. // Valid texts: https://support.google.com/adwords/answer/7005917 .setCallToActionText("Apply Now") // Optional: Sets the ad colors. .setMainColor("#0000ff") .setAccentColor("#ffff00") // Optional: Sets to false to strictly render the ad using the colors. .setAllowFlexibleColor(false) // Optional: Sets the format setting that the ad will be served in. .setFormatSetting(DisplayAdFormatSetting.NON_NATIVE) // Optional: Creates a logo image and sets it to the ad. /* .addLogoImages( AdImageAsset.newBuilder() .setAsset(StringValue.of("INSERT_LOGO_IMAGE_RESOURCE_NAME_HERE")) .build()) */ // Optional: Creates a square logo image and sets it to the ad. /* .addSquareLogoImages( AdImageAsset.newBuilder() .setAsset(StringValue.of("INSERT_SQUARE_LOGO_IMAGE_RESOURCE_NAME_HERE")) .build()) */ .build(); // Creates the ad. Ad ad = Ad.newBuilder() .setResponsiveDisplayAd(responsiveDisplayAdInfo) .addFinalUrls("http://www.example.com/") .build(); // Creates the ad group ad. AdGroupAd adGroupAd = AdGroupAd.newBuilder().setAdGroup(adGroupResourceName).setAd(ad).build(); // Creates the ad group ad operation. AdGroupAdOperation operation = AdGroupAdOperation.newBuilder().setCreate(adGroupAd).build(); // Creates the ad group ad service client. try (AdGroupAdServiceClient adGroupAdServiceClient = googleAdsClient.getLatestVersion().createAdGroupAdServiceClient()) { // Adds the ad group ad. MutateAdGroupAdsResponse response = adGroupAdServiceClient.mutateAdGroupAds( Long.toString(customerId), ImmutableList.of(operation)); System.out.printf( "Created ad group ad with resource name '%s'.%n", response.getResults(0).getResourceName()); } }
C#
private void CreateAd(GoogleAdsClient client, long customerId, string adGroupResourceName) { // Creates the ad group ad service client. AdGroupAdServiceClient adGroupAdServiceClient = client.GetService(Services.V18.AdGroupAdService); string marketingImageUrl = "https://gaagl.page.link/Eit5"; string marketingImageName = "Marketing Image"; string marketingImageResourceName = UploadAsset(client, customerId, marketingImageUrl, marketingImageName); string squareMarketingImageName = "Square Marketing Image"; string squareMarketingImageUrl = "https://gaagl.page.link/bjYi"; string squareMarketingImageResourceName = UploadAsset(client, customerId, squareMarketingImageUrl, squareMarketingImageName); // Creates the responsive display ad info object. ResponsiveDisplayAdInfo responsiveDisplayAdInfo = new ResponsiveDisplayAdInfo() { MarketingImages = { new AdImageAsset() { Asset = marketingImageResourceName } }, SquareMarketingImages = { new AdImageAsset() { Asset = squareMarketingImageResourceName } }, Headlines = { new AdTextAsset() { Text = "Travel" } }, LongHeadline = new AdTextAsset() { Text = "Travel the World" }, Descriptions = { new AdTextAsset() { Text = "Take to the air!" } }, BusinessName = "Interplanetary Cruises", // Optional: Call to action text. // Valid texts: https://support.google.com/adwords/answer/7005917 CallToActionText = "Apply Now", // Optional: Sets the ad colors. MainColor = "#0000ff", AccentColor = "#ffff00", // Optional: Sets to false to strictly render the ad using the colors. AllowFlexibleColor = false, // Optional: Sets the format setting that the ad will be served in. FormatSetting = DisplayAdFormatSetting.NonNative, // Optional: Creates a logo image and sets it to the ad. /* LogoImages = { new AdImageAsset() { Asset = "INSERT_LOGO_IMAGE_RESOURCE_NAME_HERE" }} */ // Optional: Creates a square logo image and sets it to the ad. /* SquareLogoImages = { new AdImageAsset() { Asset = "INSERT_SQUARE_LOGO_IMAGE_RESOURCE_NAME_HERE" }} */ }; // Creates the ad. Ad ad = new Ad() { ResponsiveDisplayAd = responsiveDisplayAdInfo, FinalUrls = { "http://www.example.com/" } }; // Creates the ad group ad. AdGroupAd adGroupAd = new AdGroupAd() { AdGroup = adGroupResourceName, Ad = ad }; // Creates the ad group ad operation. AdGroupAdOperation operation = new AdGroupAdOperation() { Create = adGroupAd }; // Adds the ad group ad. MutateAdGroupAdsResponse response = adGroupAdServiceClient.MutateAdGroupAds (customerId.ToString(), new[] { operation }); Console.WriteLine("Created ad group ad with resource name " + $"'{response.Results.First().ResourceName}'."); }
PHP
private static function createAd( GoogleAdsClient $googleAdsClient, int $customerId, string $adGroupResourceName ) { $marketingImageResourceName = self::uploadAsset( $googleAdsClient, $customerId, 'https://gaagl.page.link/Eit5', 'Marketing Image' ); $squareMarketingImageResourceName = self::uploadAsset( $googleAdsClient, $customerId, 'https://gaagl.page.link/bjYi', 'Square Marketing Image' ); // Creates the responsive display ad info object. $responsiveDisplayAdInfo = new ResponsiveDisplayAdInfo([ 'marketing_images' => [new AdImageAsset(['asset' => $marketingImageResourceName])], 'square_marketing_images' => [new AdImageAsset([ 'asset' => $squareMarketingImageResourceName ])], 'headlines' => [new AdTextAsset(['text' => 'Travel'])], 'long_headline' => new AdTextAsset(['text' => 'Travel the World']), 'descriptions' => [new AdTextAsset(['text' => 'Take to the air!'])], 'business_name' => 'Interplanetary Cruises', // Optional: Call to action text. // Valid texts: https://support.google.com/google-ads/answer/7005917 'call_to_action_text' => 'Apply Now', // Optional: Sets the ad colors. 'main_color' => '#0000ff', 'accent_color' => '#ffff00', // Optional: Sets to false to strictly render the ad using the colors. 'allow_flexible_color' => false, // Optional: Sets the format setting that the ad will be served in. 'format_setting' => DisplayAdFormatSetting::NON_NATIVE // Optional: Creates a logo image and sets it to the ad. // 'logo_images' => [new AdImageAsset([ // 'asset' => 'INSERT_LOGO_IMAGE_RESOURCE_NAME_HERE' // ])], // Optional: Creates a square logo image and sets it to the ad. // 'square_logo_images' => [new AdImageAsset([ // 'asset' => 'INSERT_SQUARE_LOGO_IMAGE_RESOURCE_NAME_HERE' // ])] ]); // Creates a new ad group ad. $adGroupAd = new AdGroupAd([ 'ad' => new Ad([ 'responsive_display_ad' => $responsiveDisplayAdInfo, 'final_urls' => ['http://www.example.com/'] ]), 'ad_group' => $adGroupResourceName ]); // Creates an ad group ad operation. $adGroupAdOperation = new AdGroupAdOperation(); $adGroupAdOperation->setCreate($adGroupAd); // Issues a mutate request to add the ad group ad. $adGroupAdServiceClient = $googleAdsClient->getAdGroupAdServiceClient(); $response = $adGroupAdServiceClient->mutateAdGroupAds( MutateAdGroupAdsRequest::build($customerId, [$adGroupAdOperation]) ); /** @var AdGroupAd $addedAdGroupAd */ $addedAdGroupAd = $response->getResults()[0]; printf( "Created ad group ad with resource name '%s'.%s", $addedAdGroupAd->getResourceName(), PHP_EOL ); }
Python
def create_ad(client, customer_id, ad_group_resource_name): """Creates the responsive display ad. Args: client: An initialized GoogleAds client. customer_id: The Google Ads customer ID. ad_group_resource_name: The resource name of the target ad group. """ # Get the AdGroupAdService client. ad_group_ad_service = client.get_service("AdGroupAdService") # Upload image assets for the ad. marketing_image_resource_name = upload_image_asset( client, customer_id, "https://gaagl.page.link/Eit5", "Marketing Image" ) square_marketing_image_resource_name = upload_image_asset( client, customer_id, "https://gaagl.page.link/bjYi", "Square Marketing Image", ) # Create the relevant asset objects for the ad. marketing_image = client.get_type("AdImageAsset") marketing_image.asset = marketing_image_resource_name square_marketing_image = client.get_type("AdImageAsset") square_marketing_image.asset = square_marketing_image_resource_name headline = client.get_type("AdTextAsset") headline.text = "Travel" description = client.get_type("AdTextAsset") description.text = "Take to the air!" # Create an ad group ad operation and set the ad group ad values. ad_group_ad_operation = client.get_type("AdGroupAdOperation") ad_group_ad = ad_group_ad_operation.create ad_group_ad.ad_group = ad_group_resource_name ad_group_ad.ad.final_urls.append("http://www.example.com/") # Configure the responsive display ad info object. responsive_display_ad_info = ad_group_ad.ad.responsive_display_ad responsive_display_ad_info.marketing_images.append(marketing_image) responsive_display_ad_info.square_marketing_images.append( square_marketing_image ) responsive_display_ad_info.headlines.append(headline) responsive_display_ad_info.long_headline.text = "Travel the World" responsive_display_ad_info.descriptions.append(description) responsive_display_ad_info.business_name = "Interplanetary Cruises" # Optional: Call to action text. # Valid texts: https://support.google.com/google-ads/answer/7005917 responsive_display_ad_info.call_to_action_text = "Apply Now" # Optional: Set the ad colors. responsive_display_ad_info.main_color = "#0000ff" responsive_display_ad_info.accent_color = "#ffff00" # Optional: Set to false to strictly render the ad using the colors. responsive_display_ad_info.allow_flexible_color = False # Optional: Set the format setting that the ad will be served in. responsive_display_ad_info.format_setting = ( client.enums.DisplayAdFormatSettingEnum.NON_NATIVE ) # Optional: Create a logo image and set it to the ad. # logo_image = client.get_type("AdImageAsset") # logo_image.asset = "INSERT_LOGO_IMAGE_RESOURCE_NAME_HERE" # responsive_display_ad_info.logo_images.append(logo_image) # Optional: Create a square logo image and set it to the ad. # square_logo_image = client.get_type("AdImageAsset") # square_logo_image.asset = "INSERT_SQUARE_LOGO_IMAGE_RESOURCE_NAME_HERE" # responsive_display_ad_info.square_logo_images.append(square_logo_image) # Issue a mutate request to add the ad group ad. ad_group_ad_response = ad_group_ad_service.mutate_ad_group_ads( customer_id=customer_id, operations=[ad_group_ad_operation] ) print( "Created ad group ad with resource name " f"'{ad_group_ad_response.results[0].resource_name}'." )
Ruby
def create_ad(client, customer_id, ad_group_resource_name) marketing_image_url = "https://gaagl.page.link/Eit5" square_marketing_image_url = "https://gaagl.page.link/bjYi" marketing_image_asset_resource_name = upload_asset( client, customer_id, marketing_image_url, "Marketing Image" ) square_marketing_image_asset_resource_name = upload_asset( client, customer_id, square_marketing_image_url, "Square Marketing Image" ) # Creates an ad group ad operation. operation = client.operation.create_resource.ad_group_ad do |aga| aga.ad_group = ad_group_resource_name aga.status = :PAUSED aga.ad = client.resource.ad do |a| a.final_urls << "https://www.example.com" # Creates the responsive display ad info object. a.responsive_display_ad = client.resource.responsive_display_ad_info do |rda| rda.headlines << client.resource.ad_text_asset do |ata| ata.text = "Travel" end rda.long_headline = client.resource.ad_text_asset do |ata| ata.text = "Travel the World" end rda.descriptions << client.resource.ad_text_asset do |ata| ata.text = "Take to the air!" end rda.business_name = "Interplanetary Cruises" rda.marketing_images << client.resource.ad_image_asset do |aia| aia.asset = marketing_image_asset_resource_name end rda.square_marketing_images << client.resource.ad_image_asset do |aia| aia.asset = square_marketing_image_asset_resource_name end # Optional: Call to action text. # Valid texts: https://support.google.com/google-ads/answer/7005917 rda.call_to_action_text = "Apply Now" # Optional: Sets the ad colors. rda.main_color = "#0000ff" rda.accent_color = "#ffff00" # Optional: Sets to false to strictly render the ad using the colors. rda.allow_flexible_color = false # Optional: Sets the format setting that the ad will be served in. rda.format_setting = :NON_NATIVE # Optional: Creates a logo image and sets it to the ad. # rda.logo_images << client.resource.ad_image_asset do |aia| # aia.asset = "INSERT_LOGO_IMAGE_RESOURCE_NAME_HERE" # end # Optional: Creates a square logo image and sets it to the ad. # rda.square_logo_images << client.resource.ad_image_asset do |aia| # aia.asset = "INSERT_SQUARE_LOGO_IMAGE_RESOURCE_NAME_HERE" # end end end end # Issues a mutate request to add the ad group ad. response = client.service.ad_group_ad.mutate_ad_group_ads( customer_id: customer_id, operations: [operation] ) # Prints out some information about the newly created ad. resource_name = response.results.first.resource_name puts "Created ad group ad: #{resource_name}" resource_name end
Perl
sub create_ad { my ($api_client, $customer_id, $ad_group_resource_name) = @_; my $marketing_image_resource_name = upload_asset( $api_client, $customer_id, "https://gaagl.page.link/Eit5", "Marketing Image" ); my $square_marketing_image_resource_name = upload_asset( $api_client, $customer_id, "https://gaagl.page.link/bjYi", "Square Marketing Image" ); # Create the responsive display ad info object. my $responsive_display_ad_info = Google::Ads::GoogleAds::V18::Common::ResponsiveDisplayAdInfo->new({ marketingImages => [ Google::Ads::GoogleAds::V18::Common::AdImageAsset->new({ asset => $marketing_image_resource_name }) ], squareMarketingImages => [ Google::Ads::GoogleAds::V18::Common::AdImageAsset->new({ asset => $square_marketing_image_resource_name }) ], headlines => [ Google::Ads::GoogleAds::V18::Common::AdTextAsset->new({ text => "Travel" }) ], longHeadline => Google::Ads::GoogleAds::V18::Common::AdTextAsset->new({ text => "Travel the World" } ), descriptions => [ Google::Ads::GoogleAds::V18::Common::AdTextAsset->new({ text => "Take to the air!" }) ], businessName => "Interplanetary Cruises", # Optional: Call to action text. # Valid texts: https://support.google.com/google-ads/answer/7005917 callToActionText => "Apply Now", # Optional: Set the ad colors. mainColor => "#0000ff", accentColor => "#ffff00", # Optional: Set to false to strictly render the ad using the colors. allowFlexibleColor => "false", # Optional: Set the format setting that the ad will be served in. formatSetting => NON_NATIVE, # Optional: Create a logo image and set it to the ad. # logoImages => [ # Google::Ads::GoogleAds::V18::Common::AdImageAsset->new({ # asset => "INSERT_LOGO_IMAGE_RESOURCE_NAME_HERE" # }) # ], # Optional: Create a square logo image and set it to the ad. # squareLogoImages => [ # Google::Ads::GoogleAds::V18::Common::AdImageAsset->new({ # asset => "INSERT_SQUARE_LOGO_IMAGE_RESOURCE_NAME_HERE" # }) # ] }); # Create an ad group ad. my $ad_group_ad = Google::Ads::GoogleAds::V18::Resources::AdGroupAd->new({ adGroup => $ad_group_resource_name, ad => Google::Ads::GoogleAds::V18::Resources::Ad->new({ responsiveDisplayAd => $responsive_display_ad_info, finalUrls => ["http://www.example.com/"]})}); # Create an ad group ad operation. my $ad_group_ad_operation = Google::Ads::GoogleAds::V18::Services::AdGroupAdService::AdGroupAdOperation ->new({create => $ad_group_ad}); # Issue a mutate request to add the ad group ad. my $ad_group_ads_response = $api_client->AdGroupAdService()->mutate({ customerId => $customer_id, operations => [$ad_group_ad_operation]}); printf "Created ad group ad with resource name '%s'.\n", $ad_group_ads_response->{results}[0]{resourceName}; }
Asset-Empfehlungen
Empfehlungen können Ihre Assets auf verschiedene Arten verbessern:
Sie können Ihnen Assets vorschlagen, die Sie Ihrer Kampagne hinzufügen können, indem Sie
RecommendationService.ApplyRecommendation
eingeben. Sie können beispielsweise Empfehlungen fürCALLOUT_ASSET
,SITELINK_ASSET
,CALL_ASSET
,LEAD_FORM_ASSET
undRESPONSIVE_SEARCH_AD_ASSET
abrufen und anwenden, um die empfohlenen Assets der entsprechenden Kampagne, Anzeigengruppe oder Anzeige hinzuzufügen.So können Sie Bereiche identifizieren, in denen Sie Ihre Assets aktualisieren können, um die Gesamteffektivität Ihrer responsiven Suchanzeigen oder Ihrer Performance Max-Kampagnen zu verbessern. Sie können sich beispielsweise
IMPROVE_PERFORMANCE_MAX_AD_STRENGTH
-Empfehlungen abrufen, um zu sehen, welche Asset-Gruppen aktualisiert werden sollten, um ihre Effektivität zu verbessern.
Weitere Informationen finden Sie im Leitfaden Optimierungsfaktor und Empfehlungen.