We have a small catalog of products, but I'm seeing a definite pattern here. Aside from one anomaly all of my disapproved products are the variants after the primary or first listed. It seems that Google's crawl can't use the drop down and therefore applies the price for the first in line to the variants down the list and sees a discrepancy in price, flags it, and marks them as disapproved. Here is a link to an example. Is this an issue with the way the Shopify pages are coded?
I had this exact issue. I'm new to Google ads and the Google Merchant Platform, so I've been battling with this for a couple days. But it seems that toggling the "Enable Automatic item updates" to enabled fixed my issue. I read up on it and it seems like this was supposed to be turned on, automatically? Obviously it wasn't, and I had to enable it. Anyways, hope this fixes it.
PS: The toggle to switch the "Automatic item updates" is somewhere in the setting in your Merchant Center. I think I searched it in Google and clicked on the link, then it took me to my profile where I can enable it...very hidden.
Not a guru here, but have had to overcome this on my own. Google Merchant Center would kick back a product as price mismatch because a variant price didn't match a price on the landing page. The only solution that I could come up with is to price everything the same within that product group. That often means having different variants as an entirely different product. So a widget in gold would be it's own variant at a higher price from an identical widget in silver. Just figured I'd better cooperate or else. Didn't want any trouble.