<body> tag. Based on our experience, this provides the best compatibility with the greatest number of vendors. This placement provides the greatest opportunity for all vendor tags to complete their tracking before the visitor navigates to the next page.
Modern websites have moved away from this method because it presents a direct risk to delaying page load time. This is demonstrated in the figure below where each bar represents a tag being loaded synchronously. You can see that each item is processed serially and a delay in any request would impact the entire load time.
The downside associated with this method is that the entire site is blocked from loading until the tag fully loads. And while tag vendors put in place service level agreements around their delivery time, several factors could impact their performance. These include slow response time associated with vendors, introduction of unnecessary application servers in the Client-Server hybrid model, slow Internet traffic, etc. If you are loading tags synchronously, we recommend that you make sure the vendor has a response time of 100 milliseconds (ms) or faster.
There are some valid use cases for synchronous tags, usually loaded in the
<head>. For these cases, a second file is available called utag.sync.js. Learn more about installing utag.sync.js.
Example of loading the utag.js library asynchronously: