Criar anúncios

Adicionar anúncio de texto expandido

A melhor maneira de configurar novos anúncios na API é usar o exemplo de código Adicionar anúncios de texto expandidos na pasta Operações básicas da sua biblioteca de cliente. A amostra processa todas as tarefas de autenticação em segundo plano e orienta você na criação de anúncios de texto expandidos.

Java

private void runExample(GoogleAdsClient googleAdsClient, long customerId, long adGroupId) {

  String adGroupResourceName = ResourceNames.adGroup(customerId, adGroupId);

  List<AdGroupAdOperation> operations = new ArrayList<>();

  for (int i = 0; i < NUMBER_OF_ADS_TO_ADD; i++) {

    // Creates the expanded text ad info.
    ExpandedTextAdInfo expandedTextAdInfo =
        ExpandedTextAdInfo.newBuilder()
            .setHeadlinePart1(String.format("Cruise #%d to Mars", i))
            .setHeadlinePart2("Best Space Cruise Line")
            .setDescription("Buy your tickets now!")
            .build();

    // Wraps the info in an Ad object.
    Ad ad =
        Ad.newBuilder()
            .setExpandedTextAd(expandedTextAdInfo)
            .addFinalUrls("http://www.example.com")
            .build();

    // Builds the final ad group ad representation.
    AdGroupAd adGroupAd =
        AdGroupAd.newBuilder()
            .setAdGroup(adGroupResourceName)
            .setStatus(AdGroupAdStatus.PAUSED)
            .setAd(ad)
            .build();

    AdGroupAdOperation op = AdGroupAdOperation.newBuilder().setCreate(adGroupAd).build();
    operations.add(op);
  }

  try (AdGroupAdServiceClient adGroupAdServiceClient =
      googleAdsClient.getLatestVersion().createAdGroupAdServiceClient()) {
    MutateAdGroupAdsResponse response =
        adGroupAdServiceClient.mutateAdGroupAds(Long.toString(customerId), operations);
    for (MutateAdGroupAdResult result : response.getResultsList()) {
      System.out.printf(
          "Expanded text ad created with resource name: %s%n", result.getResourceName());
    }
  }
}
      

C#

public void Run(GoogleAdsClient client, long customerId, long adGroupId)
{
    // Get the AdGroupAdService.
    AdGroupAdServiceClient adGroupAdService = client.GetService(
        Services.V11.AdGroupAdService);

    List<AdGroupAdOperation> operations = new List<AdGroupAdOperation>();
    for (int i = 0; i < NUMBER_OF_ADS; i++)
    {
        // Create the ad group ad object.
        AdGroupAd adGroupAd = new AdGroupAd
        {
            AdGroup = ResourceNames.AdGroup(customerId, adGroupId),
            // Optional: Set the status.
            Status = AdGroupAdStatus.Paused,
            Ad = new Ad
            {
                FinalUrls = { "http://www.example.com/" + i },
                ExpandedTextAd = new ExpandedTextAdInfo
                {
                    Description = "Buy your tickets now!",
                    HeadlinePart1 = "Cruise #" + i.ToString() + " to Mars",
                    HeadlinePart2 = "Best Space Cruise Line",
                    Path1 = "path1",
                    Path2 = "path2"
                }
            }
        };

        // Create the operation.
        operations.Add(new AdGroupAdOperation
        {
            Create = adGroupAd
        });
    }

    try
    {
        // Create the ads.
        MutateAdGroupAdsResponse response = adGroupAdService.MutateAdGroupAds(
            customerId.ToString(), operations);

        // Display the results.
        foreach (MutateAdGroupAdResult result in response.Results)
        {
            Console.WriteLine("Expanded text ad created with resource name: {0}",
                result.ResourceName);
        }
    }
    catch (GoogleAdsException e)
    {
        Console.WriteLine("Failure:");
        Console.WriteLine($"Message: {e.Message}");
        Console.WriteLine($"Failure: {e.Failure}");
        Console.WriteLine($"Request ID: {e.RequestId}");
        throw;
    }
}
      

PHP

public static function runExample(
    GoogleAdsClient $googleAdsClient,
    int $customerId,
    int $adGroupId
) {
    $operations = [];
    for ($i = 0; $i < self::NUMBER_OF_ADS_TO_ADD; $i++) {
        // Creates the expanded text ad info.
        $expandedTextAdInfo = new ExpandedTextAdInfo([
            'headline_part1' => 'Cruise to Mars #' . Helper::getShortPrintableDatetime(),
            'headline_part2' => 'Best Space Cruise Line',
            'description' => 'Buy your tickets now!'
        ]);

        // Sets the expanded text ad info on an Ad.
        $ad = new Ad([
            'expanded_text_ad' => $expandedTextAdInfo,
            'final_urls' => ['http://www.example.com']
        ]);

        // Creates an ad group ad to hold the above ad.
        $adGroupAd = new AdGroupAd([
            'ad_group' => ResourceNames::forAdGroup($customerId, $adGroupId),
            'status' => AdGroupAdStatus::PAUSED,
            'ad' => $ad
        ]);

        // Creates an ad group ad operation and add it to the operations array.
        $adGroupAdOperation = new AdGroupAdOperation();
        $adGroupAdOperation->setCreate($adGroupAd);
        $operations[] = $adGroupAdOperation;
    }

    // Issues a mutate request to add the ad group ads.
    $adGroupAdServiceClient = $googleAdsClient->getAdGroupAdServiceClient();
    $response = $adGroupAdServiceClient->mutateAdGroupAds($customerId, $operations);

    foreach ($response->getResults() as $addedAdGroupAd) {
        /** @var AdGroupAd $addedAdGroupAd */
        printf(
            "Expanded text ad was created with resource name: '%s'%s",
            $addedAdGroupAd->getResourceName(),
            PHP_EOL
        );
    }
}
      

