I get a lot of searches for the exact phrase [x7 blue widgets] but the ad that is shown is the broad match rather than the exact match.
This is not what I would expect. I thought exact match was always chosen in preference. Both ads have the same maximum bid, optimization is turned on as default. Am I mis-understanding?
Both ads have the same maximum bid, optimization is turned on as default
It sounds like the CTR for your broad match is over powering your exact match. An easy solution would be to add the negative -x7 to your blue widgets ad group and a broad matched x7 blue widgets to your other ad group. The broad matched x7 will make sure you don't miss queries such as blue widgets x7.
As for ad optimization, it has nothing to do with this occurance. Ad optimization controls which ad is shown not which keyword is triggered.