use defensive coding in your data elements when referencing data layer object properties, to see if the data object properties exist before you try to reference them.
Also, dispatch a browser event when the object is added to the array and pass the data in an object with the event. Listen for this new event with DTM