Media Tag Management Automation


Julià Pujol

May 4, 2021
Media tracking is important, the budget spent in media campaigns of the vast majority of multinational companies is enormous, failing to measure it properly could lead to bad decisions affecting the overall performance of the business.

The importance of Media Tracking is highly underestimated. The media budget spent on campaigns by the vast majority of multinationals is huge, yet they often fail to measure them properly. This leads to bad decisions and affects the performance of the business.

Last year one of our clients asked us to help them manage their media tag deployment. The objectives were to standardize the media measurement, make it scalable and efficient.

Managing media tracking codes for a website is one thing, but when you have to do it for several things start to get complicated. In this particular case, the client operates in nine different countries, each one with its own eCommerce website, its own local media agency teams and its own local client teams. 

On top of that, they operate at a scale where tags and tracking codes are constantly changed and added. Even though the sites were similar, each country has their own specific needs. Curious on how we handled that? Keep on reading.


As with any kind of tracking, media tracking needs data. This data usually comes in the form of user actions and site information. For example, an eCommerce tracking a cart would be useless without the product or price information. Each vendor requires data in a very specific way and unfortunately, none of them seem to converge.

The client in this case had a pretty good idea of what needed to be tracked and a data layer was already in place. However, they were lacking any type of standardization process. While platform A was receiving, for example, whether a user was logged in, platform B didn’t. While platform A was receiving pageName from the data layer, platform B got it from the browser’s URL. On top of that, there was no common standard among the countries. Having no standardization meant that there was no pure cross-platform reporting beyond the traditional metrics of clicks, views and conversions. 

While standardization could be achieved by handling variables inside a Tag Manager, we were facing nine websites with at least two Tag Manager properties per website (one for all the eCommerce pages and the other for all branding pages of the same site). On top of that, multilingual countries had individual properties per language. In total, we had twenty-five properties to deal with.

The initial strategy for the set up of properties on Tag Manager was intended to be managed on a country basis, but now we had to find a way to manage all of them together. This was something we had no say on, nor was the client was willing to change.

It became pretty clear that manually adding or changing these variables, property by property, apart from being very prompt to error was totally unsustainable. We had to centralize the standardization to one entity:

Centralizing has its pros and cons. By centralizing you have the power to apply a change across many entities in one shot, but you can also mess everything up in the same process. We had to find a suitable middle ground.

In software engineering, canary deployment is the practice of making staged releases by rolling out a software update to a small part of the users first. Once the change has proven to work well, the update is rolled out to the rest of the users. That seemed like a perfect fit for our scenario.

We won't go into precise details about the whole setup, but just imagine the Tag Manager sharing the properties and what tracking codes to trigger to the framework. The framework then has to standardize (meaning it had to add custom data to the tag) and later dispatch those tracking codes.

That change alone had significantly improved the data quality, ensuring that the same data with the same format was sent across media platforms for all the clients' websites in each geo.


Twenty-five properties with an average of twenty media tracking codes per property gives us about five hundred media tags to manage. With the standardization framework, we not only put a process in place to guarantee data quality, but we also made an important step towards scalability. Nevertheless, we wanted to go a step further.

As we were simply integration partners, we had no idea of how long a tracking code should be implemented, whether its ID needed to be changed or if a new variable needed to be added. This was something only the guys running the campaigns and the media agencies would know, so they had to be the ones in charge of making these changes.

The idea of giving each local agency access to their Tag Management properties also wasn't an option as technical skills are required and would jeopardize all the standardization work done so far. Making matters worse, all these changes and requests were handled via email, making the process very tedious.

After giving it some thought, we finally opted to build a tool where campaign managers could manage the tags in a safe environment. The idea was to bring a middle technology where media planners could set up the tracking codes and still be compliant with the standardization process.

This is how easy it is now for a media campaign executive to place a tag through the new platform:

The platform is linked to the client's Tag Manager properties via API (in this case Adobe Launch API), so after a short review, the inputted tag is published with just a click. The entire life cycle of tag publishing looks like this:

By removing all the exhausting emails requesting changes or new tags and by automating the tag publishing process we substantially reduced the time from when a tag change is requested and when it is actually applied.


Last but not least, efficiency was a very important and sensitive topic for the client. Our task was to set up a vast, accurate tracking system using the least amount of tracking tags. According to a recent study these tags can increase the average page load time by 6.77 seconds. These are pretty shocking figures, especially in e-commerce, as a one-second delay in mobile load times can impact conversion rates by up to 20%. As this client deals in eCommerce, they're well aware of the importance of page speed. However, this isn't the case for all our clients.

The first thing we did was trigger only the tags that were strictly necessary to measure the performance of the different campaign. This helped avoid redundancy but wasn't enough to make a big impact on the website's load time. What else could we do to improve the page speed?

Lazy loading is a design pattern used in computer programming and web design to delay initialization of an object until it's needed. That sounded ideal - so we took the principle and applied it to tracking. After testing, we proved that by delaying tags by 3 seconds, after DOM loaded, we could gain on average a reduction of almost 2 seconds in load time per page.

To make sure there was no loss in tracking it was noted that most of the users we missed to track were those considered as "bounce" (i.e. users leaving the site almost immediately). Therefore these users were of no interest for retargeting.

With these improvements in place, we were able to get reductions of 2.6 seconds on very relevant pages within the purchase funnel. Pretty impressive results!

Bonus Track

For those looking for more details on the architecture of the platform built for the media agency client to place their tags, here is an overview:

The platform is built on top of GCP. Given its serverless nature and its free tier, Cloud run is used to manage all the computing processes triggered as a result of a user interacting with the UI, powered by the first Cloud Run service (1). For asynchronous tasks, such as publishing, updating or removing a tag from Adobe Launch, a second Cloud Run service (4) is used leveraging Cloud Tasks (3) to reduce request latency and make the platform more responsive.

All data is saved into a Cloud SQL instance (2), Cloud Spanner is best suited for this platform but its cost made it impossible to use it. On an hourly basis, there are Cloud Functions (5) triggered by Cloud Scheduler (7) that sync tag statuses and information between Adobe Launch and the platform. Additionally, every time a tag is accessed by a user, the sync is also made.

Finally, Cloud Logging (8) is used to log all activity for all the compute services.


Automation is key to success in digital. It reduces time and costs while avoiding human errors. Although the digital industry is among the ones with the highest levels of automation, there is still a large number of tasks that can be automated.

Tracking, especially media tracking, is a tedious task that is often misunderstood but plays the most important part in your campaign's success. Automated media tracking, especially if your company manages several webs/apps, is an important thing to bear in mind.

At Uptimal we are specialists in automating media and analytics processes. Get in touch if you look for potential improvements in your digital media processes.

Posts that might be of your interest