The Optimisation of the AdOps Operation
The Ad Tech industry is constantly evolving and AdOps professionals have to keep pace with this change. There are many everyday tasks which are unique in themselves, therefore we need to possess excellent attention to detail in order to be able to solve such issues in a timely fashion. In the Yieldbird AdOps team, we handle several issues on a daily basis as well as participate in larger projects; and it is easy to get distracted and focus on the wrong things. Let’s explore what facilitates the optimisation of the AdOps operation.
The Optimisation of the AdOps Operation – Everything You Need to Know
How should we choose to prioritise our focus on a day-to-day basis? My answer would be to automate a good deal of what we do. Like with almost any other job on the planet, we have to contend with repetitive and time-consuming tasks which, though tedious, still have to be carried out on a regular basis.
Just to give an example from my own weekly routine. Our Buy-side department offers packages of quality inventory based on e.g. CTR and viewability within multiple ad servers (Google Ad Managers). Some of them are also based on a domain whitelist, so we have to ensure that packages do not include ad units outside of the whitelist. Inventory quality changes over time; so quality packages have to be commensurately updated in a reasonable timeframe. In terms of our own inventory, we choose to update this once a week. After the package update, we send an email notification with statistics for all packages. So how does this apply to our wider scope of activity?
If you are working with Google Ad Manager as an ad server, then you could use client libraries for one of these programming languages: Java, .NET, PHP, Python, Ruby, and then:
1. Configure your Ad Manager network;
2. Set up your client;
3. Choose existing placements or create new ones using either Ad Manager UI or PlacementService;
4. Download report using ReportService;
5. Note that if you have to apply any kind of filter (like domain whitelist), check if you can do so at this step. A filtered query is less prone to errors.;
6. Filter your report and extract ad unit ID’s (if you are using Python, you can use pandas library);
7. Match ad unit list with appropriate placement;
8. Update placement;
9. Download report with updated placements;
10. Draw charts with placement statistics, save it to .jpg and send an email notification;
11. And last but not least, schedule the script to run at a given interval, for example with the use of crontab.
Having completed these steps, you will not have to worry about keeping packages up to date, your program will do it for you!
These are foundational steps to a daily work routine. So how might we facilitate the optimisation of AdOps operations in order to make the spectrum of our tasks more effective?
Monitoring Publishers’ Performance
The answer to everything is technology! In this case, an App is all we need. An App that examines the performance of our publishers on a daily basis based on reports from adx and other platforms, and which then compares this performance with historical data and either sends email notifications or creates a task in task manager, e.g. Jira if the current performance of our publisher is below the threshold we’ve set. The App is a project-tracking system. It tracks workflow and can be configured depending on our needs: we can easily set different thresholds, below which the alert will be activated; add different dimensions (total Reve, impressions, rpm, etc), and set the frequency of alerts (daily, per week, etc).
Another way to optimise our work is Ad Manager and other platforms which have their own API, so that we can download the report automatically using a script / application. The R language is good for this, thanks to which you can easily process data for both you and your publishers’ needs. You can save the data in a database; well suited for this is firebase or you can present it in visual form, e.g. in the free Data Studio tool and in a convenient .csv or .xlsx file. One of the tools we use is Google’s Data Studio. This tool allows us to present virtually any data in a precise and clear way. The reports are dynamic, so we can add additional statistics that will appear when we click on specific data. Another cool thing about this tool is its refreshing and changing of data, and its range. Moreover, creating reports is straightforward due to the drag & drop method. But even more importantly, this tool allows us to analyse data from various sources in one report (e.g. Google AdWords, Google Analytics or Google Sheets).
The Yieldbird’s AdOps Team
As mentioned above, our job is quite demanding, and it requires the use of various tools that will streamline our day-to-day responsibilities. In order to get things done in half the time, we must keep our focus on both prioritized and lesser tasks that still need to be done. To this end, we have come up with an optimisation approach that will allow us to make our work-tasks more productive and straightforward.