You would need to specify where does this "product family, product line, or product category or using a custom field" information reside? Does it reside on the Opportunity object OR does it reside on the Contact object?
To pull in the information for contacts that have an opportunity, you will need to run a filter "Has Opportunity" and the fields on the opportunity would be under constraints, plus you can add additional filters based on the Lead/Contact record.
Please let us know where your fields reside and we might be able to provide you a better explanation.
Opportunity Product (OpportunityLineItem) is a junction object that links Oppties with Products. (As such the Product itself is a lookup into Products, not a flat field on the Opportunity Product record.)
Product is a related list associated with the Opportunity object.
The fields that I would use are on the Product object. So I was hoping for a Constraint that would be something like Has Opportunity with Product Family xyz.
Sent from my iPhone
Not possible, as explained above.
This constraint isn't available in Marketo as the object isn't synced. You'd have to flatten the related Products into a field on the Opportunity instead. Recommended format: a pipe-delimited field with additional pipes (|) at beginning and end, since Marketo is doing a free-text search and you don't want to have mismatches.