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
The redesigned navigation cut time spent finding and resolving advertiser issues. Ghost Mode gave admins direct access to any account view, no handoffs needed.
*AI images used for illustrative purposes only.
Hulu Ad Manager (now Disney Campaign Manager) launched as a self-serve platform for SMB advertisers. As the business shifted focus to agencies, who brought higher revenue and more complex account structures, we expanded the platform with brand hierarchies, sub-accounts, and permission-based multi-user access.
These features were the right call for advertisers. But the Admin Portal, the tool used by account managers, customer support, and escalation teams, was built as a mirror of the advertiser-facing interface. It organized everything the same way an advertiser would see it: global lists of ad accounts, campaigns, and users across the entire platform.
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:
Support reps were asking advertisers to take screenshots of their own screens and send them over, because there was no way to see what the advertiser was seeing from the admin side. Others had started 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 by most teams — everyone preferred starting at the organization level and filtering down to the specific advertiser. Finding creatives tied to a campaign required multiple navigation 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 own account and need to navigate between your campaigns and your users. But support teams didn't own anything. They needed to investigate a specific advertiser, which meant the primary navigation should be "find advertiser," and everything else should be 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 most significant new feature wasn't about navigation at all. 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 the technical feasibility with product and engineering, we designed Ghost Mode: a feature accessible directly from any advertiser's page that 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 so no unintended changes are made. Admins can also make targeted edits, like adjusting a campaign's targeting, directly from within the ghost session.
This eliminated the need for screenshots entirely and gave account managers the ability to manage clients' accounts hands-on, without any back-and-forth.
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.