Regulated consumer marketplace
TL;DR
TicketNetwork is one of the largest ticket marketplaces in the US. Fans arrive with intent, compare a handful of listings, and commit several hundred dollars in minutes. The number they see is the single strongest predictor of whether they buy or leave.
In 2024 the FTC finalized its all-in pricing rule, ending the low-headline, fees-at-checkout pattern the entire category was built on. State laws added their own disclosure requirements on top. Every ticketing marketplace had to change how it presented price, on a fixed deadline, or face penalties and lost trust.
The obvious response was to comply and move on. I made a different call: honest pricing, designed well, is a conversion advantage, not a tax on it. This work turned a regulatory obligation into a measurable business win.
Under drip pricing, a fan chose a listing on its headline price, then met a higher total at checkout once fees appeared. That gap is where trust and revenue leaked.
The damage concentrated at the worst possible moment: the fee reveal, seconds before purchase, when intent is highest and a lost sale is most expensive. Abandonment there is not a soft metric. It is margin walking out at the bottom of the funnel.
Both paths carry the same confidence through browse, compare, and select. Drip pricing spends it all in one place, the checkout fee reveal, exactly where a lost sale costs the most. All-in pricing never asks the buyer to re-decide.
On a marketplace the problem compounds. Buyers comparison-shop on price, so an artificially low headline wins the click and loses the sale, then erodes the trust that brings people back.
Drip pricing front-loads a number the buyer cannot rely on. It is engineered to win the comparison and recover margin after commitment. That works until the buyer notices, and at checkout they always notice.
The old mobile checkout opened its summary with only the ticket cost visible. The real total appeared only after expanding a section, deep into the flow. Decision-relevant information arrived after the decision.
This was never a screen redesign. Four constraints defined the solution space, and any one of them could break a naive fix.
FTC all-in rules require the total price to lead. No low headline, no fees discovered later. The mandate was non-negotiable and dated.
States differed on what counts as an included fee and how it must be disclosed. A hardcoded rule breaks the day a state changes its.
Price appeared on listings, ticket details, and checkout, each built separately. Every surface was a chance to drift out of sync and out of compliance.
Fees were computed across different layers. The total had to be derived once and read everywhere, not recalculated per screen.
Three ideas shaped the approach.
Treat the mandate as a trust opportunity. A business accustomed to low headline prices assumed transparency would cost conversion. I bet the opposite: remove the flinch and more qualified buyers reach checkout.
Build one pricing system, not three compliant screens. A single all-in total, computed once and read by every surface, makes trust and compliance structural instead of something to re-enforce screen by screen.
Make regulation a configuration. Jurisdiction rules live in config, so a legal change is a settings change, not a redesign. That is what lets the system scale as the rules keep moving.
I did not want to win this on opinion, so I ran it as an experiment: the shipped all-in pattern (variant) against the old drip flow (control). Toggle between them.
The listing is where buyers compare and commit, so the number they compare has to be the number they pay. I rejected the softer option, a low price with a "+ fees" label, because that is still drip, still a flinch. The tradeoff is real: our listings can look pricier next to competitors still hiding fees. I bet a price buyers can trust converts better than one they cannot.
Between the listing and checkout, a confirmation sheet restates the all-in price and its composition. It qualifies intent early and cheaply, moving the "is this the real price" question upstream, where doubt is far less expensive to resolve. The total leads; the fee breakdown sits one tap away.
Checkout keeps the total as the default and the breakdown on demand. Full transparency, zero clutter. It serves the fan who just wants the number and the one who wants to audit every fee, without making either pay for the other.
The same number carries from listing to ticket details to checkout. There is no moment where the price changes, because there is only one price. Consistency is the trust mechanism, and it doubles as the compliance guarantee.
Because disclosure rules changed from state to state, I built the pricing mockups and prototypes to match each jurisdiction's requirements and walked Legal through them one state at a time, confirming the real experience held up before any of it was built. Design carried the compliance surface, so Legal could sign off on what buyers would actually see rather than a description of it.
Before, each surface computed and displayed price on its own. That is how a marketplace ends up with a listing that says one thing and a checkout that says another. The real change was less about new screens and more about collapsing three independent displays into one system reading a single total.
Derive the total once, read it everywhere. Trust and compliance become structural instead of re-enforced screen by screen.
The same computed total, surfaced consistently across every surface a buyer touches.
What you saw is what you pay. It is the clearest trust signal an interface can send, and once the number stops moving, the whole flow feels safe to finish.
I built the pattern as a working prototype that follows a real purchase: browse the listing, select a ticket, and confirm the all-in price before checkout. The number the buyer compares is the number they confirm, with fees already inside it.
Transparency here is not a disclosure buried in fine print. It is the headline, restated at every step, so trust accumulates instead of eroding.
The prototype was never just a demo. Walking the entire purchase proved the all-in number held end to end, which earned the idea the right to be built for real.
Shipping it meant getting design, engineering, and legal to hold a single line together, then letting the numbers decide. Here is how the bet went from a clickable flow to a live experiment.
The hypothesis
A higher but honest price shown up front beats a low price that jumps at checkout. If transparency builds trust, the bigger number seen early should cut fee shock and lift conversion, not scare people off.
The bet held. Showing the higher, honest number did not cost sales. It won them.
More qualified buyers reached checkout, and fewer flinched once they arrived. The counterintuitive headline: prices looked higher and conversion went up. Removing the surprise mattered more than the size of the number.
Honest pricing was not the cost of compliance. It was the reason conversion rose.
Fee-inclusive pricing should reach the surfaces before the listing: search, category pages, and marketing landing pages, so the honest number is the first number a fan ever sees.
I would track how often buyers expand the fee breakdown and where, so the detail earns its space with evidence rather than assumption, and confidence can be measured, not inferred.
Push the config further so Legal and Compliance can adjust rules directly. Design should not sit in the loop for every regulatory change; the system should absorb it.
The deliverable was not a set of screens. It was a system, and a reframe: compliance became the reason to earn trust, and trust became the reason conversion rose.