Creating a Hotel Ad Group

In order to serve ads for your Hotel campaign, you must create an AdGroup with at least one ad in the ad group. As shown later, a Hotel campaign supports only an ad group of the HOTEL_ADS type, which you can set in the type field. The code example also sets a Percent CPC bid since the campaign's bidding strategy is PercentCpc .

Java

 private 
  
 String 
  
 addHotelAdGroup 
 ( 
  
 GoogleAdsClient 
  
 googleAdsClient 
 , 
  
 long 
  
 customerId 
 , 
  
 String 
  
 campaignResourceName 
 ) 
  
 { 
  
 // Creates an ad group. 
  
 AdGroup 
  
 adGroup 
  
 = 
  
 AdGroup 
 . 
 newBuilder 
 () 
  
 . 
 setName 
 ( 
 "Earth to Mars Cruises #" 
  
 + 
  
 getPrintableDateTime 
 ()) 
  
 . 
 setCampaign 
 ( 
 campaignResourceName 
 ) 
  
 // Sets the ad group type to HOTEL_ADS. This cannot be set to other types. 
  
 . 
 setType 
 ( 
 AdGroupType 
 . 
 HOTEL_ADS 
 ) 
  
 . 
 setCpcBidMicros 
 ( 
 1_000_000L 
 ) 
  
 . 
 setStatus 
 ( 
 AdGroupStatus 
 . 
 ENABLED 
 ) 
  
 . 
 build 
 (); 
  
 // Creates an ad group operation. 
  
 AdGroupOperation 
  
 operation 
  
 = 
  
 AdGroupOperation 
 . 
 newBuilder 
 (). 
 setCreate 
 ( 
 adGroup 
 ). 
 build 
 (); 
  
 // Issues a mutate request to add an ad group. 
  
 try 
  
 ( 
 AdGroupServiceClient 
  
 adGroupServiceClient 
  
 = 
  
 googleAdsClient 
 . 
 getLatestVersion 
 (). 
 createAdGroupServiceClient 
 ()) 
  
 { 
  
 MutateAdGroupResult 
  
 mutateAdGroupResult 
  
 = 
  
 adGroupServiceClient 
  
 . 
 mutateAdGroups 
 ( 
 Long 
 . 
 toString 
 ( 
 customerId 
 ), 
  
 Collections 
 . 
 singletonList 
 ( 
 operation 
 )) 
  
 . 
 getResults 
 ( 
 0 
 ); 
  
 System 
 . 
 out 
 . 
 printf 
 ( 
  
 "Added a hotel ad group with resource name: '%s'%n" 
 , 
  
 mutateAdGroupResult 
 . 
 getResourceName 
 ()); 
  
 return 
  
 mutateAdGroupResult 
 . 
 getResourceName 
 (); 
  
 } 
 } 
  
  

C#

 private 
  
 static 
  
 string 
  
 AddHotelAdGroup 
 ( 
 GoogleAdsClient 
  
 client 
 , 
  
 long 
  
 customerId 
 , 
  
 string 
  
 campaignResourceName 
 ) 
 { 
  
 // Get the AdGroupService. 
  
 AdGroupServiceClient 
  
 service 
  
 = 
  
 client 
 . 
 GetService 
 ( 
 Services 
 . 
 V21 
 . 
 AdGroupService 
 ); 
  
 // Create an ad group. 
  
 AdGroup 
  
 adGroup 
  
 = 
  
 new 
  
 AdGroup 
 () 
  
 { 
  
 Name 
  
 = 
  
 "Earth to Mars Cruise #" 
  
 + 
  
 ExampleUtilities 
 . 
 GetRandomString 
 (), 
  
 // Sets the campaign. 
  
 Campaign 
  
 = 
  
 campaignResourceName 
 , 
  
 // Optional: Sets the ad group type to HOTEL_ADS. 
  
 // This cannot be set to other types. 
  
 Type 
  
 = 
  
 AdGroupType 
 . 
 HotelAds 
 , 
  
 CpcBidMicros 
  
 = 
  
 10000000 
 , 
  
 Status 
  
 = 
  
 AdGroupStatus 
 . 
 Enabled 
  
 }; 
  
 // Create an ad group operation. 
  
 AdGroupOperation 
  
 adGroupOperation 
  
 = 
  
 new 
  
 AdGroupOperation 
 () 
  
 { 
  
 Create 
  
 = 
  
 adGroup 
  
 }; 
  
 // Issue a mutate request to add an ad group. 
  
 MutateAdGroupsResponse 
  
 response 
  
 = 
  
 service 
 . 
 MutateAdGroups 
 ( 
 customerId 
 . 
 ToString 
 (), 
  
 new 
  
 AdGroupOperation 
 [] 
  
 { 
  
 adGroupOperation 
  
 }); 
  
 return 
  
 response 
 . 
 Results 
 [ 
 0 
 ]. 
 ResourceName 
 ; 
 } 
  
  

