Hi Ben, yes this looks indeed like a timing challenge. Depending on how you scoped the extension, a tag container's default "fire" mechanism is at dom ready, which means that performance.timing.loadEventEnd is already set when your code snippet runs. First, try scope the extension to the Adobe tag and change the tag container's wait flag to "no" and see if that makes a difference. If this does not work, then try "bundle" the tag (so it will be embedded in utag.js and hence fire at the earliest convenience) and if that does not work either, then maybe you can get away with removing the condition check altogether and let the busy loop kick in immediately:
if (performance.timing.loadEventEnd == 0) { .. }
If you are still having problems, I'd be happy to take a stab at the challenge, if you PM me with your account/profile and website URL to where the setup is currently in place and I'll take a look.
... View more