def main(client, customer_id, ad_group_id, criterion_id):
agc_service = client.get_service('AdGroupCriterionService', version='v1')
ad_group_criterion_operation = client.get_type('AdGroupCriterionOperation',
version='v1')
ad_group_criterion = ad_group_criterion_operation.update
ad_group_criterion.resource_name = agc_service.ad_group_criteria_path(
customer_id, ResourceName.format_composite(ad_group_id, criterion_id))
print("ad_group_criterion.resource_name", ad_group_criterion.resource_name)
print('ad_group_criterion', ad_group_criterion.cpc_bid_micros.value)
ad_group_criterion.status = client.get_type('AdGroupCriterionStatusEnum', version='v1').ENABLED
ad_group_criterion.cpc_bid_micros.value = 2560000
print('ad_group_criterion', ad_group_criterion.cpc_bid_micros.value)
fm = protobuf_helpers.field_mask(None, ad_group_criterion)
ad_group_criterion_operation.update_mask.CopyFrom(fm)
try:
#
agc_response = agc_service.mutate_ad_group_criteria(
customer_id, [ad_group_criterion_operation])
except google.ads.google_ads.errors.GoogleAdsException as ex:
print('Request with ID "%s" failed with status "%s" and includes the '
'following errors:' % (ex.request_id, ex.error.code().name))
for error in ex.failure.errors:
print('\tError with message "%s".' % error.message)
if error.location:
for field_path_element in error.location.field_path_elements:
print('\t\tOn field: %s' % field_path_element.field_name)
sys.exit(1)
print('Updated keyword %s.' % agc_response.results[0].resource_name)
ad_group_criterion_service = client.get_service('AdGroupCriterionService', version='v2')
ad_group_criterion_operation = client.get_type('AdGroupCriterionOperation', version='v2')
ad_group_criterion = ad_group_criterion_operation.update
ad_group_criterion.resource_name = ad_group_criterion_service.ad_group_criteria_path(
customer_id, ResourceName.format_composite(ad_group_id, criteria_id))
ad_group_criterion.bid_modifier.value = 3
fm = protobuf_helpers.field_mask(None, ad_group_criterion)
ad_group_criterion_operation.update_mask.CopyFrom(fm)
ad_group_criterion_service.mutate_ad_group_criteria(customer_id, [ad_group_criterion_operation])