var productId = 1234567; //ID you want to find
var productGroups = AdsApp.productGroups().get();
while(productGroups.hasNext()) { //Iterate over all product groups
var productGroup = productGroups.next();
var itemId = productGroup.asItemId();
var id = itemId.getId();
if(id == productId) //If an ID match is found, pause that item ID
itemId.exclude();
}
var adGroup = adGroups.next(); var productGroupIterator = adGroup.productGroups().get(); while (productGroupIterator.hasNext()) { var productGroup = productGroupIterator.next(); var productGroupDimension = productGroup.getDimension(); var productGroupValue = productGroup.getValue(); var maxCpc = productGroup.getMaxCpc(); var impressions = productGroup.getStatsFor('LAST_30_DAYS').getImpressions() ; if ( productGroupDimension != "ITEM_ID" && impressions > 0 && !productGroup.isOtherCase() && !productGroup.isExcluded()) { var insert = productGroup.newChild().itemIdBuilder() .withBid(maxCpc) .withValue(OfferId) .build();
} }Hi Razvan,
I am a colleague of Matt and let me provide further support to your concern.
If you want to create a sub product group directly under a parent/root product group only, then you may add the condition below to script validation.
productGroupDimension == "ROOT"
Let me know how it goes after trying the provided solution.
Regards,
Ejay
Google Ads Scripts Team
var adGroup = adGroups.next(); var productGroupIterator = adGroup.productGroups().get(); while (productGroupIterator.hasNext()) { var productGroup = productGroupIterator.next(); var productGroupDimension = productGroup.getDimension(); var productGroupValue = productGroup.getValue(); var maxCpc = productGroup.getMaxCpc(); var impressions = productGroup.getStatsFor('LAST_30_DAYS').getImpressions() ; if ( productGroupDimension != "ITEM_ID" && impressions > 0 && !productGroup.isOtherCase() && !productGroup.isExcluded()) {
// HOW CAN I CHECK IF THE item is a child of this parentgroup? <--- MISSING CONDITION HERE
var insert = productGroup.newChild().itemIdBuilder() .withBid(maxCpc) .withValue(OfferId) .build();
} }