Google-Ads-AdWords-Client
view release on metacpan or search on metacpan
examples/v201809/advanced_operations/add_dynamic_page_feed.pl view on Meta::CPAN
sub _add_dsa_targeting {
my ($client, $ad_group_id, $dsa_page_url_label) = @_;
# Create a webpage criterion.
# Add a condition for label=specified_label_name.
my $condition = Google::Ads::AdWords::v201809::WebpageCondition->new({
operand => "CUSTOM_LABEL",
argument => $dsa_page_url_label
});
# Create a webpage criterion for special offers.
my $parameter = Google::Ads::AdWords::v201809::WebpageParameter->new({
criterionName => "Test criterion",
conditions => [$condition]});
my $webpage = Google::Ads::AdWords::v201809::Webpage->new({
parameter => $parameter
});
# Create biddable ad group criterion.
my $biddable_ad_group_criterion =
Google::Ads::AdWords::v201809::BiddableAdGroupCriterion->new({
adGroupId => $ad_group_id,
criterion => $webpage,
# Set a custom bid for this criterion.
biddingStrategyConfiguration =>
Google::Ads::AdWords::v201809::BiddingStrategyConfiguration->new({
bids => [
Google::Ads::AdWords::v201809::CpcBid->new({
bid => Google::Ads::AdWords::v201809::Money->new(
{microAmount => 1500000}
),
}
),
]})});
# Create operation.
my $operation =
Google::Ads::AdWords::v201809::AdGroupCriterionOperation->new({
operator => "ADD",
operand => $biddable_ad_group_criterion
});
# Create the criterion.
my $result =
$client->AdGroupCriterionService()->mutate({operations => [$operation]});
my $new_ad_group_criterion = $result->get_value()->[0];
printf "Web page criterion with ID %d and status '%s' was created.\n",
$new_ad_group_criterion->get_criterion()->get_id(),
$new_ad_group_criterion->get_userStatus();
}
# 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_dynamic_page_feed($client, $campaign_id, $ad_group_id);
( run in 0.973 second using v1.01-cache-2.11-cpan-75ffa21a3d4 )