Thank you for this, it has been very helpful.I have followed the guide and have made some progress.
I send off my operations array containing 3 operations: [The root, a unit, and a negativeAdGroupCriterion unit].
AdGroupCriterionError.PRODUCT_PARTITION_ALREADY_EXISTS @ operations[2].operand.criterion
If I run with just the root and the negative, it succeeds but I have nothing in my product group (obviously)
Running without the negative fails with PRODUCT_PARTITION_SUBDIVISION_REQUIRES_OTHERS_CASE.
I hope you can point me in the right direction.
Here is my operations array. Maybe that will shed some light on the situation.
[0] => AdGroupCriterionOperation Object
(
[operand] => BiddableAdGroupCriterion Object
(
[userStatus] =>
[systemServingStatus] =>
[approvalStatus] =>
[disapprovalReasons] =>
[destinationUrl] =>
[experimentData] =>
[firstPageCpc] =>
[topOfPageCpc] =>
[firstPositionCpc] =>
[qualityInfo] =>
[biddingStrategyConfiguration] =>
[bidModifier] =>
[finalUrls] =>
[finalMobileUrls] =>
[finalAppUrls] =>
[trackingUrlTemplate] =>
[urlCustomParameters] =>
[adGroupId] => 36380370201
[criterionUse] =>
[criterion] => ProductPartition Object
(
[partitionType] => SUBDIVISION
[parentCriterionId] =>
[caseValue] =>
[id] => -1
[type] =>
[CriterionType] =>
[_parameterMap:Criterion:private] => Array
(
[Criterion.Type] => CriterionType
)
)
[labels] =>
[forwardCompatibilityMap] =>
[baseCampaignId] =>
[baseAdGroupId] =>
[AdGroupCriterionType] =>
[_parameterMap:AdGroupCriterion:private] => Array
(
[AdGroupCriterion.Type] => AdGroupCriterionType
)
)
[exemptionRequests] =>
[operator] => ADD
[OperationType] =>
[_parameterMap:Operation:private] => Array
(
[Operation.Type] => OperationType
)
)
[1] => AdGroupCriterionOperation Object
(
[operand] => BiddableAdGroupCriterion Object
(
[userStatus] =>
[systemServingStatus] =>
[approvalStatus] =>
[disapprovalReasons] =>
[destinationUrl] =>
[experimentData] =>
[firstPageCpc] =>
[topOfPageCpc] =>
[firstPositionCpc] =>
[qualityInfo] =>
[biddingStrategyConfiguration] => BiddingStrategyConfiguration Object
(
[biddingStrategyId] =>
[biddingStrategyName] =>
[biddingStrategyType] =>
[biddingStrategySource] =>
[biddingScheme] =>
[bids] => Array
(
[0] => CpcBid Object
(
[bid] => Money Object
(
[microAmount] => 250000
[ComparableValueType] =>
[_parameterMap:ComparableValue:private]
(
[ComparableValue.Type] => Compar
)
)
[cpcBidSource] =>
[BidsType] =>
[_parameterMap:Bids:private] => Array
(
[Bids.Type] => BidsType
)
)
)
)
[bidModifier] =>
[finalUrls] =>
[finalMobileUrls] =>
[finalAppUrls] =>
[trackingUrlTemplate] =>
[urlCustomParameters] =>
[adGroupId] => 36380370201
[criterionUse] =>
[criterion] => ProductPartition Object
(
[partitionType] => UNIT
[parentCriterionId] => -1
[caseValue] => ProductOfferId Object
(
[value] =>
[ProductDimensionType] => ProductOfferId
[_parameterMap:ProductDimension:private] => Array
(
[ProductDimension.Type] => ProductDimensionType
)
)
[id] =>
[type] =>
[CriterionType] =>
[_parameterMap:Criterion:private] => Array
(
[Criterion.Type] => CriterionType
)
)
[labels] =>
[forwardCompatibilityMap] =>
[baseCampaignId] =>
[baseAdGroupId] =>
[AdGroupCriterionType] =>
[_parameterMap:AdGroupCriterion:private] => Array
(
[AdGroupCriterion.Type] => AdGroupCriterionType
)
)
[exemptionRequests] =>
[operator] => ADD
[OperationType] =>
[_parameterMap:Operation:private] => Array
(
[Operation.Type] => OperationType
)
)
[2] => AdGroupCriterionOperation Object
(
[operand] => NegativeAdGroupCriterion Object
(
[adGroupId] => 36380370201
[criterionUse] =>
[criterion] => ProductPartition Object
(
[partitionType] => UNIT
[parentCriterionId] => -1
[caseValue] => ProductOfferId Object
(
[value] =>
[ProductDimensionType] => ProductOfferId
[_parameterMap:ProductDimension:private] => Array
(
[ProductDimension.Type] => ProductDimensionType
)
)
[id] =>
[type] =>
[CriterionType] =>
[_parameterMap:Criterion:private] => Array
(
[Criterion.Type] => CriterionType
)
)
[labels] =>
[forwardCompatibilityMap] =>
[baseCampaignId] =>
[baseAdGroupId] =>
[AdGroupCriterionType] =>
[_parameterMap:AdGroupCriterion:private] => Array
(
[AdGroupCriterion.Type] => AdGroupCriterionType
)
)
[exemptionRequests] =>
[operator] => ADD
[OperationType] =>
[_parameterMap:Operation:private] => Array
(
[Operation.Type] => OperationType
)
)