0%+
Week-over-week conversion lift
Qualified click-through Maps → Checkout
Checkout drop-off from fee shock
3
Surfaces redesigned end-to-end
01 — Overview

Ticket pricing shouldn't
feel like a plot twist

Ticket pricing in the live events space has historically followed a "drip pricing" model — users see a base price upfront, with fees revealed only later in checkout. While common across the industry, this pattern causes a breakdown in trust at the most critical moment: right before purchase.

At TicketNetwork, this challenge became more urgent with increasing pressure around pricing transparency — including FTC guidelines — alongside a clear business need to improve conversion and reduce drop-off. This project rethought how pricing is surfaced across the entire experience: transforming it from a fragmented, inconsistent flow into a clear, predictable, and trustworthy system.

💡 The core tension: showing people the actual price upfront made stakeholders nervous — especially about perceived value versus competitors still using drip pricing. The challenge was proving that transparency could actually improve conversion, not hurt it.
💸

Sticker shock at checkout

Users engaged confidently at Maps and Ticket List based on the base price shown — then hesitated or abandoned when fees were added and the total jumped unexpectedly at checkout.

🔀

Inconsistent pricing language

Labels like "Estimated Subtotal" and "Price Per Ticket" were used interchangeably across surfaces, creating subtle but compounding confusion about what the actual price was at any given moment.

📉

Drop-off at the worst moment

Consistent funnel data showed a spike in abandonment right after fees were introduced — the highest-intent moment in the entire journey. Users were leaving at the point closest to purchase.

⚖️

Compliance pressure building

FTC guidelines around drip pricing were evolving, creating both a business risk and an opportunity. Solving for transparency proactively meant staying ahead of regulation and ahead of competitors.

02 — Discovery

A pricing issue in disguise —
actually a trust issue

Before designing anything, I wanted to understand why pricing felt broken in the first place. I partnered closely with product to dig into checkout funnel data and drop-off patterns, focusing on where high-intent users were abandoning.

This wasn't just a pricing issue — it was a trust issue. Every inconsistency between what users saw on Maps vs. Ticket List vs. Checkout quietly broke their confidence in the product.

User flow audit: Where trust breaks — before all-in pricing
TicketNetwork pricing journey — before all-in pricing User flow showing where pricing breaks trust across Maps, Ticket List, and Checkout before the all-in pricing redesign. Discovery Seat map Ticket list Checkout Event page Seat map Base price only Ticket list Inconsistent labels Checkout Fees revealed late Price expectation set Label confusion builds Sticker shock → exit Trust breaks silently at every stage A price seen on Maps ≠ price on Ticket List ≠ total at Checkout — each mismatch compounds Friction / inconsistency Critical drop-off User entry point

I went screen by screen across Maps → Ticket List → Checkout, tracing exactly how pricing was displayed, labeled, and transformed at each step. What I found was subtle but powerful: we weren't just inconsistent — we were quietly breaking user expectations over and over again. A price would look one way on Maps, shift slightly in the list view, then get relabeled in checkout. Nothing was technically wrong, but together it created this underlying feeling of wait… am I missing something?

🔍 Key insight: once I mapped every inconsistency across the full journey, the pattern was impossible to unsee. I mapped every label mismatch, pressure-tested the language, and built a clear picture of where the trust break happened — and why.

The existing experience — pricing as a surprise

The mobile checkout flow exposed the core problem clearly. The order summary starts with just the ticket cost visible — then fees and total only appear when the user expands the section, late in the journey.

Mobile viewport scroll: Checkout experience — before all-in pricing
Before all-in pricing — mobile checkout scroll
Scrolling through the existing mobile checkout — fees only visible after expanding "MORE DETAILS", creating the sticker shock moment late in the flow
⚠️ The gap between the "base" price and the real total was only revealed at the most critical moment — right before payment. This is where users abandoned.
03 — Process

Mobile-first, then
scaled to desktop

Instead of treating each page as its own problem, I approached pricing as a connected experience. I mapped the full journey — Discovery → Selection → Checkout — then identified where things broke: where users formed price expectations, where those expectations changed, and where friction caused drop-off.

📱 I designed mobile first. Mobile checkout exposed the problem most acutely — limited screen space forced hard decisions about what information to show by default. Solving for mobile first meant the desktop experience was easier to scale and more intentional.
01
Research
Funnel data + journey audit
Partnered with product to dig into checkout funnel data. Identified a consistent drop-off spike at the moment fees were introduced. Went screen by screen across Maps → Ticket List → Checkout, mapping every label, every price display, and every point of inconsistency.
Funnel analyticsDrop-off mappingCross-surface audit
02
Definition
Reframing: pricing system, not pricing UI
Rather than tweaking visuals on individual pages, I focused on rethinking the system. Worked cross-functionally with product and engineering to map how pricing flowed across all three surfaces — uncovering a mix of inconsistent logic and inconsistent UI that was eroding trust end-to-end.
Systems thinkingXFN alignmentLabel standardisation
03
Design
Mobile-first all-in pricing with progressive disclosure
Designed the all-in pricing experience starting on mobile — where the constraints were hardest. Introduced full price display by default, standardised labels, and collapsible breakdowns via expandable carets. Once the mobile pattern was validated, applied and scaled to desktop. This ensured consistency wasn't just visual — it was structural.
Mobile-firstProgressive disclosureCaret interactionLabel system
04
Validation
Live rollout + conversion tracking
Launched to site owners and tracked week-over-week conversion rate changes. Monitored drop-off at each funnel stage — particularly at the fee introduction moment — and measured click-through quality from Maps to Checkout.
Conversion trackingFunnel analysisLive iteration

