This article is general information, not legal advice β rules differ by country and change over time. If you're unsure, ask a lawyer familiar with your market.
The first question every store owner asks about price testing is some version of: "Am I allowed to charge two people different prices?" It's a fair question β and the answer, for the way A/B price testing actually works, is reassuring.
Price testing vs. price discrimination
The distinction that matters is what the price is based on:
- Price testing assigns prices to anonymous, random visitors to learn which price performs better. Nobody is targeted because of who they are; a random id decides. This is a standard commercial practice β retailers, airlines, and virtually every large e-commerce company do it routinely, and charging different prices to different customers is, in general, a lawful exercise of pricing freedom.
- Discriminatory pricing sets prices based on who the customer is β nationality, residence, gender, or other protected characteristics. This is where laws kick in. In the EU, for example, the Geo-blocking Regulation forbids different treatment based on the customer's nationality or location within the single market, and consumer-protection rules apply broadly.
A/B price testing done properly sits firmly in the first category: the assignment is random, temporary, and analyzed in aggregate.
The rules worth knowing
- Personalised-pricing disclosure (EU). Since the 2022 "Omnibus" consumer-rights update, EU sellers must inform consumers when a price has been personalised based on automated decision-making β i.e., tailored to that individual from their data. Randomized A/B testing is generally understood to be a different thing from personalisation to an individual, but if you operate in the EU this is the rule to review with counsel, and a transparency line in your terms costs nothing.
- Advertised prices must be honest. If you advertise "β¬49" in an ad or email, the shopper who clicks it should find β¬49. Run price tests on organic traffic, or make sure ad campaigns land on their advertised price.
- "Was" prices and reference pricing. Many countries regulate crossed-out reference prices (the EU requires showing the lowest price from the prior 30 days when announcing reductions). A price test isn't a "sale" β don't dress it as one.
- The price shown must be the price charged. Beyond trust, showing one price and charging another can breach consumer-protection law outright. This is the technical reason price tests must run server-side through your store's own pricing system β never as a cosmetic JavaScript overlay. (It's exactly how ProveLift implements them.)
Best practices that keep you comfortably safe
- Randomize, don't target. Never assign prices from personal data, location, or purchase history.
- Keep prices sticky. A visitor should see the same price on every visit and device session β flip-flopping prices is what generates complaints.
- Keep the test short and purposeful. Run until statistically resolved, pick the winner, and give everyone the same price again.
- Honor the shown price, always β including in cart recovery emails generated during the test.
- Add a transparency note to your terms ("we periodically test different prices") if you want belt-and-braces comfort, especially in the EU.
The bottom line
Randomized price testing on anonymous traffic is a normal, defensible business practice when the shown price is honestly charged and no one is targeted for who they are. The companies you compete with are almost certainly doing it. Done server-side, with sticky assignment and revenue-per-visitor statistics, it's also the single most profitable experiment most stores will ever run.
Ready to find your real price? Read the WooCommerce how-to or start a free ProveLift account.