That will probably be the issue, we're not using the VEC or similar. Just using the form based composer to retrieve JSON offers. example:

@robvienna1982 - JSON offers are still used by a channel eventually to deliver the final experience. In that case, you have 2 approaches:
1. You can still use the dynamic parameters in JSON offer which can be read by the channel where you are delivering the final experience. From there you can execute trackEvent() call.
2. You can use Response Tokens to get the the ids of all activities and experiences, and pass these to Adobe Target using trackEvent(). Page below shows an example of sending AT data to Google Analytics - you can use Tealium Extensions to work in similar manner.
https://experienceleague.adobe.com/docs/target/using/administer/response-tokens.html?lang=en#:~:text=Response%20tokens%20let%20you%20automatically,%2C%20geo%20information%2C%20and%20more.