Hey Team, I am creating a listing group where I only want to Include certain ItemID from all products and Exclude "EVERYTHING ELSE". I used the API Documentation but could not figure out how to exclude them.
URGENT Help Needed Attaching the code for the reference:- def next_id(): global last_criterion_id last_criterion_id -= 1 return str(last_criterion_id) def main(client, customer_id, ad_group_id, replace_existing_tree): ad_group_criterion_service = client.get_service("AdGroupCriterionService") if replace_existing_tree: remove_listing_group_tree(client, customer_id, ad_group_id) operations = [] condition_dimension_info = client.get_type("ListingDimensionInfo") client.copy_from( condition_dimension_info.product_condition, client.get_type("ProductConditionInfo"), ) ad_group_criterion_other_operation = create_listing_group_subdivision( client, customer_id, ad_group_id, condition_dimension_info, ) ad_group_criterion_other_resource_name = ( ad_group_criterion_other_operation.create.resource_name ) operations.append(ad_group_criterion_other_operation) item_dimension_info = client.get_type("ListingDimensionInfo") item_ids = ["n12288755v", "n12648292v", "n12673786v"] for item_id in item_ids: item_dimension_info = client.get_type("ListingDimensionInfo") item_dimension_info.product_item_id.value = item_id operations.append( create_listing_group_unit_biddable( client, customer_id, ad_group_id, ad_group_criterion_other_resource_name, item_dimension_info, 900_000, ) ) ##Other item ids client.copy_from( item_dimension_info.product_item_id, client.get_type("ProductItemIdInfo"), ) operations.append( create_listing_group_unit_biddable( client, customer_id, ad_group_id, ad_group_criterion_other_resource_name, item_dimension_info, 50_000, ) ) # Add the ad group criteria. mutate_ad_group_criteria_response = ad_group_criterion_service .mutate_ad_group_criteria( customer_id=customer_id, operations=operations ) # Print the results of the successful mutates. print( "Added ad group criteria for the listing group tree with the " "following resource names:" ) for result in mutate_ad_group_criteria_response.results: print(f"\t{result.resource_name}") print(f"{len(mutate_ad_group_criteria_response.results)} criteria added.") # [END add_shopping_product_listing_group_tree] def remove_listing_group_tree(client, customer_id, ad_group_id): googleads_service = client.get_service("GoogleAdsService") print("Removing existing listing group tree...") query = f""" SELECT ad_group_criterion.resource_name FROM ad_group_criterion WHERE ad_group_criterion.type = LISTING_GROUP AND ad_group_criterion.listing_group.parent_ad_group_criterion IS NULL AND ad_group.id = {ad_group_id}""" results = googleads_service.search(customer_id=customer_id, query=query) ad_group_criterion_operations = [] for row in results: criterion = row.ad_group_criterion print( "Found an ad group criterion with resource name: " f"'{criterion.resource_name}'." ) ad_group_criterion_operation = client.get_type( "AdGroupCriterionOperation" ) ad_group_criterion_operation.remove = criterion.resource_name ad_group_criterion_operations.append(ad_group_criterion_operation) if ad_group_criterion_operations: ad_group_criterion_service = client.get_service( "AdGroupCriterionService" ) response = ad_group_criterion_service.mutate_ad_group_criteria( customer_id=customer_id, operations=ad_group_criterion_operations ) print(f"Removed {len(response.results)} ad group criteria.") def create_listing_group_subdivision( client, customer_id, ad_group_id, parent_ad_group_criterion_resource_name=None, listing_dimension_info=None, ): operation = client.get_type("AdGroupCriterionOperation") ad_group_criterion = operation.create ad_group_criterion.resource_name = client.get_service( "AdGroupCriterionService" ).ad_group_criterion_path(customer_id, ad_group_id, next_id()) ad_group_criterion.status = client.enums.AdGroupCriterionStatusEnum.ENABLED listing_group_info = ad_group_criterion.listing_group listing_group_info.type_ = client.enums.ListingGroupTypeEnum.SUBDIVISION if ( parent_ad_group_criterion_resource_name and listing_dimension_info != None ): listing_group_info.parent_ad_group_criterion = ( parent_ad_group_criterion_resource_name ) client.copy_from(listing_group_info.case_value, listing_dimension_info) return operation def create_listing_group_unit_biddable( client, customer_id, ad_group_id, parent_ad_group_criterion_resource_name, listing_dimension_info, cpc_bid_micros=None, ): operation = client.get_type("AdGroupCriterionOperation") criterion = operation.create criterion.ad_group = client.get_service("AdGroupService").ad_group_path( customer_id, ad_group_id ) criterion.status = client.enums.AdGroupCriterionStatusEnum.ENABLED if cpc_bid_micros: criterion.cpc_bid_micros = cpc_bid_micros listing_group = criterion.listing_group listing_group.type_ = client.enums.ListingGroupTypeEnum.UNIT listing_group.parent_ad_group_criterion = ( parent_ad_group_criterion_resource_name ) if listing_dimension_info != None: client.copy_from(listing_group.case_value, listing_dimension_info) return operation -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog: https://googleadsdeveloper.blogspot.com/ =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ You received this message because you are subscribed to the Google Groups "AdWords API and Google Ads API Forum" group. To post to this group, send email to adwords-api@googlegroups.com To unsubscribe from this group, send email to adwords-api+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/adwords-api?hl=en --- You received this message because you are subscribed to the Google Groups "Google Ads API and AdWords API Forum" group. To unsubscribe from this group and stop receiving emails from it, send an email to adwords-api+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/adwords-api/8ff032d0-70a3-49d5-8ad0-68c48ffbca5dn%40googlegroups.com.