In fact, he mentions that this new approach is not only shorter, but reduces load time, because it isn't blocked by the CSSOM.
But even today, Google Tag Manager, Facebook Pixel, and any other snippet I'm asked to embed uses the first approach. Throwing it out to the group: any ideas why?
Is it just that these services are designed to work across all devices, even as far back as IE 8 (that would explain the `var`), so they're covering their bases. Or do you think that developers are just copying each other? Or is there another reason? Do these scripts need the CSSOM to be ready before they can execute, for example?
The reason for asking: I was asked to add yet another tracking tool to a website, and seeing the same boilerplate code show up again and again just got me thinking about the Ilya Grigorik article.
---
Updates:
I probably should have used the term "script injection" instead of "script loading"