Drip pricing rules UK: what they require in 2026
The drip pricing rules UK businesses must follow require consumer-facing prices to include unavoidable fees, taxes and charges from the first point at which the product and its price appear. Since 6 April 2025, a mandatory charge cannot be held back until the basket or checkout.
Booking, service and delivery fees remain possible. The problem arises when a customer must pay a charge, yet the website advertises a lower price, reveals the charge later or expects the customer to add separate components together.
The CMA’s final price-transparency summary says hidden unavoidable charges are illegal, mandatory components normally belong in the total and a flat per-transaction fee belongs in an advertised “from” price. This checklist applies that CMA209 guidance to the pages and systems that publish prices.
That means checking paid adverts, organic search results, marketplace listings, category grids, product pages, booking calendars, baskets, checkout and payment screens. Mobile apps, merchant feeds and structured data count too. A checkout disclaimer cannot repair a misleading price already shown elsewhere.
The enforcement powers are substantial without needing exaggerated warnings. The CMA can impose a fine of up to 10% of global turnover or £300,000, whichever is greater.
Use this four-question test for every fee
Take each delivery, booking, service, administration or setup charge through the same decision tree:
- Must the customer pay it? If every valid purchase includes the charge, treat it as unavoidable.
- Can the customer choose a usable alternative? A theoretical option that is unavailable to most customers is weak evidence that the fee is optional.
- Can the amount be calculated now? Use the information already known, including quantity, selected service and delivery details.
- Where does the associated price first appear? Start there, rather than waiting for the basket.
If everybody must pay the fee and its amount is known, include it in the displayed total. Small print such as “fees apply” does not tell the customer what they will pay.
If the total cannot reasonably be calculated yet, show the calculation information as prominently as the known price component. The CMA guidance also describes prominent delivery-fee information and a continuously updated basket total as a potentially compliant retail approach. The implementation should update as soon as the missing input becomes available.
An elective premium delivery service can remain separate where a free or cheaper practical option exists. Test the real journey. An unavailable collection point or delivery method unsuitable for the goods does not provide a meaningful choice.
VAT needs its own check. Where VAT is due, consumer adverts, catalogues and price lists should normally show VAT-inclusive prices. Adding VAT after a consumer has selected the product produces the same practical problem as adding another mandatory charge late.
Audit every price from the advert to the payment page
Record every place a customer or third-party system can obtain a price. Then compare the incomplete treatment with the total-price treatment you need.
| Stage | Incomplete treatment | Better treatment |
|---|---|---|
| Paid adverts and product feeds | “Product from [item price]” with a mandatory fee omitted | Publish the minimum payable total, including calculable mandatory charges |
| Organic search results | Search snippet shows the item-only price | Align page metadata and structured data with the visible total |
| Marketplace and affiliate listings | Partner receives a lower base price | Send the same total and fee rules used by the website |
| Category or search-results page | Card displays the base price and hides fees on the detail page | Show the total price or equally prominent calculation information on every card |
| Product or service page | Headline price followed by “fees apply” | Display the payable total beside the main purchase action |
| Basket and cart drawer | Item subtotal shown prominently, mandatory delivery added below | Show a delivery-inclusive total and recalculate it after each change |
| Checkout and payment | Fee first appears after the customer enters their details | Carry forward the total already disclosed and itemise it consistently |
| Confirmation page and email | Final amount is the first clear total | Confirm the same amount presented before payment |
Correcting the basket only fixes the basket. A lower price in an advert has already framed the customer’s decision, while a category card can make one product look cheaper than another for the wrong reason.
Machine-generated prices are easy to miss. Audit JSON-LD structured data, merchant feeds, affiliate exports, app APIs, social catalogue integrations and cached search cards. They should consume the same pricing rules as the visible page rather than maintaining a separate base-price field.
Also test direct links. A campaign landing page or old product URL may bypass the category page where somebody added the new fee wording.
How to display booking fees, service fees and “from” prices
Suppose the lowest booking costs £40 and every transaction carries a flat £3 booking fee. The advertised “from” price should be £43. “£40 plus £3 booking fee” still asks the customer to assemble a mandatory total and gives the lower figure greater prominence.
The implementation depends on how the fee works:
| Fee model | Pricing treatment |
|---|---|
| Fixed fee per person | Include it in each per-person price and update the booking total when attendee numbers change |
| Fixed fee per booking | Include it in the minimum “from” total, then apply it once as the booking changes |
| Percentage service fee | Calculate it when the priced selection is known and update it whenever the underlying amount changes |
Calendars and availability results frequently create the first price impression. They need the same rules as the final form. Test appointment cards, room results, ticket selectors, add-on modals and embedded booking widgets.
For multiple tickets or appointments, recalculate when the customer changes quantities, attendees, dates or services. Waiting for checkout leaves an earlier displayed total incomplete.
Recurring pricing needs a clear separation between the payment interval and unavoidable initial charges. Show the monthly charge with the minimum term where relevant. If a setup or administration charge is mandatory and calculable, include it in the initial amount rather than introducing it after sign-up begins.
How to handle flat, variable and optional delivery charges
A flat per-order delivery charge may be unknown at an individual product level because the customer has not built an order yet. Display the delivery rule prominently beside the product price, then maintain a continuously updated delivery-inclusive total once the basket exists.
For a free-delivery threshold, show the current total including the applicable delivery charge. You can also state how much more the customer must spend to qualify. Do not label the order as having free delivery before it reaches the threshold.
Postcode, weight and location-based charges require earlier data collection. Ask for the postcode or destination when it becomes relevant, calculate the charge and update the total immediately. “Calculated at checkout” is poor treatment when the website could request the information sooner.
Click-and-collect can make home delivery optional where collection is free, practical and available for that order. Test stock location, opening arrangements and product eligibility before relying on it as the no-charge alternative.
Delivery logic must also respond to changes in quantity, stock location, fulfilment method, discount eligibility and promotional thresholds. Multi-item baskets can move between delivery bands, so a total calculated once and stored in the browser will become stale.
Fixing the implementation in Shopify, WooCommerce or a custom build
Changing checkout text is rarely enough. Themes, plugins, scripts and connected channels may continue publishing the lower price.
For Shopify and WooCommerce, inspect:
- Theme price components and collection grids
- Product templates and quick-view modals
- Cart drawers and basket pages
- Tax and delivery settings
- Discount, subscription and bundle logic
- Delivery extensions and booking plugins
- Merchant feeds and connected sales channels
Configuration varies with the store and its pricing model. Test the generated output rather than assuming a platform setting has updated every surface.
Booking platforms need the same treatment across calendars, availability results, add-ons, confirmation modals, embedded widgets and payment redirects. Third-party widgets can introduce their own cached prices or calculation rules.
For custom systems, we normally centralise price calculation on the server. The pricing service should accept the customer’s current selections and return an itemised total through the API. The website, app, structured data generator and feeds can then use the same result.
Our custom web development work handles these changes at the pricing-model level, using senior developers rather than page-builder workarounds. Where the problem also concerns visual hierarchy, our web design work covers how totals, variable charges and customer choices are presented clearly across screen sizes.
Run a release test before changing live prices
Build a test matrix covering every product type, fee type, device size, acquisition channel and customer choice that can change the total. Include direct URLs, paid landing pages, merchant feeds, cached category cards, cart drawers, checkout and mobile apps.
For each test, record:
- The first place the price appears
- The unavoidable charges known at that point
- Information still required to calculate variable charges
- The total shown after each customer choice
- The amount submitted to the payment provider
- The amount shown after a failed-payment retry
- The amount in the confirmation page and email
Keep this focused pricing review alongside your broader website legal-requirements review. Specialist legal advice is sensible for unusual, disputed or sector-specific charging models. Our free website audit can provide a baseline check for UX and trust issues, but legal pricing compliance still needs a manual journey review.
Do not release until every route to purchase derives its price from the same documented rules and exposes unavoidable charges at the earliest calculable point.
If you need senior developers to trace and fix pricing across your site, feeds and checkout, tell us how your charging model works.