//everything else in brand - 1st test does not contain this.
{ product_brand: {} },
// product under brand
product_item_id: { value: 'shopify_us_5960181579931_37204494057627' }
}
]
Test 1 - Do not add 'Others Node' because it is "automatically created" according to the previous explanation (2 operations)
Ed {
errors: [
Sd {
error_code: { criterion_error: 108 },
message: 'Subdivided listing groups must have an "others" case.',
trigger: { int64_value: Long { low: -1, high: -1, unsigned: false } },
location: [
Pd { field_name: 'mutate_operations', index: 0 },
Pd { field_name: 'ad_group_criterion_operation' },
Pd { field_name: 'create' },
Pd { field_name: 'listing_group' },
Pd { field_name: 'type' }
],
},
Sd {
error_code: { criterion_error: 106 },
message: 'Ad group is invalid due to the listing groups it contains.',
trigger: { int64_value: Long { low: -1, high: -1, unsigned: false } },
location: [
Pd { field_name: 'mutate_operations', index: 1 },
Pd { field_name: 'ad_group_criterion_operation' },
Pd { field_name: 'create' },
Pd { field_name: 'listing_group' }
]
}
],
request_id: '9V0lNLIqNwZz2PtuK5Dmtw'
Test 2 - Add everything else node again with case_value: {} (empty object)
Ed {
errors: [
Sd {
error_code: criterion_error: 108,
message: 'Subdivided listing groups must have an "others" case.',
trigger: { int64_value: Long { low: -1, high: -1, unsigned: false } },
location: [
Pd { field_name: 'mutate_operations', index: 0 },
Pd { field_name: 'ad_group_criterion_operation' },
Pd { field_name: 'create' },
Pd { field_name: 'listing_group' },
Pd { field_name: 'type' }
],
},
Sd {
error_code: { field_error: 2 },
message: 'The required field was not present.',
location: [
Pd { field_name: 'mutate_operations', index: 1 },
Pd { field_name: 'ad_group_criterion_operation' },
Pd { field_name: 'create' },
Pd { field_name: 'listing_group' },
Pd { field_name: 'case_value' }
]
},
Sd {
error_code: criterion_error: 106,
message: 'Ad group is invalid due to the listing groups it contains.',
trigger: { int64_value: Long { low: -1, high: -1, unsigned: false } },
location: [
Pd { field_name: 'mutate_operations', index: 2 },
Pd { field_name: 'ad_group_criterion_operation' },
Pd { field_name: 'create' },
Pd { field_name: 'listing_group' }
]
}
],
request_id: 'iQhvrUQYbKU3Zpc6o2V84g'
}
Test 3 - Set case_value property to empty object (i.e. product_brand: {} )
Ed {
errors: [
Sd {
error_code: criterion_error: 108,
message: 'Subdivided listing groups must have an "others" case.',
trigger: { int64_value: Long { low: -1, high: -1, unsigned: false } },
location: [
Pd { field_name: 'mutate_operations', index: 0 },
Pd { field_name: 'ad_group_criterion_operation' },
Pd { field_name: 'create' },
Pd { field_name: 'listing_group' },
Pd { field_name: 'type' }
],
},
Sd {
error_code: criterion_error: 110,
message: 'Listing group cannot be added to the ad group because it already exists.',
location: [
Pd { field_name: 'mutate_operations', index: 1 },
Pd { field_name: 'ad_group_criterion_operation' },
Pd { field_name: 'create' },
Pd { field_name: 'listing_group' }
]
},
Sd {
error_code: criterion_error: 106,
message: 'Ad group is invalid due to the listing groups it contains.',
trigger: { int64_value: Long { low: -1, high: -1, unsigned: false } },
location: [
Pd { field_name: 'mutate_operations', index: 2 },
Pd { field_name: 'ad_group_criterion_operation' },
Pd { field_name: 'create' },
Pd { field_name: 'listing_group' }
]
}
],
request_id: 'Ko3EEIBggXM-f63Pyu6ofw'
}
The only thing I can think of is that when I initially created the partitions, I did create a single brand partition as all products > brands > item id. So, in that initial process I had to create an "others" brand node. Now when I try to add a new "others" node and its case_value : {product_brand: {} }, its conflicting with the existing one in the ad_group.
The question would then be why does the others node for (ex. dimplex -> everything else in dimple) conflict with the attempt to create "american fyre design" -> everything else in "american fyre design"? And then if this is the case, what is the way to add another partition under that catch. This is becoming increasingly more likely to be the case in my opinion.
I went over to the Google Ads UI and added a subdivision to the UNIT node and came back on my app and logged the new tree based on case_value.