Python

def main(client, customer_id, ad_group_id, number_of_ads):
    ad_group_ad_service = client.get_service("AdGroupAdService")
    ad_group_service = client.get_service("AdGroupService")

    ad_group_ad_operations = []
    for i in range(number_of_ads):
        # Create ad group ad.
        ad_group_ad_operation = client.get_type("AdGroupAdOperation")
        ad_group_ad = ad_group_ad_operation.create
        ad_group_ad.ad_group = ad_group_service.ad_group_path(
            customer_id, ad_group_id
        )
        ad_group_ad.status = client.enums.AdGroupAdStatusEnum.PAUSED

        # Set expanded text ad info
        ad_group_ad.ad.final_urls.append("http://www.example.com")
        ad_group_ad.ad.expanded_text_ad.description = "Buy your tickets now!"
        ad_group_ad.ad.expanded_text_ad.headline_part1 = (
            f"Cruise {i} to Mars {str(uuid.uuid4())[:8]}"
        )
        ad_group_ad.ad.expanded_text_ad.headline_part2 = (
            "Best space cruise line"
        )
        ad_group_ad.ad.expanded_text_ad.path1 = "all-inclusive"
        ad_group_ad.ad.expanded_text_ad.path2 = "deals"

        ad_group_ad_operations.append(ad_group_ad_operation)

    ad_group_ad_response = ad_group_ad_service.mutate_ad_group_ads(
        customer_id=customer_id, operations=ad_group_ad_operations
    )

    for result in ad_group_ad_response.results:
        print(f'Created ad group ad "{result.resource_name}".')
      

Ruby

def add_expanded_text_ads(customer_id, ad_group_id)
  # GoogleAdsClient will read a config file from
  # ENV['HOME']/google_ads_config.rb when called without parameters
  client = Google::Ads::GoogleAds::GoogleAdsClient.new

  # Create an ad group ad.
  ad_group_ad = client.resource.ad_group_ad do |aga|
    aga.ad_group = client.path.ad_group(customer_id, ad_group_id)
    aga.status = :PAUSED
    aga.ad = client.resource.ad do |ad|
      ad.final_urls << "http://www.example.com"

      # Set expanded text ad info
      ad.expanded_text_ad = client.resource.expanded_text_ad_info do |eta|
        eta.description = "Buy your tickets now!"
        eta.headline_part1 = "Cruise to Mars #{(Time.new.to_f * 100).to_i}"
        eta.headline_part2 = "Best Space Cruise Line"
        eta.path1 = "all-inclusive"
        eta.path2 = "deals"
      end
    end
  end

  # Create the operation.
  ad_group_ad_operation = client.operation.create_resource.ad_group_ad(ad_group_ad)

  # Add the ad group ad.
  response = client.service.ad_group_ad.mutate_ad_group_ads(
    customer_id: customer_id,
    operations: [ad_group_ad_operation],
  )

  puts "Created expanded text ad #{response.results.first.resource_name}."
end
      

Perl

sub add_expanded_text_ads {
  my ($api_client, $customer_id, $ad_group_id) = @_;

  # Create an expanded text ad info.
  my $expanded_text_ad_info =
    Google::Ads::GoogleAds::V11::Common::ExpandedTextAdInfo->new({
      description   => "Buy your tickets now!",
      headlinePart1 => "Cruise to Mars " . uniqid,
      headlinePart2 => "Best Space Cruise Line",
      path1         => "all-inclusive",
      path2         => "deals"
    });

  # Create an ad group ad.
  my $ad_group_ad = Google::Ads::GoogleAds::V11::Resources::AdGroupAd->new({
      adGroup => Google::Ads::GoogleAds::V11::Utils::ResourceNames::ad_group(
        $customer_id, $ad_group_id
      ),
      status => PAUSED,
      ad     => Google::Ads::GoogleAds::V11::Resources::Ad->new({
          expandedTextAd => $expanded_text_ad_info,
          finalUrls      => "http://www.example.com"
        })});

  # Create an ad group ad operation.
  my $ad_group_ad_operation =
    Google::Ads::GoogleAds::V11::Services::AdGroupAdService::AdGroupAdOperation
    ->new({create => $ad_group_ad});

  # Add the ad group ad.
  my $ad_group_ads_response = $api_client->AdGroupAdService()->mutate({
      customerId => $customer_id,
      operations => [$ad_group_ad_operation]});

  printf "Created expanded text ad '%s'.\n",
    $ad_group_ads_response->{results}[0]{resourceName};

  return 1;
}