Support and account teams were navigating a portal that wasn't built for their workflows. Finding and resolving advertiser issues took far longer than it should.
I redesigned the Admin Portal's information architecture and introduced Ghost Mode, giving teams direct account access without handoffs.
Enterprise Internal Tool
6 months
Sole Product Designer
3 PMs
Dozens of Internal/External Devs
Ad Ops Teams
Technical Writer
Hulu Ad Manager (now Disney Campaign Manager) launched as a self-serve ad platform for SMB advertisers. As the business shifted focus to agencies, we expanded with brand hierarchies, sub-accounts, and multi-user access — the right call for advertisers. But the Admin Portal, used by account managers and support teams, was built as a direct mirror of the advertiser-facing interface. It organized everything by entity type — accounts, campaigns, users — exactly backwards from how support teams worked.
That mismatch became a real operational problem as the platform scaled and support volume grew.
Support's mental model was completely different from an advertiser's. When a call came in, they needed to find that specific advertiser, then understand everything about their account. The side navigation organized everything by entity type — accounts, campaigns, users — which was exactly backwards for how support worked.
The navigation also had unpredictable behaviors: certain links would redirect to new pages and unexpectedly open side panels, disrupting the flow mid-investigation.
I audited the portal and interviewed account managers, customer support, and escalation teams to understand how they actually worked. Two moments stood out as the clearest signal of how broken the experience was:
Asking advertisers to take screenshots of their own screens and send them over — because there was no way to see the advertiser's view from the admin side.
Creating dummy advertiser accounts just to recreate issues and understand what was happening. These were workarounds, not edge cases.
Beyond that: global "Ad Accounts" and "Campaigns" views were considered useless — everyone preferred starting at the organization level and filtering down to a specific advertiser. Finding creatives tied to a campaign required multiple steps with no clear path. And nearly everyone who had used the previous admin layout said they preferred it.
The core structural problem was that the side nav organized content by entity type — a model that works when you own your account and navigate between your campaigns and users. But support teams didn't own anything. They needed to investigate a specific advertiser, which meant the primary nav should be "find advertiser" — everything else nested under that context.
The old admin portal had this right: start with an advertiser, then tab through their campaigns, users, and creatives. The new portal had thrown out that model in favor of consistency with the advertiser-facing interface. My job was to bring it back, updated for the features that now existed.
Users had a long list of requests — campaign budgets, performance pacing, audit logs, column customization. I mapped what was critical for launch vs. what could be accommodated later, and designed the tab structure to be extensible so new views could be added without restructuring the whole navigation.
The screenshot workaround revealed a deeper problem: support teams had no way to see what an advertiser was actually seeing. Every troubleshooting conversation happened at one remove.
After scoping feasibility with product and engineering, we designed Ghost Mode: accessible directly from any advertiser's page, it lets an admin step into that advertiser's exact account view — same campaigns, same settings, same UI state — but clearly marked as a ghost session to prevent accidental changes. Admins can also make targeted edits directly from within the session, eliminating the need for screenshots entirely.
Once I had a working prototype, I ran it through multiple rounds of feedback with admin users. The response to the overall direction was positive — the tab-based structure immediately felt more familiar and less disorienting than the current layout. The detailed feedback surfaced four main requests:
Column visibility made the launch cut because it directly resolved a genuine conflict: different teams cared about completely different columns, and any single default would have been wrong for someone. Giving users control meant I didn't have to pick a winner.
The Audit Log was deprioritized for launch — not because it wasn't valuable, but because it required backend infrastructure that wasn't scoped into the release. I documented it clearly as a post-launch priority so it wouldn't get lost, and it was picked up in a subsequent cycle.
The Admin Portal launched in early 2023. Escalation tickets dropped 28% in the months following launch — a direct result of support teams being able to investigate and resolve issues faster, without needing to escalate to get eyes on an advertiser's account. Ghost Mode enabled white glove account managers to work entirely within the platform, eliminating reliance on third-party tools.
The platform has since rebranded to Disney Campaign Manager. Features have been added, the visual design has evolved — but the tab-based navigation structure I designed remains the foundation.
The most valuable thing I did on this project was treat the workarounds as the real brief. Asking for screenshots and building dummy accounts weren't just inconveniences — they were signals that the tool had a fundamental gap between what it offered and what the job actually required. Ghost Mode came directly from taking those workarounds seriously.
If I were to revisit this, I'd invest more in the scalability of the tab structure. The current design handles the present feature set well, but as the portal grows, tab navigation has a ceiling. A future iteration might explore a dashboard-first model that surfaces the most critical information upfront, with navigation as a secondary layer rather than the primary one.