A few weeks ago I read a great blog post entitled The Era of Server-side Everything from my colleague Jan Exner. I wanted to write a comment, but as I started to think about what to write, I realised it was going to be too long. Instead, I decided I would write my own post on this topic. Then, as I started to think what I would include, additional blog posts came to my mind. So, this is the first of a series of posts on server-side digital marketing.
Advantages of server-side digital marketing
Reduced load time
Although this is arguable, it should decrease your page load time. Do not expect massive changes, but if you are an advocate of minimal websites, then this is for you. Since you will not be loading and executing any Adobe library on your website, it should load a few hundred milliseconds faster.
This comes at the cost of more expensive server-side hardware. The functionalities still require code, which has to be executed in your servers. Remember that one of the reasons of running code client-side is that you have thousands or millions of browsers executing this code for you. When moving the functionality server-side, it will execute in a handful of servers. Either you need more servers or more powerful hardware.
I remember, many years ago, a customer saw a drop in page views after an upgrade in the Adobe Analytics code. After some research, they found that a combination of a specific Google Chrome version and a specific browser extension blocked some code. In another example, an online newspaper had just deployed Adobe Analytics and the numbers did not match the previous web analytics software. The problem was that the code was running at the bottom of the page and the homepage was huge. It took many seconds to reach the bottom of the page and many visitors had already clicked on a link before the Analytics code had the opportunity to execute. As a final example, you will have probably seen that you always get some spurious server calls with unusable data.
Easier SPA development
When I ended my days as an Adobe Analytics consultant, Single Page Applications (SPA) were a rarity. I never had to work with one. However, from what I hear from my colleagues, more and more companies are moving to SPAs. With traditional websites, you rely on the browser loading the full page every time. The digital marketing code fires in different places, according to the page load process.
However, with in an SPA, the typical process changes completely. There is only one page load for the whole visit. The frameworks do most of the heavy lifting, but the digital marketing code is not included in these frameworks. As a consequence, you need to manually add ad-hoc code for Analytics and Target, to fire where you need it and with the data you want. Obviously, if you move this code server-side, the SPA becomes easier to develop.
You would not expect all to be advantages, right?
Increased time to market
When you run your digital marketing code in your servers, every time you need a new A/B test or a new metric, you will have to open a ticket with IT. This ticket will go into a long queue, until a resource is available and starts coding your request. Once the feature is ready, it will only be pushed to production in the next release. Therefore, any change you need will take weeks or months before it is live. You can no longer apply quick changes to your code, you now have to plan months in advance.
For example, with Adobe Target, the mbox.js or at.js code takes care of everything for you on the website. You only need to configure the tests or personalisations using an intuitive UI. If you want to use Target server side, you will need to code every single test or personalisation.
Dependence on IT
One of the hidden goals of any digital marketer is to be totally independent of IT. They speak different languages and have different goals. Unfortunately, I have seen too many times the lack of synchrony between marketing and IT. As I said above, using a tag manager allows for an easy decoupling of these two teams. In the particular case of Adobe Target, once you deploy it, you probably do not need any additional code.
However, as you can see from the previous disadvantages, with server-side code, you need IT for every change. I still have to see a web administrator giving access to any other teams to the code of the website. And if it is an external agency managing your website, you are doomed.
Which way to go?
As with most things in life, there is no black or white here. You have to evaluate your particular case and decide if it makes sense. I still believe that the benefits of the client-side code outweigh the benefits of server-side code, but I also know that the differences are narrowing.
I had an Adobe Analytics customer, who did a full server-side implementation of Adobe Analytics. The were very serious, as they wanted to reduce the load time of the website. After months of implementation and issues that needed some changes in their configuration, the code was ready. However, this code never went live.
Which way do you see digital marketing will take in the future?