Yes. Impression Regions will track that information, however there's not a lot of retrievable data available, other than the two canned reports.
You just have to add the AMPScript tags around the content that's dynamic.
The Impression Region name cannot be an AMPScript variable.
Support has to enable the reports.
If you'd rather have some more flexibility, you can build it yourself using AMPScript variables and the Send Log. You determine what combinations of the content the subscriber is getting, set a variable like
@contentCode, and then enable Send Logging on the send. If you have an
contentCode column in your Send Log, then it'll get recorded.
Once it's in the Send Log, it's accessible via Query Activity and API.
Send Logging also has to be enabled by SFMC Support.