Change bid strategy Issue

46 views
Skip to first unread message

Nikitha Kariappa

unread,
May 13, 2025, 2:28:12 PM5/13/25
to Google Ads API and AdWords API Forum
Hi Team,

I’m trying to update a campaign’s bid strategy from MAXIMIZE_CONVERSION_VALUE to MAXIMIZE_CONVERSIONS using the Python SDK, but I’m encountering the following error

Request:
update_mask {
  paths: "resource_name"
  paths: "maximize_conversions"
}
update {
  resource_name: "customers/5X8XXX4X4X/campaigns/2X5X3XXX6X8"
  maximize_conversions {
  }
}

Error:
  error_code {
    field_mask_error: FIELD_HAS_SUBFIELDS
  }
  message: "The field mask updated a field with subfields: \'maximize_conversions\'."
  location {
    field_path_elements {
      field_name: "operations"
      index: 0
    }
  }

Snippet:
bidding_operation = self.google_adapter.client.get_type("CampaignOperation")
bidding_campaign = bidding_operation.update
bidding_campaign.resource_name = campaign_resource
bidding_campaign.maximize_conversions.SetInParent()
field_mask = bidding_operation.update_mask
field_mask.paths.append("resource_name")
field_mask.paths.append("maximize_conversions")

Google Ads API Forum Advisor

unread,
May 13, 2025, 4:35:14 PM5/13/25
to nikitha....@galepartners.com, adwor...@googlegroups.com
Hi,

Thank you for reaching out to the Google Ads API support team.

I understand that you are encountering a 'FIELD_HAS_SUBFIELDS' error while updating the campaign’s bid strategy. The error happens because the field you tried to update has smaller parts (subfields). These kinds of fields can only be cleared completely, not updated directly. To fix this, make sure to include all the smaller parts (subfields) in your update. Also, as per this documentation, I could see that the MAXIMIZE_CONVERSIONS bidding strategy is supported only for search campaigns and the Maximize conversion value using an optional target ROAS.

I have tried to update the campaign bidding strategy for MAXIMIZE_CONVERSION_VALUE to MAXIMIZE_CONVERSIONS using my test account  and I'm able to update the bidding strategy successfully ​without any errors. Please find the request and response logs shared below for your reference:

For maximize_conversions:
Request:

{
  "operations": [
    {
      "update": {
        "resourceName": "customers/{customer_ID}/campaigns/{campaign_ID}",
        "maximizeConversions": {
          "targetCpaMicros": 100000
        }
      },
      "updateMask": "maximizeConversions.targetCpaMicros"
    }
  ]
}

Response:

{
  "results": [
    {
      "resourceName": "customers/{customer_ID}/campaigns/{campaign_ID}"
    }
  ]
}
​​For maximize_conversion_value:
Request:

{
  "operations": [
    {
      "update": {
        "resourceName": "customers/{customer_ID}/campaigns/{campaign_ID}",
        "maximizeConversionValue": {
          "targetRoas": 1000
        }
      },
      "updateMask": "maximizeConversionValue.targetRoas"
    }
  ]
}

Response:

{
  "results": [
    {
      "resourceName": "customers/{customer_ID}/campaigns/{campaign_ID}"
    }
  ]
}
If you still need any further assistance, in order to investigate your issue further, kindly provide us with the complete API logs (request and response logs with request-id and request header) generated at your end while updating the campaign bidding strategy via the Google Ads API.

If you are using a client library and haven't enabled the logging yet, I would request you to enable logging for the specific client library that you are using. You can refer to the guides Python to enable logging at your end. For REST interface requests, you can enable logging via the curl command by using the -i flag.

You can send the details via Reply privately to the author option, or direct private reply to this email.
 

Thanks,
 
Google Logo Google Ads API Team

Feedback
How was our support today?

rating1    rating2    rating3    rating4    rating5
[2025-05-13 20:34:24Z GMT] This message is in relation to case "ref:!00D1U01174p.!500Ht01qWrpI:ref" (ADR-00305506)



Nikitha Kariappa

unread,
May 14, 2025, 12:20:57 AM5/14/25
to Google Ads API and AdWords API Forum
Thanks for your response. To clarify, I want to update the bidding strategy from MAXIMIZE_CONVERSION_VALUE (without a target ROAS) to MAXIMIZE_CONVERSIONS (also without a target CPA).

Screenshot 2025-05-14 at 9.48.48 AM.png

Google Ads API Forum Advisor

unread,
May 14, 2025, 6:41:52 AM5/14/25
to nikitha....@galepartners.com, adwor...@googlegroups.com
Hi,

Please note that you can switch your bidding strategy from MAXIMIZE_CONVERSION_VALUE (without a target ROAS) to MAXIMIZE_CONVERSIONS (also without a target CPA). However, you need to specify the update mask as 'maximizeConversionValue.targetRoas' and 'maximizeConversions.targetCpaMicros'. Please find the request and response logs shared below for your reference:

For maximize_conversions:
Request:

{
  "operations": [
    {
      "update": {
        "resourceName": "customers/{customer_ID}/campaigns/{campaign_ID}",
        
      },
      "updateMask": "maximizeConversions.targetCpaMicros"
    }
  ]
}

Response:

{
  "results": [
    {
      "resourceName": "customers/{customer_ID}/campaigns/{campaign_ID}"
    }
  ]
}
For maximize_conversion_value:
Request:

{
  "operations": [
    {
      "update": {
        "resourceName": "customers/{customer_ID}/campaigns/{campaign_ID}",
       
      },
      "updateMask": "maximizeConversionValue.targetRoas"
    }
  ]
}

Response:

{
  "results": [
    {
      "resourceName": "customers/{customer_ID}/campaigns/{campaign_ID}"
    }
  ]
}

Thanks,
 
Google Logo Google Ads API Team

Feedback
How was our support today?

rating1    rating2    rating3    rating4    rating5

[2025-05-14 10:41:11Z GMT] This message is in relation to case "ref:!00D1U01174p.!500Ht01qWrpI:ref" (ADR-00305506)



Reply all
Reply to author
Forward
0 new messages