This setup can work, but the feeder structure logic is backwards from how most people think about it. You don’t want Shopping campaigns with lower TROAS pushing products into PMax. You want Shopping campaigns to capture high-intent branded and category search queries that PMax would otherwise waste budget on at your higher target.
Here’s the right structure: run your PMax feed with all products at your desired TROAS. Then layer Standard Shopping campaigns with exact category or product group filters, set those to higher ROAS targets or manual CPC, and use negative keywords in PMax to exclude branded terms. Shopping siphons off cheap converting traffic, PMax handles discovery and non-search placements.
The mistake in your approach is setting Shopping to lower TROAS. That tells Google to spend more aggressively in Shopping, which competes directly with PMax for the same search inventory. Instead of feeding PMax better data, you create auction overlap where both campaigns bid against themselves. Your costs go up and attribution gets messy.
For your 7 categories, test this: keep one PMax with all products, add 2 to 3 Shopping campaigns for your highest margin categories with tighter ROAS, and use priority settings to control traffic flow. Medium priority for PMax, High priority for Shopping. That way Shopping wins auctions when both are eligible.