|
||||||
The issue here is actually an API issue, and stems from the fact that the use_audience_grouped field does not have the optional keyword. As a result, when processing an operation on our side, we cannot tell the difference between:
a) The use_audience_grouped field was explicitly set to false.
and
b) The use_audience_grouped field was not explicitly set by you.
If the field was marked optional, then we could differentiate between a) and b) via the hasUseAudienceGrouped() method. In fact, you can see this "in action" by comparing the AudienceSettingOrBuilder in Campaign.java, where hasUseAudienceGrouped() exists, to the same type in AdGroup.java, where hasUseAudienceGrouped() does not exist. The reason for this is that the Campaign proto declares the field as:
optional bool use_audience_grouped = 1 [(google.api.field_behavior) = IMMUTABLE];
while the AdGroup proto declares it as:
bool use_audience_grouped = 1 [(google.api.field_behavior) = IMMUTABLE];
What should happen in this case is that the API should treat a) and b) the same, which ultimately means that the default value should be false. I have filed a bug on this to fix the ad group case.
I'll follow up here once I have an update on the bug.
Thanks,
|
||||||
![]() |
|
||||