 <p>So thanks to Guffa I realized that even though I had broken the push statement into different lines, it was treated as one. I had thought the problem was with my .push implementation, but rather it was a problem with one of the variables being pushed. </p> <p>It turns out I had missed a return on </p> <pre><code>var callExtData = checkCallExtensions(campaign); </code></pre> <p>and so callExtData was empty, hence undefined. </p> <p>Thanks!</p>