

Microsoft AI Ads
Ads on Microsoft's surfaces were static and invisible. I redesigned the system that generates them
AI-Generated Ads
Personalization Engine
Algorithm Design
Feed-Based UX
A/B Testing
Company
Designing the UX for an AI ad engine before AI ad engines were a thing.
Ads on Microsoft's own surfaces, Edge's New Tab page and the Windows Start feed, were static, generic, and increasingly invisible. They pulled from advertiser data feeds and arranged content in rigid, one-size-fits-all templates with no awareness of the person seeing them.
Working on the Ads Solutions Design team, I contributed across two interconnected workstreams: designing the UX and visual logic for an algorithmic ad generation system, and exploring a fundamentally different model for how advertising could coexist with content
My part
Company
Microsoft
Role:
UX/UI Designer
Platform:
Web · Microsoft Edge · Windows Start
Users Reached:
500M+
Monthly reach across Edge new tab, Windows Start, and MSN, the surfaces this work shipped on.
Impact
Created the next gen ads
Shipped as part of Microsoft Advertising's next-generation ad serving infrastructure.
1.8M+ Ad Combinations
The personalization engine generated over 1,843,000 unique ad variants from a single component template at scale, without designer intervention.
+16% CTR Gains
Hypothesis-driven A/B flights validated several design directions, with the strongest variant driving +16% CTR.
Scalable Design System
The algorithmic template system was built to scale applicable to future ad types and placements beyond the initial surfaces.
The problem
Before any new work could begin, the existing ad system needed a clear-eyed audit. The ads weren't failing in one obvious way, they were failing in several interconnected ones, and the solutions needed to address the system, not just the symptoms.
01
No personalisation framework for the algorithm
The ad system had no structured way to understand the person seeing the ad. The algorithm needed a design framework to work within: visual elements it could match intelligently to maximise relevance and CTR for each individual impression.
02
Legal constraints on the ad label
The bright green "Ad" slug felt jarring against editorial content. We wanted to replace it with a neutral "Sponsored" treatment to match article templates, but legal resisted. Navigating that constraint shaped every iteration of the ad design over the course of the project.
03
No path for video ad formats
The data infrastructure wasn't ready for video ads yet, but the business needed a template system that could accommodate them when it was. That meant building extensibility into the component logic from the start, designing for a capability that didn't exist in production.
04
One-size-fits-all templates with no user awareness
Every user saw the same static ad regardless of context, behaviour, or intent. Templates were rigid and assembled without any signal from the person seeing them, making them easy to ignore and hard to optimise meaningfully.
Workstream 01
The MSAN project was about reimagining what native ads could look like when an algorithm is doing the assembly. Advertiser data schemas (image, title, description, price, availability, shipping) were the raw inputs. We designed the templates and rules that shaped how that data got arranged, what got emphasised, and how the ad behaved.
Rather than producing variations at random, the approach was to define a component system the algorithm could use to make good design decisions autonomously, producing ads that felt considered rather than machine-generated.




Testing hypotheses, not assumptions
Each design direction was framed as a testable hypothesis before any production work began. Rather than generating variations at volume and hoping something landed, the goal was to find a smaller number of well-reasoned concepts that could be validated with real data.
Highlighting discounts increases click likelihood for price-conscious users
Subtle motion and animation attract attention over static formats
Multi-image slideshow formats increase relevance and engagement
Interactive elements drive curiosity and lift CTR
Gamification adds delight without sacrificing conversion intent

Hotel template
+10.02% CTR

Immersive-Cards
+4.79% CTR

Ad slug redesign
+15.55% CTR
Before


After

Original static ad vs. redesigned template: the one-size-fits-all Adidas format versus the best-performing algorithmic redesign.
Workstream 02
If MSAN was about optimising the existing model, Lifestyle Recommendations asked a harder question: what if ads didn't try to interrupt content, but became content worth seeing? Value over volume. Brand story over product price.
We explored a new ad consumption model built around four core themes: individuality, personal values, trust, and format flexibility. The proposal centred on creating new spaces within Microsoft's ecosystem where brand storytelling, creator collaboration, and personalised discovery could coexist with commerce.



01
Storytelling
Brand narrative as the ad unit itself, not interruption but content worth seeing.

Advertiser
Build brand equity

User
Build brand equity
02
Collaboration
Cross-brand campaigns matched by shared audience signals, zero category overlap.

Advertiser
extend reach, share cost

User
Curated pairings
03
Personalization
ML-driven relevance at the feed level. Right product, format, message, per impression.

Advertiser
1.84M+ variants, one template

User
Ads that fit the moment
04
Discovery
Creator-led curation and editorial context. Trusted voices surfacing products in feed worth reading.

Advertiser
Credibility via creator trust

User
Product through voices they trust


Business collaboration matching
One of the more ambitious proposals within the Lifestyle workstream was a matchmaking system for complementary brands, pairing advertisers with shared audiences and zero category overlap to run co-campaigns that felt curated rather than commercial.
How I worked
Thinking strategically when the brief was to brute-force it
The team's instinct was to produce as many 300x306px ad card variations as possible and let testing sort them out. I pushed back on that approach wherever I could, grounding each concept in a clear hypothesis before any design work began. The goal was to find the right few directions, not the most directions. That discipline is what separated the +16% results from the noise.
Navigating a six-stage approval process
Microsoft's production pipeline was rigorous: Hypothesis, Vision and Approval, Concept Ideation, Customer Validation, Recommendation and Approval, Engineering Handoff. Every concept had to earn its way through each gate. I learned to front-load the data and user insight that made the approval case before the design was even finished.
Holding the line on legal constraints
The ad slug was a persistent friction point. Legal resisted changing the bright green "Ad" label despite clear evidence it was hurting the user experience. Over time, through repeated rounds of evidence and advocacy, we got to a white label first and eventually to "Sponsored" text just before I left. Small wins in a long negotiation.
Designing for a system, not a screen
The real design challenge wasn't any individual ad, it was the rules the algorithm would use to assemble millions of them. Every layout decision had consequences at scale. A component that worked for a short title and a square image had to also work for a long title, a portrait image, a discount price, and a missing description, all without designer intervention.
Looking back
What this role taught me.

What made it hard
Ambiguous direction at scale
Management's instinct was to explore broadly and let testing decide. That works when you have infinite runway, but it created a lot of churn on a surface that already had strict approval gates. The challenge was finding ways to be rigorous and strategic inside a process that was set up to be iterative and volume-driven.
What I'd refine
Establish measurement earlier
Some of the strongest design work, particularly in the Lifestyle workstream, was hard to quantify after the fact. The concepts that did get tested showed clear signal when they were right and clear signal when they were wrong. I'd push harder from the start to define what success looks like for each direction before building anything.
What this work shows
Systems thinking, design strategy, and advocacy
Designing for an algorithm means your decisions are multiplied across millions of impressions. That raises the stakes on every choice. The most interesting tension in this project was between what performed in a short A/B flight and what we believed was right long term. Sometimes the experiment isn't testing the idea. It's testing the context.




