Currently it’s not scalable to book an ad campaign on Yahoo Ad Manager Plus. If you’re an advertiser, say Netflix, and you want to book a campaign you have to go through an account manager and then three different people to launch an ad campaign. It’s inefficient and doesn’t work well.

But what if we made this campaign booking flow open to the world? What if any advertiser out there could book an ad on Yahoo quickly and easily? How would this change our world? How would this change our ecosystem?

When embarking on this design, there were a lot of challenges we faced.

Creating organization out of chaos: In the current booking process there were many steps. Making sure the process is organized is a really big challenge.

Making the process clear: Before, there was a person who worked with advertisers to set things up. However, without people to help the process has to be clear and simple enough to get through independently.

Knowing how much control to give and give up: The advertisers using our product want some parts of the process to be automated, but not so automated that they lose control of being able to tweak the important parts of their campaign. Weighing the tradeoffs here was a large challenge.

Initial Research

To start out this process we sat down with advertisers to watch them book campaigns. We did this to understand their workflows and gain insight on what was important to them.

These were power users: They knew what they wanted to change and the results they wanted to achieve from campaigns. 

Feedback was key: Advertisers constantly looked for feedback from the system to make sure they were doing the right things.

Advertisers wanted control over specific parts of the process and tweak campaigns as they go.

Insights were important: Advertisers wanted to be able to see a clear picture of their audience to easily make decisions

Design Principles

After synthesizing research and user insights, we came up with design principles to guide the process.

Set people up for success: Making sure advertisers had the information available to be set up for success was important, ensuring their trust in the system.

Smarter defaults: Having smart defaults based on campaign information immediately yield value to advertisers since they have starting point based on past performance.

Insights that matter: Showing important audience insights helps advertisers make decisions that affect how they target their campaigns.

Short process: Making sure this process is short and clear is important in keeping campaigns focused, less convoluted, and helping users get through the booking process without making it tiring.

Don’t take away control: Only automate functions that will help advertisers understand their campaign better, but keep control on important metrics.


I worked on exploring a wide range of solutions to start and then weighing trade offs and narrowing in on the designs that worked better. I started off working on a user flow. This helped us focus on core tasks and action feedback loops, so we could understand how users went through their workflow.

Wireframes and Concepting

I explored several different directions by wireframing and concepting. This helped generate a lot of ideas and also, shed some clarity on how information should be organized to make the most sense to users.

After working on high level wireframes, I also worked on some more detailed wireframes to understand how information flows through the process.

Data Visualizations

I also explored several different interfaces for the data visualizations. A lot of the hard part here was finding the perfect visualization that best helped advertisers understand at a glance insights about their audience. Below are a few explorations:

Going back to our users

Throughout the process we almost always went back out into the field to test with our users. We uncovered a lot of insights in the process that grounded back to the problem we were trying to solve.

Understanding the needs of the power user

While working on the design I thought of several ways to structure the objectives page. I did a step by step process, breaking it down into several small pieces and adding everything in one page. I was surprised to find that users did not like having too many small steps and instead wanted a few larger steps. This was because advertisers are power users and know exactly what each field means. Also, they often move back and forth between objectives and budget so having everything on one page is necessary since they are correlated.

Focusing on System Feedback

Our users relied heavily on the system to give them feedback. In the case of the budget calculator, feedback was absolutely necessary to make sure users spent all of their budget or didn’t go over in case of an error. The design had to take all error states into account to present an accurate picture. Having pre-filled fields is also very important, so advertisers can quickly gloss over little details and focus on big wins.

Trust is Key

Advertisers wanted to be able to quickly look at data visualizations of their audience and understand how to act on it. This was important to make sure Yahoo can gain their trust and add value to their campaign.

After synthesizing feedback from users we worked on a final design. Below are the insights followed by the detailed design:

One page for cause and effect: All objective related actions are grouped in one screen, so advertisers can see each field and how they affect each other. We omitted the intro screen since advertisers are power users and understand the steps required to create a campaign since they work with many campaign creators on a daily basis.

Actionable Insights: From the conversion pixel provided in the earlier step, self serve gives advertisers a ton of audience insights. The goal of this is to show advertisers things in their data they’ve never seen before. Our users come in with a general idea of who their audience is. We want users to leave this screen with more insights, learning things about their audience they didn’t know existed; empowering our users and winning their trust, so that they can use this tool to get the best results they are looking for in their ad campaign.

The data visualizations show at a glance where your targeted users reside and the demographic break down. From here, advertisers can see what groups of users to target to get the best results for their campaign and reach their goals.

Quickly allocate your budget and get smart feedback: From here users enter in their budget, bid, and goals. This is at first system optimized, and advertisers can customize. Self-serve offers a cross-channel view for advertisers to be able to balance their budget because oftentimes advertisers don’t know how to distribute their money across channels, and self-serve aims to make this decision-making easier.


Error States

We focused on making sure error states were properly shown to give advertisers feedback if they haven’t spent their whole budget or gone over.

We also added an easy way to recalculate if a number changes or is deleted, or a channel is added so advertisers get feedback that they have changed something that impacts an important metric.

Self-Serve is a three step process with automation where it matters (defaults, insights) and control where it is important (bid, goals, budget).

Learnings and Unlearnings

Throughout this process I learned a lot of important things about our users and the problem we were trying to solve.

Watch our users do their work: A big part of this process for me was sitting down with account managers and advertisers and seeing the process. It helped me understand how they worked and what was important to them. This really changed the way I viewed the process and showed me how “making it easier and simplifying” sometimes isn’t always important when you’re working with businesses. Making it clearer is.

Making sense of data takes a lot of iteration: During this process I iterated a lot on the small details of the data visualizations. This was incredibly important because handling all edge cases in the data was key to make sure it wasn’t misread and provided advertisers with misleading information that could affect their campaign. Once again, clarity was key.

Always get feedback: Continuously circling back with our users was imperative to keep us grounded in the process and make sure we were solving a relevant problem and driving impact.