PHP

 private static function addHotelAdGroup( 
 GoogleAdsClient $googleAdsClient, 
 int $customerId, 
 string $campaignResourceName 
 ) { 
 // Creates an ad group. 
 $adGroup = new AdGroup([ 
 'name' => 'Earth to Mars Cruise #' . Helper::getPrintableDatetime(), 
 // Sets the campaign. 
 'campaign' => $campaignResourceName, 
 // Sets the ad group type to HOTEL_ADS. 
 // This cannot be set to other types. 
 'type' => AdGroupType::HOTEL_ADS, 
 'cpc_bid_micros' => 10000000, 
 'status' => AdGroupStatus::ENABLED, 
 ]); 
 // Creates an ad group operation. 
 $adGroupOperation = new AdGroupOperation(); 
 $adGroupOperation->setCreate($adGroup); 
 // Issues a mutate request to add an ad group. 
 $adGroupServiceClient = $googleAdsClient->getAdGroupServiceClient(); 
 $response = $adGroupServiceClient->mutateAdGroups( 
 MutateAdGroupsRequest::build($customerId, [$adGroupOperation]) 
 ); 
 /** @var AdGroup $addedAdGroup */ 
 $addedAdGroup = $response->getResults()[0]; 
 printf( 
 "Added a hotel ad group with resource name '%s'.%s", 
 $addedAdGroup->getResourceName(), 
 PHP_EOL 
 ); 
 return $addedAdGroup->getResourceName(); 
 }  
 

Python

 def 
  
 add_hotel_ad_group 
 ( 
 client 
 : 
 GoogleAdsClient 
 , 
 customer_id 
 : 
 str 
 , 
 campaign_resource_name 
 : 
 str 
 ) 
 - 
> str 
 : 
 ad_group_service 
 : 
 AdGroupServiceClient 
 = 
 client 
 . 
 get_service 
 ( 
 "AdGroupService" 
 ) 
 # Create ad group. 
 ad_group_operation 
 : 
 AdGroupOperation 
 = 
 client 
 . 
 get_type 
 ( 
 "AdGroupOperation" 
 ) 
 ad_group 
 : 
 AdGroup 
 = 
 ad_group_operation 
 . 
 create 
 ad_group 
 . 
 name 
 = 
 f 
 "Earth to Mars cruise 
 { 
 uuid 
 . 
 uuid4 
 () 
 } 
 " 
 ad_group 
 . 
 status 
 = 
 client 
 . 
 enums 
 . 
 AdGroupStatusEnum 
 . 
 ENABLED 
 ad_group 
 . 
 campaign 
 = 
 campaign_resource_name 
 # Sets the ad group type to HOTEL_ADS. This cannot be set to other types. 
 ad_group 
 . 
 type_ 
 = 
 client 
 . 
 enums 
 . 
 AdGroupTypeEnum 
 . 
 HOTEL_ADS 
 ad_group 
 . 
 cpc_bid_micros 
 = 
 10000000 
 # Add the ad group. 
 ad_group_response 
 : 
 MutateAdGroupsResponse 
 = 
 ( 
 ad_group_service 
 . 
 mutate_ad_groups 
 ( 
 customer_id 
 = 
 customer_id 
 , 
 operations 
 = 
 [ 
 ad_group_operation 
 ] 
 ) 
 ) 
 ad_group_resource_name 
 : 
 str 
 = 
 ad_group_response 
 . 
 results 
 [ 
 0 
 ] 
 . 
 resource_name 
 print 
 ( 
 "Added a hotel ad group with resource name ' 
 {ad_group_resource_name} 
 '." 
 ) 
 return 
 ad_group_resource_name  
 
 . 
 py 

