Project Overview
Since 2018, I’ve been the sole developer of an automation and self service platform disguised as a dashboard. It has reduced thousands of man hours of tedious work and provided our advertisers with a first class experience impossible to do manually. My Digital Stats Dashboards have won universal praise from our advertisers and have actually lead to sales, while reducing the need to hire more staff.
What platform are you using? This is great—every piece of information I need in one place. I deal with Fortune 500 companies who can’t do this.
Marketing Director, major hand tool company after a quick tour of my refreshed digital stats dashboard.
Background
When I started this job, in my Junior year of college, I was tasked with many small-to-medium-sized web development projects. I did not expect to end up taking ownership and day to day management of the production of content and data from these sites.
Others involved did not understand the digital marketing landscape, and so shortly after launch of the brand’s first digital products, the requests for stats flooded in. This lead to a number of changes including a new ad server.
After years of manually handling statistics for clients with a growing business and workload, no additional bodies and shorter and shorter notice of client demands, I knew there were methods to improve this.
One one week in June 2018, I was working from home and for a rare instance, everything moved great—all ads were in on-time or early, emails stopped flowing and my world stood still. Except for one pesky client, who wanted statistics often before our weekly newsletter actually launched, so she could present them in a weekly meeting, two days later. After reasoning with her failed—she worked for a large agency tasked to a giant insurance company—I knew I had to finally offer a self service solution, so my Friday afternoons were not wasted rushing incomplete data to a client.
Not being one for relaxation, I used this opportunity to tie the some of the ad sales data available in our ERP system, Ad Orbit’s MySQL data warehouse, to data in our ad server.
After quick success with that, I added in mailing data from our provider for one email newsletter, Mailchimp by building a script to sync portions of their campaign data to a custom MySQL table, and soon I had a complete picture of the data relevant to our advertisers for our weekly newsletter.
I whipped up a basic CSS Grid based table layout, stylized the data, added a few pieces of additional, manually added data such as a screenshot of each issue—something I had learned to take after many advertisers would ask for one weeks after the issue had launched and their ad had been taken down.
I quickly cloned the majority of this functionality to our website ads, adjusting the displayed data appropriately, added the hints and descriptors I told advertisers regularly, added unique links per line item and developed a login-free secure URL automatically generated per client and a method to look those up.
Within a week, my Digital Stats Dashboards were born. That Friday, my pesky agency contact for the giant insurance network received a link that update data as often as our ad server provided it—hourly. She could see the stats within an hour of launch, check back at the end of the day, and could jump back to this Tuesday before their client meeting, all without ever having to send me an email ever again. She was elated—and in hearing that, so was I.
I soon realized I needed to apply more logic to fields—color code due dates as they approached, add helpful links such as to specs and contact information, templates, and to custom build CSV exports as well as offer additional fields for third-party ad server support, so our exports can be mapped to many other systems. I also added a variety of ways for us to add notes to our advertisers, on global, advertiser-specific, order-specific or line-item specific level, as well as visual indicators for when an item was a make-good, value added extra, or an A/B test.
Another challenge was that the ticket status options in the system weren’t always the most descriptive. Some like “assigned” had no value to an advertisers, while others such as “Not To Spec / See Notes” could be softer, but also needed to draw the users attention. We also had a single status, “Online” that meant an ad was “Scheduled”, “Currently Running”, or “Completed” when its date range has passed but before we preform QA and billing.
So I added what has become a complex and ever changing engine to swap the status names used by AdOrbit, customizing the label with a client friendly name and an optional admin-facing name, with the options to be categorized, colorized, and contextualized with icons and data from additional fields.
“Online” now became “Scheduled” before your launch date, “Completed” after your run finished, and manually set to “Done” once our QA was completed.
Overdue ads would switch from being blank to broadcasting in a loud red with an alert icon, that they were “Overdue”.
As development continued, I’d use client dashboards to keep tabs on their performance, share them with our sales reps who could then also check out their client performance in a few clicks, rather than anywhere from hours to days for me to find the time to update dozen of client reports.
The data available has continued to expand. During the pandemic, I rebuild them from the ground up, standardizing more code, layering on a beautiful new UI and reorganizing from a single page format to an elegant tabbed solution, and started to shoehorn in sales prompts: if you visited a tab for a product you never purchased before, you were presented with a message with links to learn more or contact a sales rep.
We offered more products (eblasts, sponsored content, eblast showcases, social media posts and more), more data (comparative CTR and more), better data, such as “Engagement Clicks”, which is clicks from emails filtered out to remove known spam filters, junk click like on our privacy policy, and suspicious clicks, such as when a recipient supposedly clicks on every link in the email within a minute, or the same IP address clicks links for multiple recipients on multiple domains.
I adapted to provide more types of data: click data from emails for individual or multiple set links, or all links in an email, Google Analytic data such as pageviews and average time on page, links to external sources such as social media posts, or Google Sheets and Excel online links for custom formats. By adding tooltips on nearly every field, certainly anything I’ve been asked about more than once and adding an FAQ page for questions requiring more elaborate answers, I reduced the number of questions we received, and provided all our staff with repeatable answers for the majority of the questions we do get.
Since then, I’ve added inventory based automatic discount offers on several products, which look at a companies past orders, pending orders and our near-future available inventory and offer “secret” discounts, encouraging advertisers to check their dashboards more regularly.
The Results
Back around 2017, I used to spent 3+ days a month doing nothing but providing statistics. Even moving to a semi-automated system of manually centralizing statistics and copying identical blocks to client specific Google Sheets and providing links to save myself a click or two didn’t reduce as much time as responding to our growing client list took. Today, it would likely take 5 to 7 days a month.
By developing our digital stats dashboards, continuing to improve them and building standardized protocols with graceful degradation for edge cases, I add a few seconds to each ad’s workflow, but remove the entity of the stats process except for a small handful of clients who have extremely specialized reporting needs.
The first year, I estimate the Digital Stats Dashboard saved around $10-15,000 worth of labor – or more accurately, freed me up to produce far more revenue than that. Today, it likely saves 500 to 1000 man-hours a year, easily $25,000 to $40,000 on what would have to be an additional staff member to handle the amount of data—and they still wouldn’t be able to provide as real-time data as we do now. And the time savings has allowed me to work on higher value projects and grow our digital offerings. And it has certainly saved my sanity, prevents mistakes, and has grown to now become a sales tool – both that it can be used to recommend or provide more information about products we sell but also that our sales reps show it off as an asset that clients get when they work with us.
And the entire cost of this system besides, my time, has been $0. No paid products are used to develop, maintain or make this possible.
Leave a Reply