Individual HTML example · Sneaking

Mandatory service fee revealed after payment details

A fictional booking site shows a €40 ticket through search and selection but adds a compulsory €9 service fee only after card details are entered.

Drip pricing and hidden chargesTicket bookingCheckout

This is an original fictional comparison. It depicts no real company and is not a legal finding or safe harbour.

Ticket bookingCheckout

Mandatory service fee revealed after payment details

A fictional booking site shows a €40 ticket through search and selection but adds a compulsory €9 service fee only after card details are entered.

Potentially problematicTicket · €40

Ticket · €40. A mandatory €9 service fee appears only after card entry.. Continue to payment. Pay €49

Neutral alternativeTicket total · €49

Ticket total · €49. The €40 base amount and €9 compulsory service fee appear together.. Amount affected: €49: Pay €49. Pay €49. Continue to payment. Payable total and selected items, expanded: The summary shows the line items and total before “Pay €49” is activated.

Why the first version can mislead: The final commercial state diverges from the choice represented earlier in the journey. The problematic state records: “A mandatory €9 service fee appears only after card entry.” Review the timing and affirmative selection needed before “Continue to payment” changes price, product or recurring liability. Late disclosure can make the offer appear cheaper and exploit effort already invested in checkout.

What a fairer design does: Show the foreseeable payable total and compulsory fee near the first material price and preserve it throughout the journey.

Show annotated differences (2)
Potentially problematic version
  • Pay €49In “Mandatory service fee revealed after payment details”, this element shows how hidden costs or drip pricing can shape the decision.
Neutral alternative
  • Payable total and selected items, expanded: The summary shows the line items and total before “Pay €49” is activated.In “Mandatory service fee revealed after payment details”, this element keeps the clearer alternative visible at the same decision point.
Review questions (3)
  • Which affirmative action authorises “Continue to payment”, and where is the resulting price, product or recurring state shown before commitment?
  • Compare the basket before and after the action, including total and line items; does the mutation satisfy “A price is displayed before a later charge becomes visible”?
  • Which specific affirmative event creates the final commercial state, and could “Optional add-on deliberately selected” explain the observed outcome instead?
Side-by-side ticket booking interface showing “Ticket · €40” and the clearer alternative “Ticket total · €49”.Provenance: Original hypothetical ticket booking example created for this library; no real business, product or interface is depicted.

Complete pattern context

How this example relates to Drip pricing and hidden charges

A mandatory or foreseeable charge is omitted, obscured or revealed only after the user has invested effort in the transaction. The label describes a recurring design mechanism; whether a particular implementation is harmful or unlawful depends on the complete journey, audience, evidence and rules within scope.

The full guide explains inclusion and exclusion criteria, harms, fair design principles, evidence questions and the relevant EU legal information layers. The example page isolates one scenario so it can be shared and discussed without reproducing the complete library on one page.

Continue comparing

Drip pricing and hidden charges

Resort fee appears after room selection

Accommodation bookingPricing

A fictional hotel result advertises €120 per night while a compulsory €28 nightly facility fee appears only in the final booking summary.

Open this example

Bait and switch

Download control opens an unrelated installer

Account document downloadAccount Management

A fictional account page labels a prominent control “Download document”, but it launches an optional browser-extension installer instead.

Open this example

Bait and switch

Selected basic fare changes at confirmation

Travel bookingCheckout

A fictional booking flow records a basic fare selection but the final action purchases a premium flexible fare without a new price-and-product confirmation.

Open this example
Sources and provenance for this example

Evidence base

Sources

  1. Dark commercial patternsOrganisation for Economic Co-operation and Development · Secondary · checked 2026-09-14 · OECD Digital Economy Papers No. 336
  2. Unfair Commercial Practices DirectiveEuropean Parliament and Council of the European Union · Primary · checked 2026-08-09 · Directive 2005/29/EC; CELEX 02005L0029-20220528
  3. Consumer Rights DirectiveEuropean Parliament and Council of the European Union · Primary · checked 2026-08-09 · Directive 2011/83/EU; CELEX 02011L0083-20220528
  4. Digital Fairness Act: call for evidence for an impact assessmentEuropean Commission · Primary · checked 2026-08-09 · Initiative 14622; Ares(2025)6275573