Basically it's a matter of documentation stating entities are editable while they are not (or maybe partially, yet would deserve clarification).
I put below the list of entities we did check alongside the error messages we got:
- Keywords: `'keyword.match_type' cannot be modified by 'UPDATE'` so we cant rely on mere update
- AdCustomizerFeedMapping: bug in the gem maybe, cannot update: `undefined method `update=' for #<Google::Ads::GoogleAds::V1::Services::FeedMappingOperation:0x00007f211f40b540`
- Location: `Field 'location.geo_target_constant' cannot be modified by 'UPDATE' operation – Field 'negative' cannot be modified by 'UPDATE' operation.`
- Proximity: `'proximity.geo_point.latitude_in_micro_degrees' cannot be modified by 'UPDATE' --Field 'proximity.radius' cannot be modified by 'UPDATE'` etc...
- ExpandedTextAd: `Field 'ad.expanded_text_ad.description' cannot be modified by 'UPDATE' operation., at operations[0].update.ad.expanded_text_ad.description", details: [<Google::Protobuf::Any: type_url: "
type.googleapis.com/google.ads.googleads.v1.errors.GoogleAdsFailure", value: "\n\x9C\x01\n\x02\b\v\x12QField 'ad.expanded_text_ad.description' cannot be modified by 'UPDATE' operation.\"C\x12\x0E\n\noperations\x12\x00\x12\b\n\x06update\x12\x04\n\x02ad\x12\x12\n\x10expanded_text_ad\x12\r\n\vdescription\n\xA2\x01\n\x02\b\v\x12TField 'ad.expanded_text_ad.headline_part1' cannot be modified by 'UPDATE' operation.\"F\x12\x0E\n\noperations\x12\x00\x12\b\n\x06update\x12\x04\n\x02ad\x12\x12\n\x10expanded_text_ad\x12\x10\n\x0Eheadline_part1\n\xA2\x01\n\x02\b\v\x12TField 'ad.expanded_text_ad.headline_part2' cannot be modified by 'UPDATE' operation.\"F\x12\x0E\n\noperations\x12\x00\x12\b\n\x06update\x12\x04\n\x02ad\x12\x12\n\x10expanded_text_ad\x12\x10\n\x0Eheadline_part2\n\x90\x01\n\x02\b\v\x12KField 'ad.expanded_text_ad.path1' cannot be modified by 'UPDATE' operation.\"=\x12\x0E\n\noperations\x12\x00\x12\b\n\x06update\x12\x04\n\x02ad\x12\x12\n\x10expanded_text_ad\x12\a\n\x05path1\n\x90\x01\n\x02\b\v\x12KField 'ad.expanded_text_ad.path2' cannot be modified by 'UPDATE' operation.\"=\x12\x0E\n\noperations\x12\x00\x12\b\n\x06update\x12\x04\n\x02ad\x12\x12\n\x10expanded_text_ad\x12\a\n\x05path2\nu\n\x02\b\v\x12?Field 'ad.final_urls' cannot be modified by 'UPDATE' operation.\".\x12\x0E\n\noperations\x12\x00\x12\b\n\x06update\x12\x04\n\x02ad\x12\f\n\nfinal_urls">]`
- AdCustomizerFeed: `The customer is not eligible to mutate this resource.` Yet delete/create work fine
- CampaignAdSchedule: `Field 'ad_schedule.day_of_week' cannot be modified by 'UPDATE' operation., at operations[1].update.ad_schedule.day_of_week", details: [<Google::Protobuf::Any: type_url: "
type.googleapis.com/google.ads.googleads.v1.errors.GoogleAdsFailure", value: "\n\x8B\x01\n\x02\b\v\x12IField 'ad_schedule.day_of_week' cannot be modified by 'UPDATE' operation.\":\x12\x10\n\noperations\x12\x02\b\x01\x12\b\n\x06update\x12\r\n\vad_schedule\x12\r\n\vday_of_week\n\x85\x01\n\x02\b\v\x12FField 'ad_schedule.end_hour' cannot be modified by 'UPDATE' operation.\"7\x12\x10\n\noperations\x12\x02\b\x01\x12\b\n\x06update\x12\r\n\vad_schedule\x12\n\n\bend_hour\n\x89\x01\n\x02\b\v\x12HField 'ad_schedule.end_minute' cannot be modified by 'UPDATE' operation.\"9\x12\x10\n\noperations\x12\x02\b\x01\x12\b\n\x06update\x12\r\n\vad_schedule\x12\f\n\nend_minute\n\x89\x01\n\x02\b\v\x12HField 'ad_schedule.start_hour' cannot be modified by 'UPDATE' operation.\"9\x12\x10\n\noperations\x12\x02\b\x01\x12\b\n\x06update\x12\r\n\vad_schedule\x12\f\n\nstart_hour\n\x8D\x01\n\x02\b\v\x12JField 'ad_schedule.start_minute' cannot be modified by 'UPDATE' operation.\"`