Creating a Hotel Ad Group Ad

Creating a Hotel ad involves two steps:

  1. Creating an Ad and setting its hotel_ad to an instance of HotelAdInfo .

  2. Creating an AdGroupAd and associating the previously created Ad to it.

Java

 private 
  
 String 
  
 addHotelAdGroupAd 
 ( 
  
 GoogleAdsClient 
  
 googleAdsClient 
 , 
  
 long 
  
 customerId 
 , 
  
 String 
  
 adGroupResourceName 
 ) 
  
 { 
  
 // Creates a new hotel ad. 
  
 Ad 
  
 ad 
  
 = 
  
 Ad 
 . 
 newBuilder 
 (). 
 setHotelAd 
 ( 
 HotelAdInfo 
 . 
 newBuilder 
 (). 
 build 
 ()). 
 build 
 (); 
  
 // Creates a new ad group ad and sets the hotel ad to it. 
  
 AdGroupAd 
  
 adGroupAd 
  
 = 
  
 AdGroupAd 
 . 
 newBuilder 
 () 
  
 // Sets the ad to the ad created above. 
  
 . 
 setAd 
 ( 
 ad 
 ) 
  
 // Set the ad group ad to enabled.  Setting this to paused will cause an error 
  
 // for hotel campaigns.  For hotels pausing should happen at either the ad group or 
  
 // campaign level. 
  
 . 
 setStatus 
 ( 
 AdGroupAdStatus 
 . 
 ENABLED 
 ) 
  
 // Sets the ad group. 
  
 . 
 setAdGroup 
 ( 
 adGroupResourceName 
 ) 
  
 . 
 build 
 (); 
  
 // Creates an ad group ad operation. 
  
 AdGroupAdOperation 
  
 operation 
  
 = 
  
 AdGroupAdOperation 
 . 
 newBuilder 
 (). 
 setCreate 
 ( 
 adGroupAd 
 ). 
 build 
 (); 
  
 // Issues a mutate request to add an ad group ad. 
  
 try 
  
 ( 
 AdGroupAdServiceClient 
  
 adGroupAdServiceClient 
  
 = 
  
 googleAdsClient 
 . 
 getLatestVersion 
 (). 
 createAdGroupAdServiceClient 
 ()) 
  
 { 
  
 MutateAdGroupAdResult 
  
 mutateAdGroupAdResult 
  
 = 
  
 adGroupAdServiceClient 
  
 . 
 mutateAdGroupAds 
 ( 
 Long 
 . 
 toString 
 ( 
 customerId 
 ), 
  
 Collections 
 . 
 singletonList 
 ( 
 operation 
 )) 
  
 . 
 getResults 
 ( 
 0 
 ); 
  
 System 
 . 
 out 
 . 
 printf 
 ( 
  
 "Added a hotel ad group ad with resource name: '%s'%n" 
 , 
  
 mutateAdGroupAdResult 
 . 
 getResourceName 
 ()); 
  
 return 
  
 mutateAdGroupAdResult 
 . 
 getResourceName 
 (); 
  
 } 
 } 
  
  

C#

 private 
  
 static 
  
 void 
  
 AddHotelAdGroupAd 
 ( 
 GoogleAdsClient 
  
 client 
 , 
  
 long 
  
 customerId 
 , 
  
 string 
  
 adGroupResourceName 
 ) 
 { 
  
 // Get the AdGroupAdService. 
  
 AdGroupAdServiceClient 
  
 service 
  
 = 
  
 client 
 . 
 GetService 
 ( 
 Services 
 . 
 V21 
 . 
 AdGroupAdService 
 ); 
  
 // Create a new ad group ad and sets the hotel ad to it. 
  
 AdGroupAd 
  
 adGroupAd 
  
 = 
  
 new 
  
 AdGroupAd 
 () 
  
 { 
  
 // Create a new hotel ad. 
  
 Ad 
  
 = 
  
 new 
  
 Ad 
 () 
  
 { 
  
 HotelAd 
  
 = 
  
 new 
  
 HotelAdInfo 
 (), 
  
 }, 
  
 // Set the ad group. 
  
 AdGroup 
  
 = 
  
 adGroupResourceName 
 , 
  
 // Set the ad group ad to enabled.  Setting this to paused will cause an error 
  
 // for hotel campaigns.  For hotels pausing should happen at either the ad group or 
  
 // campaign level. 
  
 Status 
  
 = 
  
 AdGroupAdStatus 
 . 
 Enabled 
  
 }; 
  
 // Create an ad group ad operation. 
  
 AdGroupAdOperation 
  
 adGroupAdOperation 
  
 = 
  
 new 
  
 AdGroupAdOperation 
 () 
  
 { 
  
 Create 
  
 = 
  
 adGroupAd 
  
 }; 
  
 // Issue a mutate request to add an ad group ad. 
  
 MutateAdGroupAdsResponse 
  
 response 
  
 = 
  
 service 
 . 
 MutateAdGroupAds 
 ( 
 customerId 
 . 
 ToString 
 (), 
  
 new 
  
 AdGroupAdOperation 
 [] 
  
 { 
  
 adGroupAdOperation 
  
 }); 
  
 MutateAdGroupAdResult 
  
 addedAdGroupAd 
  
 = 
  
 response 
 . 
 Results 
 [ 
 0 
 ]; 
  
 Console 
 . 
 WriteLine 
 ( 
 $"Added a hotel ad group ad with resource name " 
  
 + 
  
 $"{addedAdGroupAd.ResourceName}." 
 ); 
 } 
  
  

PHP

 private static function addHotelAdGroupAd( 
 GoogleAdsClient $googleAdsClient, 
 int $customerId, 
 string $adGroupResourceName 
 ) { 
 // Creates a new hotel ad. 
 $ad = new Ad([ 
 'hotel_ad' => new HotelAdInfo(), 
 ]); 
 // Creates a new ad group ad and sets the hotel ad to it. 
 $adGroupAd = new AdGroupAd([ 
 'ad' => $ad, 
 // Set the ad group ad to enabled.  Setting this to paused will cause an error 
 // for hotel campaigns.  For hotels pausing should happen at either the ad group or 
 // campaign level. 
 'status' => AdGroupAdStatus::ENABLED, 
 // Sets the ad group. 
 'ad_group' => $adGroupResourceName 
 ]); 
 // Creates an ad group ad operation. 
 $adGroupAdOperation = new AdGroupAdOperation(); 
 $adGroupAdOperation->setCreate($adGroupAd); 
 // Issues a mutate request to add an ad group ad. 
 $adGroupAdServiceClient = $googleAdsClient->getAdGroupAdServiceClient(); 
 $response = $adGroupAdServiceClient->mutateAdGroupAds( 
 MutateAdGroupAdsRequest::build($customerId, [$adGroupAdOperation]) 
 ); 
 /** @var AdGroupAd $addedAdGroupAd */ 
 $addedAdGroupAd = $response->getResults()[0]; 
 printf( 
 "Added a hotel ad group ad with resource name '%s'.%s", 
 $addedAdGroupAd->getResourceName(), 
 PHP_EOL 
 ); 
 }  
 

Python

 def 
  
 add_hotel_ad 
 ( 
 client 
 : 
 GoogleAdsClient 
 , 
 customer_id 
 : 
 str 
 , 
 ad_group_resource_name 
 : 
 str 
 ) 
 - 
> str 
 : 
 ad_group_ad_service 
 : 
 AdGroupAdServiceClient 
 = 
 client 
 . 
 get_service 
 ( 
 "AdGroupAdService" 
 ) 
 # Creates a new ad group ad and sets the hotel ad to it. 
 ad_group_ad_operation 
 : 
 AdGroupAdOperation 
 = 
 client 
 . 
 get_type 
 ( 
 "AdGroupAdOperation" 
 ) 
 ad_group_ad 
 : 
 AdGroupAd 
 = 
 ad_group_ad_operation 
 . 
 create 
 ad_group_ad 
 . 
 ad_group 
 = 
 ad_group_resource_name 
 # Set the ad group ad to enabled.  Setting this to paused will cause an error 
 # for hotel campaigns.  For hotels pausing should happen at either the ad group or 
 # campaign level. 
 ad_group_ad 
 . 
 status 
 = 
 client 
 . 
 enums 
 . 
 AdGroupAdStatusEnum 
 . 
 ENABLED 
 client 
 . 
 copy_from 
 ( 
 ad_group_ad 
 . 
 ad 
 . 
 hotel_ad 
 , 
 client 
 . 
 get_type 
 ( 
 "HotelAdInfo" 
 )) 
 # Add the ad group ad. 
 ad_group_ad_response 
 : 
 MutateAdGroupAdsResponse 
 = 
 ( 
 ad_group_ad_service 
 . 
 mutate_ad_group_ads 
 ( 
 customer_id 
 = 
 customer_id 
 , 
 operations 
 = 
 [ 
 ad_group_ad_operation 
 ] 
 ) 
 ) 
 ad_group_ad_resource_name 
 : 
 str 
 = 
 ad_group_ad_response 
 . 
 results 
 [ 
 0 
 ] 
 . 
 resource_name 
 print 
 ( 
 f 
 "Created hotel ad with resource name ' 
 { 
 ad_group_ad_resource_name 
 } 
 '." 
 ) 
 return 
 ad_group_resource_name  
 
 . 
 py 

Ruby

 def 
  
 add_hotel_ad_group_ad 
 ( 
 client 
 , 
  
 customer_id 
 , 
  
 ad_group_resource 
 ) 
  
 # Create a new hotel ad. 
  
 ad_group_ad_operation 
  
 = 
  
 client 
 . 
 operation 
 . 
 create_resource 
 . 
 ad_group_ad 
  
 do 
  
 | 
 aga 
 | 
  
 # Create a new ad group ad and sets the hotel ad to it. 
  
 aga 
 . 
 ad 
  
 = 
  
 client 
 . 
 resource 
 . 
 ad 
  
 do 
  
 | 
 ad 
 | 
  
 ad 
 . 
 hotel_ad 
  
 = 
  
 client 
 . 
 resource 
 . 
 hotel_ad_info 
  
 end 
  
 # Set the ad group ad to enabled.  Setting this to paused will cause an error 
  
 # for hotel campaigns.  For hotels pausing should happen at either the ad group or 
  
 # campaign level. 
  
 aga 
 . 
 status 
  
 = 
  
 :ENABLED 
  
 # Set the ad group. 
  
 aga 
 . 
 ad_group 
  
 = 
  
 ad_group_resource 
  
 end 
  
 # Issue a mutate request to add the ad group ad. 
  
 ad_group_ad_service 
  
 = 
  
 client 
 . 
 service 
 . 
 ad_group_ad 
  
 response 
  
 = 
  
 ad_group_ad_service 
 . 
 mutate_ad_group_ads 
 ( 
  
 customer_id 
 : 
  
 customer_id 
 , 
  
 operations 
 : 
  
 [ 
 ad_group_ad_operation 
 ] 
 , 
  
 ) 
  
 # Fetch the new ad group ad's resource name. 
  
 ad_group_ad_resource 
  
 = 
  
 response 
 . 
 results 
 . 
 first 
 . 
 resource_name 
  
 puts 
  
 "Added hotel ad group ad with resource name ' 
 #{ 
 ad_group_ad_resource 
 } 
 '." 
 end  
 
 . 
 rb 
  

Perl

 sub 
  
 add_hotel_ad_group_ad 
  
 { 
  
 my 
  
 ( 
 $api_client 
 , 
  
 $customer_id 
 , 
  
 $ad_group_resource_name 
 ) 
  
 = 
  
 @_ 
 ; 
  
 # Create an ad group ad and set a hotel ad to it. 
  
 my 
  
 $ad_group_ad 
  
 = 
  
 Google::Ads::GoogleAds::V21::Resources:: 
 AdGroupAd 
 - 
> new 
 ({ 
  
 # Set the ad group. 
  
 adGroup 
  
 = 
>  
 $ad_group_resource_name 
 , 
  
 # Set the ad to a new shopping product ad. 
  
 ad 
  
 = 
>  
 Google::Ads::GoogleAds::V21::Resources:: 
 Ad 
 - 
> new 
 ({ 
  
 hotelAd 
  
 = 
>  
 Google::Ads::GoogleAds::V21::Common:: 
 HotelAdInfo 
 - 
> new 
 ()} 
  
 ), 
  
 status 
  
 = 
>  
 Google::Ads::GoogleAds::V21::Enums::AdGroupAdStatusEnum:: 
 ENABLED 
  
 }); 
  
 # Create an ad group ad operation. 
  
 my 
  
 $ad_group_ad_operation 
  
 = 
  
 Google::Ads::GoogleAds::V21::Services::AdGroupAdService:: 
 AdGroupAdOperation 
  
 - 
> new 
 ({ 
 create 
  
 = 
>  
 $ad_group_ad 
 }); 
  
 # Add the ad group ad. 
  
 my 
  
 $ad_group_ad_resource_name 
  
 = 
  
 $api_client 
 - 
> AdGroupAdService 
 () 
 - 
> mutate 
 ({ 
  
 customerId 
  
 = 
>  
 $customer_id 
 , 
  
 operations 
  
 = 
>  
 [ 
 $ad_group_ad_operation 
 ]}) 
 - 
> { 
 results 
 }[ 
 0 
 ]{ 
 resourceName 
 }; 
  
 printf 
  
 "Added a hotel ad group ad with resource name: '%s'.\n" 
 , 
  
 $ad_group_ad_resource_name 
 ; 
  
 return 
  
 $ad_group_ad_resource_name 
 ; 
 } 
  
  
Design a Mobile Site
View Site in Mobile | Classic
Share by: