Portfolio Case Study
Walmart Connect · 2024–2025

Marty

Designing an AI agent that helps advertisers create campaigns, understand their performance, and get answers without leaving Ad Center.

My role Sr. Manager, Product Design
Team 4 designers across 4 product areas
Scope Campaign creation · Reporting · Support
Status Launched · Iterating

Ad Center is powerful.
For most advertisers, it's too much.

Walmart Connect's advertising platform serves a wide range of advertisers, from small businesses running their first Sponsored Search campaign to enterprise teams managing spend across dozens of categories. The platform gives them control. But control without guidance creates friction.

Campaign setup requires understanding match types, bid strategies, and targeting parameters. Reporting surfaces rich data that most advertisers don't have time to interpret. And when something breaks or underperforms, support is slow.

The opportunity: an AI agent that closes the gap between what Ad Center can do and what advertisers can actually get done — available in the moment of need, inside the platform they're already using.

An agent, not a feature

Early conversations about AI for Ad Center centered on predictable patterns: AI-generated copy suggestions, smart bid recommendations, anomaly alerts. All valuable. But additive. You'd still need to know what you were doing.

"We didn't want to make Ad Center smarter. We wanted to make advertisers more capable, regardless of their experience level."

Marty is built around tasks, not information. An advertiser can describe what they want to accomplish in plain language — "I want to set up a search campaign for my back-to-school products" or "why did my ROAS drop last week?", and Marty works with them to get it done. For SMB advertisers, it's a shortcut through complexity. For enterprise teams, it's a support layer that handles the routine so strategists can focus on what matters.

Model A
The feature model
Information-oriented
👤
Advertiser
"Why is my campaign underperforming?"
AI responds
Your CTR is 1.8% — below the 3.2% category average. Top keyword has a low quality score. Creative is 47 days old.
👤
Advertiser must now
Navigate to keywords Adjust bids manually Open creative tool Write new copy Re-upload assets Resubmit for review
AI informed. Advertiser still does the work.
Model B
The agent model
Action-oriented
👤
Advertiser
"Why is my campaign underperforming?"
AI diagnoses + acts
Found 2 issues. I've refreshed your keyword bid and drafted 3 new ad headlines based on your best performers. Want me to apply them?
👤
Advertiser
✓ Approve
AI acted. Advertiser stayed in the loop.

Early framing used to align PM, engineering, and leadership on the product model

What made this genuinely difficult

Building an AI agent for a complex business platform surfaces design problems that don't have established playbooks. Three dominated our work.

Problem 1 — Scope: what should Marty do?

An unconstrained agent creates risk. If Marty can do everything, advertisers lose trust when it does something wrong, or does something they didn't intend. The question wasn't just capability, it was confidence: we needed advertisers to know, at any moment, what Marty could and couldn't do.

We mapped Marty's scope across three dimensions: tasks it could complete autonomously, tasks it could assist with (but the advertiser confirms), and tasks it should hand off to a human. This wasn't just a product boundary exercise; it drove the entire UI. Every Marty interaction needed to signal which mode it was operating in.

01

Autonomous

Tasks Marty can complete without confirmation — surface data, answer questions, explain platform concepts.

02

Assisted

Tasks Marty initiates but the advertiser reviews and approves — campaign drafts, bid changes, budget updates.

03

Escalated

Complex issues or high-stakes changes that Marty surfaces to human support, with full context already assembled.

Scope mapping — Marty capability framework
Autonomous

Marty acts without confirmation

Assisted

Marty proposes; advertiser confirms

Escalated

Marty surfaces context; human resolves

Data & reporting
Surface campaign metrics on request
Generate performance summaries with recommendations
Campaign creation
Answer setup questions, explain options
Draft full campaign from brief; advertiser reviews & launches
Bids & budgets
Explain bid strategy options
Recommend bid/budget changes; advertiser approves
Large-scale reallocations flagged for human review
Item selection
Explain why items were included or excluded
Propose item list from Seller Center signals
Issue resolution
Diagnose performance anomalies, explain causes
Suggest corrective actions for advertiser to apply
Complex disputes or policy issues routed to support with context pre-assembled

Working framework used to align product and engineering on scope boundaries before UI design began

Problem 2 — Transparency: why did Marty do that?

Trust in an AI agent breaks the moment a user can't trace its reasoning. For advertisers making business decisions with real spend attached, "the AI recommended it" isn't enough. We designed Marty to show its work, not as a disclaimer, but as a confidence-building feature.

Every recommendation surfaces its inputs. Every campaign draft explains its choices. When Marty flags a performance issue, it shows the data that triggered the flag. This required close collaboration with engineering and data science to surface the right signals at the right level of detail, enough to build confidence without overwhelming.

Campaign report in Ad Center showing raw performance data without AI analysis
Marty explaining its item selection choices in the campaign creation flow

Iteration from opaque data to explained recommendation — a recurring pattern across all Marty response types

Problem 3 — Brand: fitting an AI persona inside a global retailer

Marty didn't arrive fully formed. The product went through several naming and brand iterations before launch, each shaped by the tension between giving the agent a distinct identity and keeping it coherent within Walmart Connect's carefully maintained global brand language. Introducing an AI character with a name, a personality, and a visual voice required close collaboration with brand, legal, and communications teams across multiple review cycles.

The challenge wasn't only visual. It was philosophical: how much character can an AI agent have inside a business-critical platform without feeling out of place? Too branded and it reads as a mascot. Too neutral and it becomes indistinguishable from a search bar. We landed on a design approach that keeps Marty grounded in utility — the name and character serve the function, not the other way around — sitting within the Walmart Connect brand system rather than competing with it.

Brand evolution — concept to launch
Early avatar concept — female character used as a placeholder persona before the product had a name or formal brand direction
Pre-name
Avatar concept
Placeholder persona used in early internal explorations before the product had a name or brand direction
Node icon — an abstract connected-node symbol used in internal guides and documentation once the product had a working name
Working name
Node mark
Abstract icon used in internal guides and docs. We had the name — not yet the brand
Orb — a gradient sphere provided by the branding team as a temporary visual identity for Alpha and Beta releases
Alpha / Beta
Orb
Temporary visual identity from the branding team — used through Alpha and Beta releases while the final character was developed
Marty — the final character, a friendly star-shaped figure in the same design family as Sparky, developed by Walmart's Enterprise branding team
Launch
Marty
Final character from Walmart's Enterprise branding team — in the same family as Sparky (the shopper agent). Friendly, distinct, and grounded in the Walmart system

Screenshots throughout this case study span multiple phases of this evolution — earlier screens may show the Orb or Node mark rather than the final Marty character.

The principles that guided the team

Before any wireframes, I worked with the team to establish a set of principles that would guide every Marty design decision, and give us a shared language for resolving disagreements.

  • P1

    Confidence before capability

    An advertiser who trusts Marty will use it more. An advertiser who doesn't understand what it can do will avoid it. We design for trust first — capability second.

  • P2

    Always leave them in control

    Marty assists; advertisers decide. No consequential action happens without explicit confirmation. The advertiser is always the agent of record.

  • P3

    Earn the next question

    Every Marty interaction should make the advertiser want to ask the next one. We measure success by engagement depth, not just first-use.

  • P4

    Transparent by default

    Reasoning shouldn't be hidden behind a toggle or an "expand" link. Marty's logic is part of its answer, not an appendix to it.

How I led this work

At a glance

Team led 4 designers across 4 product areas
Cross-functional PM, engineering, data science, legal
Duration ~12 months, concept through launch

Team structure for the Marty initiative — four designers each owning a distinct product area, with Marty cutting across all of them as the North Star for the Q4 2024–Q1 2025 Beta release

I set the product design direction for Marty from the earliest framing conversations — before it had a name — through launch. That meant:

Establishing the design model. I drove alignment on the agent-not-a-feature framing, translating it into a product philosophy the whole team could execute against. This required synthesizing feedback from PM, engineering, and senior stakeholders who had different intuitions about what AI should do in the platform.

Defining scope with product and engineering. The capability map wasn't a design artifact — it was a shared decision-making tool. I facilitated the conversations that produced it and owned the design language that represented it in the UI.

Building the team's craft vocabulary for AI. My designers hadn't built an AI agent before. I established working principles, ran weekly critique sessions focused specifically on trust and transparency patterns, and brought in examples from other AI products to push the work beyond generic chatbot conventions.

Navigating ambiguity with leadership. Marty was a significant bet. I presented design direction to senior leadership multiple times throughout the process — advocating for approaches that prioritized advertiser trust even when faster, less nuanced paths were available.

FigJam quarterly planning board showing work across multiple product areas — Reporting, Campaign creation, Help & support, and Library — before breaking into focused mini-sprints for each initiative

Quarterly planning session — mapping work across all four product areas before breaking into focused mini-sprints for each project or initiative

Running structured design sprints. Marty required moving fast across a broad problem space. I structured the team's work through a series of design sprints — each focused on a specific capability area — to keep velocity high without losing coherence across the four product areas.

Design sprint board (FigJam) — the full arc of Marty's design sprints across campaign creation, reporting, support, and brand. Each column represents a focused sprint with research, explorations, and decisions tracked in sequence

Marty helping an advertiser select campaign items with visible reasoning
Marty recommending a daily budget and channel mix with projected ROAS

Two steps from the guided campaign creation flow — Marty explaining item selection and budget recommendations with visible reasoning at each step

Recently launched. Learning in the open.

Marty launched in 2025. We're early in the instrumentation cycle, the most meaningful metrics (sustained adoption, task completion rates, support deflection) will take months of data to assess properly.

What we have: the agent is live across both SMB and enterprise Ad Center users, covering campaign creation, reporting interpretation, and support escalation. Internal feedback from account teams has been positive — they're using Marty to onboard new advertisers faster and to hand off routine support queries.

What we're watching: the assisted-action flow (where Marty drafts a campaign change and the advertiser confirms) is the highest-stakes UX we built. We're measuring confirmation rates, edit rates before confirmation, and abandonment — treating each as a signal about trust calibration.

What comes next

Now

Refining confirmation UX based on early assisted-action data. Improving reasoning display for reporting queries.

Next

Proactive Marty — surfacing recommendations before advertisers ask. Designing notification and entry-point patterns that earn attention without creating noise.

Later

Multi-campaign orchestration: helping enterprise advertisers coordinate strategy across large portfolios via natural language.

Marty on mobile — AI agent proactively notifying advertiser of a new campaign ready for review

Mobile entry point — Marty surfacing a proactive notification on the Ad Center home screen

What I'd do differently

We underinvested in the empty-state and onboarding experience early on. Advertisers who opened Marty and didn't know what to ask didn't come back. We've since rebuilt the entry experience around suggested prompts tied to the advertiser's current context, but that learning cost us early adoption data we can't recover.

I'd also push earlier for tighter alignment on what "transparency" means to advertisers at different sophistication levels. A sophisticated enterprise buyer wants to see data sources; an SMB advertiser often just wants to know if they can trust the recommendation. We found workable patterns, but earlier research would have accelerated it.

"Building an AI agent for a business-critical platform taught me that the hardest design problem isn't the interface — it's the model. Getting that right first made everything else tractable."