You make some good points but is the trade-off worth it.
Finding out where someone is from these days is fairly trivial using the IP address: the shortage of IPV4 means that it may not be 100% accurate sometimes though.
So, using your example, working out that I am in Minnesota should be easy enough. At that point, I'd wager that people will either buy from Amazon (sell many cheap/fake/knockoff stuff that does the job) or would buy from Minnesota Bob's Local Car Parts Emporium... no data to back that up but I'd imagine either of those scenarios would account for a large number of people - My own preference (for the most part) these days is local business with a delivery option (not Amazon any more due to reasons).
With your example, there is a whole bunch of extra options in there that I would put serious money on that no one can tell what I want from mining the shit out of me. Not Google, not anyone.
Even with all the data they can muster, there is no way that they can make the decision that "this guy wants ad number 15, not ad number 16" with enough accuracy that the people paying to have their ad shown are actually getting a return.
With context-sensitive ads, I'd wager there'd be a high chance that someone in Minnesota searching for carburetors that sees an ad for Minnesota Bob's Local Car Parts Emporium would want to buy from him... again, no data to back it up, but equally, I have yet to see any substantive data that mining actually results in an appreciable, measurable increase in sales... none!
I still believe it's all (mostly) a ponzi scheme.