Productising Dynamic Ads


with Fresh8 Gaming

"The marketing automation platform for the sports betting industry to instantly connect sport fans with personalised bets"


Fresh8 were building an advanced dynamic ad building and distribution product that takes gaming companies data feeds (normalises the data) and enables dynamic, live odds advertising at scale. They had built a set of dynamic ads that had proved out the concept for clients in the early days of the business, but it needed attention to allow them to scale new and existing customers much quicker.

  • I led the core concept and vision throughout (we had no product manager) 

  • Worked with 2 mid-weight designers to deliver ideas, iterations and specifications

  • Collaborated with engineers for technical feedback & ideation

  • Worked with the CEO & commercial team to help with research around customer problems and also product positioning post-launch.


The existing ad product was rigid in its capabilities & didn’t allow the flexibility in design & layout that our customers demanded. The rollout process for new customers was slow, and any changes for new customers were equally cumbersome, if not impossible. All of this created a drain on internal resources managing and maintaining a system that was in desperate need of a re-think.

Onboarding a new customer takes almost 1 month

Changes break stuff, it’s like wacamole!

Near impossible to improve or add new functionality

Simple customer requests become huge tasks

Automated testing was near impossible

Example of some quick proto personas that were sketched out off the back of internal conversations that were had to guide the team & I.


Talking to key stakeholders & customers and began to centralise all customer requests from the previous 18 months. I also discussed with the engineering team a number of the core technical problems they had been facing with customer requests and general scaling.


From here we were then able to start to define goals...

  • Speed up new customer onboarding

  • Reduce breaking changes when updates are made

  • Move towards a self-serve model for ad creation

  • Cope with varying & always changing dynamic data lengths

  • Support future known & unknown products

  • Simplify the new client rollout process

  • Reduce lead times on what is perceived as simple changes

  • Move towards a self-serve model for ad creation

  • Increase flexibility in data & layout option


With our research & discovery stage complete we reframed the problem into some easily understood “How might we…” statements.

How might we reduce turnaround time for both the customer and internal teams


How might we create an ad product that gives design flexibility for our customers


How might we reduce ongoing engineering overhead 

Working with the Leadership Team we also defined a set of KPI’s we wanted to measure against along the way.

  • Halve customer onboarding times from X to Y 

  • Halve the time to get new ad sizes live from X to Y

  • Address all “must-have” customer requests

  • Reduce production bugs related to customisations

  • Reduce QA Time

  • Ability to iterate and continuously improve the product post-release

  • Address most “should/could have” customer requests

The above is from a keynote I prepared to present my thoughts to the business


I looked at other businesses with similar design/tech problems & also drew inspiration from Brad Frost’s “Atomic Design” methodology.


It was the atomic approach coupled with a notion of layering “control” at a different level to create what I felt was a scalable and manageable ad framework, that would hit the internal and external needs.

Quick sketching of thoughts taken from an old dot grid sketch pad


Pairing with engineers we began to sketch out ideas and build small prototypes to test out some of the logic.


We identified a few areas that could pose problems. These were largely around the ability to dynamically calculate available space in changing ad sizes & keeping the code base as lightweight as possible for ad server requirements.


This was particularly challenging due to the fact that content is dynamic so we couldn’t calculate things upfront, it had to be done once the ad was “built”.

However, we had reached a point where we felt the general principles we were presenting should work, so at this point, we decided to press on and start to spec up a series of components we knew we needed.


Below is a very small selection of (old) specifications for a variety of molecules that we created.


Was a “white-label” component-based design system that allowed our customers to style and create their own ad “look and feel” whilst aligning to the technology of Fresh8 Gaming. A fellow designer and I specced up all of the components and layout options along with how data will react in a variety of scenarios discovered during the MVP stage.

We then created 2 template sketch documents that output everything our engineers needed to build a Customer Ad Set, along with a “Customer-Ready” sign off doc for our sales team to show the customer before we built the ads.


The skin for German operator “Risk”


The skin for UK + EU operator “William Hill”


Having created a solid baseline product that we could quickly onboard new clients onto and iterate further with existing clients was a big win. We met the KPI’s we were trying to hit, in fact, we smashed them out the park.


The approach we took was by no means perfect, and it hit snags along the way. But the basic principles have proved sound.


As important as anything else, it put Fresh8 in a position to iterate, change & improve the product. Along with building out new products & new MVPs quickly, easily & at low cost to the business.

Get in touch

  • Twitter
  • LinkedIn

© 2020 by Rob Freemantle