How the redesigned system connected the dots

Once the audit was complete and the system approach was defined, I mapped how all-in pricing would flow across all three surfaces — creating a unified experience where price expectations formed on Maps were honoured all the way through to checkout.

Redesigned flow: All-In Pricing — consistent signal Maps → Ticket List → Checkout
TicketNetwork All-In Pricing — redesigned user flow User flow showing how all-in pricing creates a consistent, trust-building journey from Maps through Ticket List to Checkout. Discovery Seat map Ticket list Checkout Event page User intent high Seat map All-in price shown Ticket list Fees included label Checkout No surprise total Price/Ticket label Standardised Caret expand Breakdown on tap Place order ✓ Confident purchase Sticky header Always anchored Consistent price signal → expectation matches reality What users see on Maps = what they pay at Checkout — trust maintained end-to-end
04 — Solution

What you see upfront is accurate.
What's behind it is always clear.

I introduced an All-In Pricing experience that surfaces the true ticket cost — fees included — directly on Maps and Ticket List. Users no longer encounter a price jump at checkout. What they see when browsing is what they pay.

The key design principle: show the real price by default, but give users control over detail. Collapsible breakdowns meant the experience wasn't overwhelming — but clarity was always one tap away.

Mobile-first: All-In collapsed & expanded states

On mobile, I designed two states for the order summary: a clean collapsed view showing the all-in total by default, and a full expanded breakdown accessible with a single caret tap. This gave users immediate clarity without forcing them to process every line item upfront.

Mobile solution: All-In pricing — collapsed and expanded states
All-In pricing — fees hidden, collapsed state
Collapsed state: Order summary shows ticket price upfront. "MORE DETAILS" caret invites users to expand — but the key info is already visible.
Sticky header with all-in price
Expanded state: One tap reveals the full breakdown — Subtotal, Service Fee, Delivery, and Taxes — complete transparency with a clear Total at the bottom.

Where transparency actually starts — the Maps list

As the design process unfolded, a key insight emerged: the real entry point for pricing transparency isn't checkout — it's the Maps ticket list. That's where users form their price expectations. So I extended the all-in system upstream and added "Fees Included" copy directly to each ticket item in the Maps view. Users now see fee-inclusive pricing the moment they start browsing sections — before they've even selected a ticket.

💡 The unlock: if pricing transparency starts at the point of discovery, there's no expectation gap left to close by checkout. The whole downstream experience gets easier when the first number users see is the real one.
Maps ticket list: "Fees Included" copy added to each listing — transparency at discovery
Maps ticket list with Fees Included copy on each item
Every ticket listing now carries "Fees Included" — users know exactly what they're paying from the first thing they see

Key design decisions

All-in price displayed by default

Total cost — fees included — is shown on Maps and Ticket List. Users form accurate price expectations before entering checkout, eliminating the fee-shock moment entirely.

Standardised labels across surfaces

"Price Per Ticket" and "Subtotal" were standardised and used consistently across Maps, Ticket List, and Checkout — eliminating the subtle confusion caused by label drift.

Collapsible breakdown via caret

Users who want the full breakdown can access it with a single tap. The default state is clean and clear; the detail layer is always available but never mandatory — giving users control without cognitive overhead.

Sticky header with pricing context

As users scroll through checkout, a sticky header maintains pricing visibility — so users never lose track of what they're paying, no matter where they are in the form.

05 — Results

Honesty didn't tank revenue —
it actually helped

By introducing all-in pricing earlier in the funnel, we reduced checkout drop-off caused by fee shock and made the experience feel significantly less "gotcha." Users had a clearer understanding of what they were paying, which led to stronger trust and more confident purchase decisions.

2%+
Week-over-week lift in conversion rate post-launch for site owners.
Proving transparency drives performance
More qualified click-through from Maps to Checkout — users entering the funnel were better primed to convert.
Checkout abandonment at the fee introduction moment — the highest-value drop-off point in the funnel.
Biggest improvement at fee reveal stage
📊 The result validated the hypothesis: if pricing feels consistent and predictable, users feel confident — and confident users convert. Transparency wasn't a risk. It was the unlock.

Beyond conversion

Established

Scalable pricing patterns

Built reusable, documented pricing components aligned with federal compliance standards — giving the team a foundation to adapt quickly as FTC regulations continue to evolve.

Improved

Stakeholder confidence

Post-launch data quieted the internal concern that all-in pricing would hurt perceived value. The lift in conversion rate was the proof point that changed the conversation.

Delivered

Consistent system across 3 surfaces

Maps, Ticket List, and Checkout now speak the same pricing language — same labels, same logic, same transparency. A system built to scale.

Validated

Mobile-first as a design method

Starting with mobile constraints led to cleaner decisions that scaled elegantly to desktop — proving mobile-first isn't just a responsive strategy, it's a clarity strategy.

06 — Takeaways

What I'd carry
into every project

Treat pricing as a system, not a screen
Fixing checkout alone wouldn't have solved the trust problem — because the expectation break started on Maps. The only way to fix trust was to fix the whole journey. Pricing is a system, and systems require end-to-end thinking.
Mobile-first sharpens decisions
Starting on mobile forced the hardest tradeoffs first. What information truly needs to be visible by default? What can live behind a tap? Those constraints produced cleaner, more intentional patterns — and scaling to desktop was straightforward because the logic was already solid.
Transparency is a conversion strategy
The internal concern was that showing the full price early would scare users off. The data proved the opposite. Users who understand what they're paying are users who complete the purchase. Honesty, it turns out, is good UX — and good business.