Creating a Hotel Ad Group AdStay organized with collectionsSave and categorize content based on your preferences.
AI-generated Key Takeaways
Creating a Hotel ad requires two steps: creating an Ad withhotel_adset to aHotelAdInfoinstance, and then creating anAdGroupAdassociated with that Ad.
To serve Hotel Ads, you need at least oneAdGroupAdwith itsadset and itsstatusset toENABLED.
It is recommended to create only oneAdGroupAdper ad group for easier metric distinction, as impressions are shared among multiple ad group ads within the same ad group.
defadd_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.createad_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.ENABLEDclient.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_nameprint(f"Created hotel ad with resource name '{ad_group_ad_resource_name}'.")returnad_group_resource_name
defadd_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_addo|aga|# Create a new ad group ad and sets the hotel ad to it.aga.ad=client.resource.addo|ad|ad.hotel_ad=client.resource.hotel_ad_infoend# 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_resourceend# Issue a mutate request to add the ad group ad.ad_group_ad_service=client.service.ad_group_adresponse=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_nameputs"Added hotel ad group ad with resource name '#{ad_group_ad_resource}'."end
subadd_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::V22::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::V22::Resources::Ad->new({hotelAd=>Google::Ads::GoogleAds::V22::Common::HotelAdInfo->new()}),status=>Google::Ads::GoogleAds::V22::Enums::AdGroupAdStatusEnum::ENABLED});# Create an ad group ad operation.my$ad_group_ad_operation=Google::Ads::GoogleAds::V22::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;}
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-11-05 UTC."],[],[]]