Enterprise · Growth · End-to-End · A/B Test

Justification on the license request flow

+14.5% improvement in 7-day license approval rate — by giving admins the context to act.

Project Overview

With the macro economy shifting in 2022, we'd spent months identifying and resolving frictions across the admin licensing and purchasing flows. License grants improved — but a large pool of pending requests still sat unactioned. The flow wasn't the problem anymore. The question was: why weren't admins acting?

By giving end users a voice in the process, we helped admins feel more confident and make more informed decisions when approving or denying license requests.

Timeline

January 2023 – May 2023

Justification appears directly in the license request, giving admins the context to decide.

My Role & Contribution

Lead and sole UX designer

  • Owned the end-to-end experience across both user types: the end-user request flow and the admin review experience
  • Led the project from ideation through release — research, iterative design, and defining success metrics

Teams & Collaborators

  • Enterprise scrum team: 1 PM, 5 engineers, 1 QA
  • Engagement & Virality team — aligned on changes to the request flow (a flow they owned) and coordinated on A/B testing
  • Analytics team — co-defined what to track and designed the measurement plan

Problem Space

Unlike tools like Google Workspace or Slack — where everyone gets access by default — Lucid is project-based. Licenses are requested based on actual need, which means admins are actively reviewing and deciding on every request.

But requests arrived with only basic information: a user's name, email, request date, frequency, and license type. That's enough to see who is asking — but not why. Admins had no way to evaluate urgency or legitimacy without leaving the product to investigate on their own. The gap wasn't in the flow. It was in the information.

Existing pending license requests page (Admin view)

Research

We spoke with 10 admin users and 6 end users to understand both sides of the request flow. The findings converged on the same gap.

What we learned from admin interviews

  • (10 of 10) Admins only approve when there's a valid use case — business need is the primary signal, especially for users from departments that aren't pre-approved
  • (9 of 10) Attaching a user justification to the request would be helpful and time-saving — many were already collecting this context manually through forms, emails, or Slack
  • (7 of 10) Admins want to guide what information users provide — pre-defined options were preferred over a free text box, which felt too vague
Admin interview synthesis: notes and key themes

What we learned from end user calls

We spoke with 6 end users to gauge their willingness to add a note alongside their license request and understand what information they'd naturally share.

  • (4 of 6) If they genuinely need a license, they're motivated to make a case for it — explaining what they're working on and why they need access
  • (4 of 6) End users prefer to trial the product before committing to a request — they want to validate their own need first
End-user interview synthesis: notes and key themes

Both sides wanted the same thing: a way to connect the reason behind the request to the moment of decision.

Process snapshots

Brainstorming solution directions and prioritizing by feasibility and expected impact
Aligning with the Engagement & Virality team — scoping changes without disrupting key business metrics

Key Design Decisions

This solution touches two sides of the same flow: the end user submitting a request, and the admin reviewing it. The design decisions below focus on the end-user side — how we captured justifications without hurting request volume or adding unnecessary friction.

Existing end-user license request experience

Key decision #1: Placement — the confirmaiton step, not the request modal

License request volume is a metric we actively protect — it's a direct input to growth. Placing the justification field in the request modal risked suppressing that number and muddying our ability to measure impact.

V1
We aligned with the Engagement & Virality team — who owned the request modal — and placed the field in the confirmation step instead. This kept the request flow untouched and gave us a clean baseline to isolate the justification's effect on approval rates.

The approach was a deliberate de-risk: start where we can learn safely, let the data build the case.

V1 — placed justification field in the confirmation step

V2
After seeing that requests with justifications had a significantly higher approval rate, we ran a follow-up A/B test moving the field into the request modal — surfacing it earlier in the flow. It didn't hurt overall request volume, confirming the concept was strong enough to survive more friction and validating the move to a more prominent placement.

V2 — moved the justification field into the license request step

Key decision #2: Optional, not required

End users can only trial Lucid after requesting a license. A required field here would gate the exact moment we want users to get started. We kept it optional — capturing context from motivated users without adding friction for everyone else.

This also enabled a follow-on capability: letting users add or edit their justification while a request is still pending, or when re-requesting.

Key decision #3: Free text over pre-defined options

Admins preferred structured options in research. But for V1, free text let us ship faster and learn first. Admins could already add custom instructions guiding what requesters should include — enough structure without over-building. Pre-defined options stayed on the table for future iteration.

Solution

Once justifications were flowing in, the next question was: where do admins actually need to see them?

The design principle was straightforward: put the justification wherever the decision is happening. Admins review requests in different contexts — inside the product and in their inbox — so the justification needed to show up across all of them, not just one.

In product

User justification was surfaced across the user table, user details panel, and pending requests page — anywhere an admin might be evaluating a request.

In email notifications

User justification was included directly in the email body so admins could act without even opening Lucid admin panel.

In product education

We also added a lightweight in-product education moment to let existing admins know the feature was available and how to configure it.

Impact

Quantitative metrics

Eligible accounts = those that manage license requests directly within the Lucid admin panel. Accounts that redirect end users to external service desks (such as ServiceNow, Jira, or other ticketing systems) were out of scope for this feature.
This data informed a follow-up A/B test: moving the justification field from the confirmation step into the request modal itself, surfacing it earlier in the flow. The test won — overall request volume was unaffected, validating the move to a more prominent placement.

What we learned

When admins had context, they acted — and faster. The approval rate lift confirmed that the blocker wasn't admin intent. It was the information gap.
This project shifted how the team thought about the request funnel. We'd been focused on volume — getting more requests into the pipeline. But the data showed that quality was just as important as quantity, and sometimes quality is the bottleneck. A request with context moved faster than ten without it.

View other projects