Take a look at understanding the utag.view call first (and how to pass dynamic data to this function.) Each utag.view call creates a new data layer that is used by load rules to determine which tags fire. This data layer can also be used to control when an Extension runs.
Once you have utag.view calls in your app working well, you can use Tealium's Test and Target Content Modification Extension scoped to your Test and Target (Async) Tag. Based on the conditions defined, this Extension will call mbox Define and Update for you to inject content into the specific div id.
Tealium's Test and Target Content Modification Extension was designed with Ajax-style single page apps in mind. Be sure to uncheck the "Flicker Free" option. And be sure to scope this Extension to your Adobe Test and Target Tag (Async) tag.
If there is something custom that the pre-built Extension does not support, we can help build the Extension in JS. In general, the Extension would run each time the utag.view call runs and you would need to pass the correct data to Adobe's mbox Define and mbox Update functions to bring in the test content.