Google-Ads-AdWords-Client

 view release on metacpan or  search on metacpan

examples/v201809/basic_operations/add_keywords.pl  view on Meta::CPAN

    my $final_url =
      'http://www.example.com/mars/cruise/?kw=' . uri_escape($keyword_text);
    my $keyword_biddable_ad_group_criterion =
      Google::Ads::AdWords::v201809::BiddableAdGroupCriterion->new({
        adGroupId => $ad_group_id,
        criterion => $keyword,
        # Set bids (non-required).
        biddingStrategyConfiguration =>
          Google::Ads::AdWords::v201809::BiddingStrategyConfiguration->new({
            bids => [
              Google::Ads::AdWords::v201809::CpcBid->new({
                  bid => Google::Ads::AdWords::v201809::Money->new(
                    {microAmount => 500000})}
              ),
            ]}
          ),
        # Additional properties (non-required).
        userStatus => "PAUSED",
        finalUrls =>
          [Google::Ads::AdWords::v201809::UrlList->new({urls => [$final_url]})]}
      );

    # Create operation.
    my $keyword_ad_group_operation =
      Google::Ads::AdWords::v201809::AdGroupCriterionOperation->new({
        operator => "ADD",
        operand  => $keyword_biddable_ad_group_criterion
      });
    push @operations, $keyword_ad_group_operation;
  }

  # Add ad group criteria.
  my $result =
    $client->AdGroupCriterionService()->mutate({operations => \@operations});

  # Display ad group criteria.
  if ($result->get_value()) {
    foreach my $keyword (@{$result->get_value()}) {
      printf "Keyword with ad group id \"%d\", id \"%d\", " .
        "text \"%s\" and match type \"%s\" was added.\n",
        $keyword->get_adGroupId(),
        $keyword->get_criterion()->get_id(),
        $keyword->get_criterion()->get_text(),
        $keyword->get_criterion()->get_matchType();
    }
  } else {
    print "No keywords were added.";
  }

  return 1;
}

# Don't run the example if the file is being included.
if (abs_path($0) ne abs_path(__FILE__)) {
  return 1;
}

# Log SOAP XML request, response and API errors.
Google::Ads::AdWords::Logging::enable_all_logging();

# Get AdWords Client, credentials will be read from ~/adwords.properties.
my $client = Google::Ads::AdWords::Client->new({version => "v201809"});

# By default examples are set to die on any server returned fault.
$client->set_die_on_faults(1);

# Call the example
add_keywords($client, $ad_group_id);



( run in 0.523 second using v1.01-cache-2.11-cpan-75ffa21a3d4 )