CampaignBidModifier Resource Name Invalid Customer ID

28 views
Skip to first unread message

Deborah Perez

unread,
Aug 28, 2019, 6:04:48 AM8/28/19
to AdWords API and Google Ads API Forum
Hi,
This is a question about Google Ads API and for Python.

I am trying to mutate a campaign bid modifier using 'CampaignBidModifierOperation'.and 'CampaignBidModifierService'. Upon providing a resource name, in the format 'customers/{customer_id}/campaignBidModifiers/{campaign_id}~{criterion_id}' I get this error 'Resource name not found'. The resource I definitely extracted during a query to view all campaign bid modifier resource names. 

The login_customer_id is a manager account id we use in our google credentials.
Here is the code:

    
    # cbm is short for campaign bid modifier
    customer_id = '' # Add customer id here 
    criterion_id = '' # Add criterion id here 
    campaign_id = '' # Add campaign id here 
    LOGIN_CUSTOMER_ID = '' # MCC Account ID typically imported 

    client = google_ads_client()
    client.login_customer_id = LOGIN_CUSTOMER_ID
    cbm_service = client.get_service('CampaignBidModifierService', version='v2')
    cbm_operation = client.get_type('CampaignBidModifierOperation', version='v2')
    cbm = cbm_operation.update
    cbm.resource_name = 'customers/{}/campaignBidModifiers/{}~{}'.format(customer_id, campaign_id, criterion_id)
    cbm.bid_modifier.value = .97

    # Retrieve a FieldMask for the fields configured in the campaign.
    fm = protobuf_helpers.field_mask(None, cbm)
    cbm_operation.update_mask.CopyFrom(fm)
    cbm_response = cbm_service.mutate_campaign_bid_modifiers(
        customer_id, [cbm_operation])

    print('Updated campaign %s.' % cbm_response.results[0].resource_name)

I hope someone can help. Perhaps I am not using this api correctly.
Thank you!
-Deb

Google Ads API Forum Advisor Prod

unread,
Aug 28, 2019, 4:37:50 PM8/28/19
to dep...@horizonmedia.com, adwor...@googlegroups.com
Hello Deborah,

Instead could you use below code snippet to create the resource name. If you still facing concerns, please raise an issue on the python client library from here.

Code Snippet: 
campaign_criteria_service = client.get_service('CampaignCriterionService')
campaign_criteria_resource_name = campaign_criteria_service.campaign_criteria_path(customer_id, ResourceName.format_composite(campaing_id, criterion_id))
print(campaign_criteria_resource_name)
Regards,
Sai Teja, Google Ads API Team

ref:_00D1U1174p._5001UHEux4:ref
Reply all
Reply to author
Forward
0 new messages