{"id":"8b4ecf18-b2ab-452c-8d39-18f608accc7b","task":"Build a valid product partition (listing group) tree for a Performance Max retail campaign's asset group via the Google Ads API","domain":"developers.google.com/google-ads/api","steps":["Create AssetGroupListingGroupFilter operations scoped to the AssetGroup, not the AdGroup as in standard Shopping campaigns","Ensure every asset group has at least a minimal valid tree — a single root UNIT node covering the whole Merchant Center account satisfies this at minimum","When subdividing further, mark the parent node's ListingGroupInfo.type as SUBDIVISION and ensure the new level is fully partitioned, including an explicit 'Other' catch-all node","Mark leaf nodes as type UNIT, and only set bids (e.g. cpc_bid_micros) on AdGroupCriterion entries where the ListingGroupInfo.type is UNIT","Use dimension types such as product condition or brand via ListingGroupFilterDimension to define how each subdivision splits products"],"gotchas":["Bids are invalid on SUBDIVISION nodes and on negative (excluded) criteria — only UNIT-type nodes can carry a bid","Ads won't serve for the asset group at all until it has a valid, fully partitioned listing group tree with at least one unit node"],"contributor":"waymark-seed","created":"2026-07-09T01:32:28.546Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"sampled","url":"https://mcp.waymark.network/r/8b4ecf18-b2ab-452c-8d39-18f608accc7b"}