Creating a Shopping Ad Group Ad

Creating a Shopping product ad for a standard Shopping campaign involves two steps:

  1. Create a ShoppingProductAdInfo object and set it as the shopping_product_ad field of a new Ad object.

  2. Create an AdGroupAd and set the ad field to the previously created Ad object.

This code example demonstrates how to create a SHOPPING_PRODUCT_AD ad group ad for a standard Shopping campaign.

Java

 private 
  
 String 
  
 addShoppingProductAdGroupAd 
 ( 
  
 GoogleAdsClient 
  
 googleAdsClient 
 , 
  
 long 
  
 customerId 
 , 
  
 String 
  
 adGroupResourceName 
 ) 
  
 { 
  
 // Creates a new shopping product ad. 
  
 Ad 
  
 ad 
  
 = 
  
 Ad 
 . 
 newBuilder 
 (). 
 setShoppingProductAd 
 ( 
 ShoppingProductAdInfo 
 . 
 newBuilder 
 (). 
 build 
 ()). 
 build 
 (); 
  
 // Creates a new ad group ad and sets the shopping product ad to it. 
  
 AdGroupAd 
  
 adGroupAd 
  
 = 
  
 AdGroupAd 
 . 
 newBuilder 
 () 
  
 // Sets the ad to the ad created above. 
  
 . 
 setAd 
 ( 
 ad 
 ) 
  
 . 
 setStatus 
 ( 
 AdGroupAdStatus 
 . 
 PAUSED 
 ) 
  
 // 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 product shopping ad group ad with resource name: '%s'%n" 
 , 
  
 mutateAdGroupAdResult 
 . 
 getResourceName 
 ()); 
  
 return 
  
 mutateAdGroupAdResult 
 . 
 getResourceName 
 (); 
  
 } 
 } 
  
  

C#

 private 
  
 string 
  
 AddProductShoppingAdGroupAd 
 ( 
 GoogleAdsClient 
  
 client 
 , 
  
 long 
  
 customerId 
 , 
  
 string 
  
 adGroupResourceName 
 ) 
 { 
  
 // Get the AdGroupAdService. 
  
 AdGroupAdServiceClient 
  
 adGroupAdService 
  
 = 
  
 client 
 . 
 GetService 
 ( 
  
 Services 
 . 
 V21 
 . 
 AdGroupAdService 
 ); 
  
 // Creates a new shopping product ad. 
  
 Ad 
  
 ad 
  
 = 
  
 new 
  
 Ad 
 () 
  
 { 
  
 ShoppingProductAd 
  
 = 
  
 new 
  
 ShoppingProductAdInfo 
 () 
  
 { 
  
 } 
  
 }; 
  
 // Creates a new ad group ad and sets the shopping product ad to it. 
  
 AdGroupAd 
  
 adGroupAd 
  
 = 
  
 new 
  
 AdGroupAd 
 () 
  
 { 
  
 // Sets the ad to the ad created above. 
  
 Ad 
  
 = 
  
 ad 
 , 
  
 Status 
  
 = 
  
 AdGroupAdStatus 
 . 
 Paused 
 , 
  
 // Sets the ad group. 
  
 AdGroup 
  
 = 
  
 adGroupResourceName 
  
 }; 
  
 // Creates an ad group ad operation. 
  
 AdGroupAdOperation 
  
 operation 
  
 = 
  
 new 
  
 AdGroupAdOperation 
 () 
  
 { 
  
 Create 
  
 = 
  
 adGroupAd 
  
 }; 
  
 // Issues a mutate request to add an ad group ad. 
  
 MutateAdGroupAdResult 
  
 mutateAdGroupAdResult 
  
 = 
  
 adGroupAdService 
 . 
 MutateAdGroupAds 
 ( 
  
 customerId 
 . 
 ToString 
 (), 
  
 new 
  
 AdGroupAdOperation 
 [] 
  
 { 
  
 operation 
  
 }). 
 Results 
 [ 
 0 
 ]; 
  
 Console 
 . 
 WriteLine 
 ( 
 "Added a product shopping ad group ad with resource name: '{0}'." 
 , 
  
 mutateAdGroupAdResult 
 . 
 ResourceName 
 ); 
  
 return 
  
 mutateAdGroupAdResult 
 . 
 ResourceName 
 ; 
 } 
  
  

