AI-generated Key Takeaways
- 
          Shopping campaigns bid on product groups instead of keywords. 
- 
          Product groups can be created manually through the Google Ads UI or automatically through the Google Ads API. 
- 
          In the Google Ads API, product groups are referred to as Listing Groups and are structured in a tree format. 
- 
          A listing group tree must be completely partitioned and include a group for "other" values. 
- 
          You can set a maximum CPC bid for each product group, or use an automated bidding strategy. 
Summary
With Shopping campaigns, you bid on a product group instead of keywords.
You can create product groups after you create an ad group. All inventory items in a product group have the same bid.
Ad groups within a Shopping campaign can have up to 20,000 product groups.
Manual steps
Here are the steps to create product groups through the Google Ads UI.
- Create a new Shopping campaign for All Products.
- Create a new ad group.
- Click + next to All products to add a subdivision. - Products groups can be subdivided up to 6 times. 
- Use the following steps to manually add subdivision values as a list: - Select Bulk add values manually.
- Add each subdivision (one item per line).
- Confirm the changes.
 - This is only available for some attributes. 
- Set a max CPC bid for each product group. If you use an automated bidding strategy, max CPC can be set for you. 
For more detail, see Manage a Shopping campaign with product groups.
Automatic steps
Make sure you have already completed the following:
- Link Merchant Center to Google Ads.
- Create a new Shopping campaign.
- Create a new ad group. Here are the steps to create a Listing Group through the Google Ads API: 
- Use the following steps to create a root node for the listing group tree: - Create a new listing group.
- Set the ID of the root to a temporary value, for example - -1.- Each subdivision must be completely partitioned when you create a listing group tree. - The tree must have a grouping for other (Everything else in the Google Ads UI). Mutate operations won't work if you don't do this correctly. 
 
- Use the following steps to create a child node: - Create a new listing group and set the ListingGroupTypeto one of the following:- UNIT. This is a leaf node of the tree. Doesn't need to be biddable. You can't bid per unit in Smart Shopping campaigns.
- SUBDIVISION. This splits the tree by another subdivision. Remember to set a temporary ID for the node.
 
- Set the - case_valueof the node to the- ListingDimensionInfoyou want to subdivide by (product attribute in the Google Ads UI), for example- product_brand.- To partition a product group by - ProductBiddingCategory, set the value to a numeric ID, not the category string. You can find the ID in- ProductBiddingCategoryConstant.
- Set the parent ID for the node to the - getIdvalue of the parent subdivision or root node.
 - A listing group tree can be no more than seven levels deep. 
- Create a new listing group and set the 
- Repeat step five for every - UNITof the subdivision at the current tree level.- Include a leaf node with an empty - case_valuefor each subdivision. This represents all other values.
- For each - SUBDIVISIONat the current level:- Take note of the ID value. This is the parent ID for the next level.
- Follow the tree down a level.
- Repeat steps five to seven.
 
- Create an - AdGroupCriterionfor every- UNIT. This associates the listing group with the ad group.- Other ad groups and campaigns with lower priority may still bid on products that fit the same criteria. Apply - negativeto exclude a product group from bidding.
- Enable the ad group to start bidding with the listing group structure. 
See Create a new listing group and the python example for more detail.
Here's an example of a listing group tree:
