Companies need to understand their users’ actions on websites and applications, what are the friction points, how users interact with the site, where they click, how certain products perform, etc.
As sites become more sophisticated the information required to track each of these requirements continues to increase as well. Unfortunately the more tracking requirements and code you place on a site the more the performance begins to take a hit and as a result, the user’s experience is potentially affected negatively.
In an effort to help keep implementations clean and efficient data engineers can optimize tracking code in an effort to avoid affecting site performance as much as possible using tag management systems (TMS). A TMS allows for a concise and efficient way to organize and implement any required tags.
What is a tag?
In analytics, a tag is an element – a code snippet – allowing user interactions to be measured. Tags can be a wide variety of types. It can be a base analytics tag such as Adobe Analytics or Google Analytics. It could also be a 3rd party marketing tag to help measure marketing performance on any number of platforms like Twitter or Facebook or any other platform.
These tags can be deployed client-side or server-side. The wide majority of digital implementations – if not all of them – currently use the former, client-side tracking consists of the user’s browser directly sending data to a server and waiting for a response back. This is how data is collected and then shared to marketing or analytics technologies.
Although with this method analytics engineers have a lot of control and can debug tracking beacons much easier, it is not always performance-efficient as you must wait for a response back for each pixel.
Alternatively, with a server-side implementation, when a pixel of data gets sent to a server, the server will then pass that data to the final destination without needing to send a response back to the website. This data is then available to be loaded into an analytics platform or by a marketing automation provider etc. This tends to be a much more efficient process and puts less burden on the website.
The idea of server-side implementations has been around since the beginning of tag management. The big paradox is that everyone says this is the future, however, most companies have not actually fully deployed this kind of solution with the exception of a handful of pioneers.
What is client-side tracking?
Client-side is the most common way of implementing analytics and other 3rd party tags. This is accomplished by deploying your tracking code on each page of your site typically via a tag management system which sends the data to the appropriate servers via the users’ browser. The users’ browser then handles the communication of that information to the data collection service where the data is processed and made available for reporting.
As part of the implementation, when you deploy client-side tracking you can inspect the server calls going out with a packet sniffer like Charles or even your chrome debugger tools. This is a quick way to confirm that the tag is sending correct data as expected and allows QA to be completed without extra effort or tools.
What is server-side tracking?
Alternatively, with a server-side implementation, when a pixel of data gets sent to a server, the server will then pass that data to the final destination without needing to send a response back to the website. This data is then available to be loaded into an analytics platform or by a marketing automation provider etc. This is a much more efficient process as far as the website is concerned.
Pros of client-side tagging
As previously mentioned, when sending data via a client-side implementation it is a more simple process to perform QA. The reason why is because the different platforms must send a response back. This response is able to be intercepted in any debugger tool and inspected to ensure the data sent was correct. Ensuring each pixel contained the expected variables and the values set in each variable were also correct. It is the standard most analytics engineers are used to. This means that responses are readily available to view helping with debugging and ensuring everything is set up correctly.
Cons of client-side tagging
Client-side tagging impacts site performance more than server-side tagging. There is typically more code left on the site which could have a potential performance impact as well as the need to wait for responses back from each of the different tags that are sent out.
Also, because the user’s browser handles the communication between the website and the data collection services the users’ browser can potentially affect how well this process works.
Pros of server-side tagging
No need to wait for a response. Instead of firing off a few different tags and waiting for responses back from the server, once the pixel is sent the site can move on. The site does not need to wait for a response back from the server.
Less impact on site performance. Generally speaking there will typically be less code on the site. This could potentially have a positive performance impact for some. But as previously mentioned as the data is sent server-side there is nothing more to happen and the site can move on.
Cons of server-side tagging
Depending on technology and methodology used for deploying server-side tags it can be more time consuming to debug if there are issues because there are no responses to inspect. However, tag management systems such as Tealium have started building tools to solve this issue. Tealium now has a trace tool that can be leveraged to ensure data being sent server-side is still correct. It is maybe not quite as simple as a network inspector but it is still very helpful and alleviates most of the pain points with debugging server-side tags.
Not all tags are available to send server-side. Depending on the system leveraged for implementation your tags may or may not be available to go server-side. Most companies with TMS that offer this will work with your dev teams to make tags available. However, it is not only up to the TMS. The different parties have to also work with the TMS in order for a tag to be available server-side. This could limit the extent of what you can accomplish server-side.