PHP

 private static function addShoppingProductAdGroupAd( 
 GoogleAdsClient $googleAdsClient, 
 int $customerId, 
 string $adGroupResourceName 
 ) { 
 // Creates a new shopping product ad. 
 $ad = new Ad(['shopping_product_ad' => new ShoppingProductAdInfo()]); 
 // Creates a new ad group ad and sets the shopping product ad to it. 
 $adGroupAd = new AdGroupAd([ 
 'ad' => $ad, 
 'status' => AdGroupAdStatus::PAUSED, 
 // 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 shopping product ad group ad with resource name '%s'.%s", 
 $addedAdGroupAd->getResourceName(), 
 PHP_EOL 
 ); 
 }  
 

Python

 def 
  
 add_shopping_product_ad_group_ad 
 ( 
 client 
 : 
 GoogleAdsClient 
 , 
 customer_id 
 : 
 str 
 , 
 ad_group_resource_name 
 : 
 str 
 , 
 ) 
 - 
> str 
 : 
  
 """Creates a new shopping product ad group ad in the specified ad group.""" 
 ad_group_ad_service 
 : 
 AdGroupAdServiceClient 
 = 
 client 
 . 
 get_service 
 ( 
 "AdGroupAdService" 
 ) 
 # Creates a new ad group ad and sets the product 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 
 ad_group_ad 
 . 
 status 
 = 
 client 
 . 
 enums 
 . 
 AdGroupAdStatusEnum 
 . 
 PAUSED 
 # The Ad object itself is not directly manipulated for Shopping Product Ads. 
 # Instead, we copy ShoppingProductAdInfo into the ad's shopping_product_ad field. 
 client 
 . 
 copy_from 
 ( 
 ad_group_ad 
 . 
 ad 
 . 
 shopping_product_ad 
 , 
 client 
 . 
 get_type 
 ( 
 "ShoppingProductAdInfo" 
 ), 
 ) 
 # 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 
 ] 
 ) 
 ad_group_ad_resource_name 
 : 
 str 
 = 
 ad_group_ad_response 
 . 
 results 
 [ 
 0 
 ] 
 . 
 resource_name 
 print 
 ( 
 f 
 "Created shopping product ad group ad ' 
 { 
 ad_group_ad_resource_name 
 } 
 '." 
 ) 
  

Ruby

 def 
  
 add_shopping_product_ad_group_ad 
 ( 
 client 
 , 
  
 customer_id 
 , 
  
 ad_group_name 
 ) 
  
 operation 
  
 = 
  
 client 
 . 
 operation 
 . 
 create_resource 
 . 
 ad_group_ad 
  
 do 
  
 | 
 ad_group_ad 
 | 
  
 ad_group_ad 
 . 
 ad_group 
  
 = 
  
 ad_group_name 
  
 ad_group_ad 
 . 
 status 
  
 = 
  
 :PAUSED 
  
 ad_group_ad 
 . 
 ad 
  
 = 
  
 client 
 . 
 resource 
 . 
 ad 
  
 do 
  
 | 
 ad 
 | 
  
 ad 
 . 
 shopping_product_ad 
  
 = 
  
 client 
 . 
 resource 
 . 
 shopping_product_ad_info 
  
 end 
  
 end 
  
 service 
  
 = 
  
 client 
 . 
 service 
 . 
 ad_group_ad 
  
 response 
  
 = 
  
 service 
 . 
 mutate_ad_group_ads 
 ( 
  
 customer_id 
 : 
  
 customer_id 
 , 
  
 operations 
 : 
  
 [ 
 operation 
 ] 
 , 
  
 ) 
  
 puts 
  
 "Created shopping product ad group ad " 
  
 \ 
  
 " 
 #{ 
 response 
 . 
 results 
 . 
 first 
 . 
 resource_name 
 } 
 " 
 end  
 
 . 
 rb 
  

Perl

 sub 
  
 add_shopping_product_ad_group_ad 
  
 { 
  
 my 
  
 ( 
 $api_client 
 , 
  
 $customer_id 
 , 
  
 $ad_group_resource_name 
 ) 
  
 = 
  
 @_ 
 ; 
  
 # Create an ad group ad and set a shopping product 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 
 ({ 
  
 shoppingProductAd 
  
 = 
>  
 Google::Ads::GoogleAds::V21::Common:: 
 ShoppingProductAdInfo 
 - 
> new 
 ()} 
  
 ), 
  
 status 
  
 = 
>  
 Google::Ads::GoogleAds::V21::Enums::AdGroupAdStatusEnum:: 
 PAUSED 
  
 }); 
  
 # 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 product shopping ad group ad with resource name: '%s'.\n" 
 , 
  
 $ad_group_ad_resource_name 
 ; 
  
 return 
  
 $ad_group_ad_resource_name 
 ; 
 } 
  
  
Create a Mobile Website
View Site in Mobile | Classic
Share by: