Why not just pass these as separate products by with a different custom event for "recommended content"... if you aren't using the "category" part of the products notation, you could even pass a distinguishing value between actual purchases and recommended.
I know the whole purchase event will "apply to all", but if you don't pass quantity or price as part of the recommended items, and use a merchandising event to indicate "recommended content", you may also want to create a merchandising event for actual purchases too, then you have very clear ways to distinguish them and pull reports....
So let's say on a purchase, you have 2 items being purchased, and 1 item recommended:
s.events = "purchase,event1,event2";
s.products = "purchase;product 1;1;9.99;event1=1;eVar1=something 1|eVar2=something else 1,purchase;product 2;1;6.97;event1=1;eVar1=something 2|eVar2=something else 2,recommended;product 3;;;event2=1;eVar1=something 3|eVar2=something else 3"
You don't necessarily need the eVars, but I assume you are capturing some details on product details views, or add to carts that you may want consistent....
In this scenario, event1 and event2 are created as numeric events, so that they can explicitly count against only the product in context (event1 on purchases, event2 on recommended products).
You can then use event2 to pull up a list of all of your "recommended items"
If you use the Purchase event, you will see both, as it's applied on the entire purchase, which is why I added event1 for "purchases" that you can use to pull just purchased items... You can also use event2 to show recommended content maybe on Add to Cart actions, or from product detail pages, or other places in your site....
For more info on products list, see:
https://experienceleague.adobe.com/docs/analytics/implementation/vars/page-vars/products.html?lang=en