Product Design · Conversational UI · Google

Turned wait time
into resolution time.
At Google Ads scale.

Designing a chat-based support queue that actively resolved issues while users waited for a live agent.

Product Designer
ML tool · Top-of-funnel
Google

Users who couldn't self-serve had only one option: wait for a human.

Google Ads Help handled massive ticket volume. Many issues were things the system already knew how to fix: budget adjustments, campaign pauses, billing corrections. But the support flow was binary: read an article or open a ticket. There was nothing in between. No way for the system to ask clarifying questions, offer a fix inline, or keep working on the problem while the user waited.

The result was a queue full of tickets that didn't need a human, and users stuck watching a "You're number X in line" screen doing nothing. Every minute spent waiting was a minute the system could have been resolving.

Design a chat-based queue that resolves issues while users wait.

This was a top-of-funnel ML tool. Instead of a passive waiting room, I designed a conversational queue that actively worked to resolve the user's issue before an agent picked up. The chat pulled account context, surfaced the relevant help article, offered to apply fixes directly, and gave users an explicit "I no longer need help" exit if the issue got resolved during the wait.

I designed the full queue interaction model: how the chat initiated from a help article, how it transitioned from automated resolution attempts to live agent handoff, and how it communicated queue position and wait times. The goal was to make the wait productive, not passive.

Three phases of the queue experience.

Phase 1

Active waiting

While the user waits for an agent, the queue surfaces the relevant help article and offers automated fixes. "You're number 1 in line" becomes a resolution window, not a dead screen.

Phase 2

Self-resolution exit

An explicit "I no longer need help" button lets users leave the queue when the system resolves their issue. No awkward agent pickup for a problem that's already fixed. Clean deflection.

Phase 3

Contextual handoff

If the user does reach an agent, the full conversation context transfers automatically. The agent sees what was already tried, which account is affected, and where the user got stuck. No repeating yourself.

The full system: from help article to chat queue to resolution.

Google Ads Chat system overview showing the flow from help articles through chat queue to resolution, including the active waiting interface

The queue became the highest-performing part of the support funnel.

The key insight was that wait time is not dead time. Users in queue are captive and motivated. They've already described their issue. The system already knows their account context. That's the perfect moment to offer a fix, not after three agent transfers.

By surfacing relevant recommendations and automated fixes during the wait, many users resolved their issue and clicked "I no longer need help" before an agent ever picked up. The queue wasn't faster. It was smarter. It kept solving while the user waited, turning a cost center into a deflection engine.

Wait time became resolution time.

Deflection
active queue resolved issues before users reached a live agent
Context
full conversation history passed to agents on handoff, no repeating
Exit ramp
"I no longer need help" gave users a clean way to leave the queue
System
end-to-end flow from help article to chat to resolution in one surface