Workaround pushing Data in the Datalayer
Google offers a demo shop (https://enhancedecommerce.appspot.com/) in order to understand the implementation of the Enhanced Ecommerce code. By clicking on the "i" next to some elements, it is possible to see both, the common integration of the code and the code for pushing the data into the datalayer of the tagmanager.
Now I started the GA debugger and looked up for the data which are sent to Google and found this "workaround" which is not mentioned in the official developer guides:
Google creates a new tracker including the Tagmanager Container-ID and uses the "common" Enhanced Ecommerce code + this tracker in order to send the data. I'd like to know if it is possible to push the data to Data Layer of the Tagmanager this way.
Re: Workaround pushing Data in the Datalayer
I'm not sure what you are trying to point out, or what your question is. The ec: add impression is just the product impressions being recorded via Google Tag Manager.
Are you looking for a method to push information into the dataLayer so that GTM can consume it? If so, there really is not one way -- it's something that your developers need to dynamically add into the page (in the syntax that is revealed by the button you mentioned ) and make available either for GTM or directly for GA in the GATC (Google Analytics Tracking Code).
You could use GTM to scrape elements from the page and append a dataLayer and then fire a GTM event that could be used as your Enhanced Ecommerce pageview trigger; however, this is very unstable and is not recommended.
Hope that helps.