Creating a Shopping Ad Group Ad

  • Creating a Shopping product ad for a standard Shopping campaign involves two steps: creating a ShoppingProductAdInfo object within an Ad object and creating an AdGroupAd that references the Ad object.

  • The code examples demonstrate how to create a SHOPPING_PRODUCT_AD ad group ad for a standard Shopping campaign using the Google Ads API in multiple programming languages.

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.V22.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
    );
}