Ruby

 def 
  
 add_hotel_ad_group 
 ( 
 client 
 , 
  
 customer_id 
 , 
  
 campaign_resource 
 ) 
  
 # Create an ad group. 
  
 ad_group_operation 
  
 = 
  
 client 
 . 
 operation 
 . 
 create_resource 
 . 
 ad_group 
  
 do 
  
 | 
 ag 
 | 
  
 ag 
 . 
 name 
  
 = 
  
 generate_random_name_field 
 ( 
 "Earth to Mars Cruise" 
 ) 
  
 # Set the campaign. 
  
 ag 
 . 
 campaign 
  
 = 
  
 campaign_resource 
  
 # Optional: Set the ad group type to HOTEL_ADS. 
  
 # This cannot be set to other types. 
  
 ag 
 . 
 type 
  
 = 
  
 :HOTEL_ADS 
  
 ag 
 . 
 cpc_bid_micros 
  
 = 
  
 10_000_000 
  
 ag 
 . 
 status 
  
 = 
  
 :ENABLED 
  
 end 
  
 # Issue a mutate request to add the ad group. 
  
 ad_group_service 
  
 = 
  
 client 
 . 
 service 
 . 
 ad_group 
  
 response 
  
 = 
  
 ad_group_service 
 . 
 mutate_ad_groups 
 ( 
  
 customer_id 
 : 
  
 customer_id 
 , 
  
 operations 
 : 
  
 [ 
 ad_group_operation 
 ] 
  
 ) 
  
 # Fetch the new ad group's resource name. 
  
 ad_group_resource 
  
 = 
  
 response 
 . 
 results 
 . 
 first 
 . 
 resource_name 
  
 puts 
  
 "Added hotel ad group with resource name ' 
 #{ 
 ad_group_resource 
 } 
 '." 
  
 ad_group_resource 
 end  
 
 . 
 rb 
  

Perl

 sub 
  
 add_hotel_ad_group 
  
 { 
  
 my 
  
 ( 
 $api_client 
 , 
  
 $customer_id 
 , 
  
 $campaign_resource_name 
 ) 
  
 = 
  
 @_ 
 ; 
  
 # Create an ad group. 
  
 my 
  
 $ad_group 
  
 = 
  
 Google::Ads::GoogleAds::V21::Resources:: 
 AdGroup 
 - 
> new 
 ({ 
  
 name 
  
 = 
>  
 "Earth to Mars Cruise #" 
  
 . 
  
 uniqid 
 (), 
  
 # Set the campaign. 
  
 campaign 
  
 = 
>  
 $campaign_resource_name 
 , 
  
 # Set the ad group type to HOTEL_ADS. 
  
 # This cannot be set to other types. 
  
 type 
  
 = 
>  
 HOTEL_ADS 
 , 
  
 cpcBidMicros 
  
 = 
>  
 1000000 
 , 
  
 status 
  
 = 
>  
 Google::Ads::GoogleAds::V21::Enums::AdGroupStatusEnum:: 
 ENABLED 
  
 }); 
  
 # Create an ad group operation. 
  
 my 
  
 $ad_group_operation 
  
 = 
  
 Google::Ads::GoogleAds::V21::Services::AdGroupService:: 
 AdGroupOperation 
 - 
>  
 new 
 ({ 
 create 
  
 = 
>  
 $ad_group 
 }); 
  
 # Add the ad group. 
  
 my 
  
 $ad_group_resource_name 
  
 = 
  
 $api_client 
 - 
> AdGroupService 
 () 
 - 
> mutate 
 ({ 
  
 customerId 
  
 = 
>  
 $customer_id 
 , 
  
 operations 
  
 = 
>  
 [ 
 $ad_group_operation 
 ]}) 
 - 
> { 
 results 
 }[ 
 0 
 ]{ 
 resourceName 
 }; 
  
 printf 
  
 "Added a hotel ad group with resource name: '%s'.\n" 
 , 
  
 $ad_group_resource_name 
 ; 
  
 return 
  
 $ad_group_resource_name 
 ; 
 } 
  
  
Create a Mobile Website
View Site in Mobile | Classic
Share by: