✦ SANKALP JOSHI ← Back to selected work

Case study / Audience Agent

Making audience creation accessible to marketers with AI

An AI agent that turns marketing goals into audience definitions, reducing the need for marketers to understand complex data schemas and Boolean logic.

Audience Agent's 'Build your next audience' prompt, surrounded by quick prompts such as Recent purchasers and Cart abandoners

Overview

Audience Agent

My role

Led the design of Audience Agent: customer research, UX vision, agentic design principles, end-to-end flows, and agent evals.

What shipped

Single-node and composable audience creation workflows, with responses shortened by roughly 25-30%.

01 / The problem

Marketers knew who they wanted to reach, but not how to find them.

Marketers knew which customers they wanted to reach, but building those audiences in mParticle required technical knowledge. They had to understand their company's data schema, identify the right events and attributes, and combine them using Boolean logic.

Similar event names and multiple data sources made it easy to select the wrong data. As a result, many marketers wrote audience requirements and handed them to data engineers, who built and maintained the audiences.

An analysis of calls across 20 customer accounts found that nine struggled with manual audience creation and seven had trouble finding the right data.

02 / The approach

Let marketers describe the audience. Let the agent do the rest.

The goal was to let marketers describe the audience they wanted in plain language, then have the agent find relevant data and propose a definition they could review. Three design decisions shaped the experience.

Decision 01

Design for ambiguity

A marketer might provide exact criteria or simply describe a campaign goal. I designed different paths for these requests, defining when the agent should proceed, ask focused questions, or explain that it lacked enough information.

Decision 02

Combine conversation with structured UI

Rather than rely on text alone, I explored audience cards, size estimates, and ways to compare options, helping users inspect the agent's work and make changes without writing another prompt for every decision.

Decision 03

Keep users in control

The agent needed to show which data it used, explain its assumptions, and obtain approval before creating an audience. When it couldn't complete a request safely, it needed to offer a clear next step.

03 / Testing and iteration

Trust broke down when the agent said too much.

Early tests exposed a problem: the agent's responses were too long. With roughly six turns per audience creation, users had to read too much text before reaching a usable result.

We shortened responses by approximately 25-30%, cutting down up to 800 words from a typical conversation. I also worked with engineering to replace technical progress messages with language users could understand.

I proposed a hybrid experience with interactive cards and chat, but early engineering constraints meant the initial version relied more heavily on text.

04 / Outcome

Two shipped versions, and a lighter agent.

Shipped2 versions

Single-node and composable audience creation workflows.

Result~25-30% shorter

Responses shortened, cutting up to 800 words from a typical conversation.

05 / The product

From building one audience to working across mParticle.

06 / Key takeaways

Agent behavior is a design problem.

  • Agent behavior is a design problemDefining when an agent should act, ask, or stop was as important as designing the interface.
  • More information doesn't always create more trustShorter responses, clear assumptions, and structured audience definitions helped make the agent's work easier to understand.
  • Conversation and UI serve different purposesNatural language makes it easier to express a goal, while structured controls help users review and refine the result.

From Audience Agent to a platform agent

The longer-term direction brought specialized workflows into one agent. Users could explore their data, build audiences, create predictions and return to past conversations from a shared starting point.