Make tracking facade more resiliant

Make it work if `window.dataLayer` isn't previously defined