We conduct an empirical analysis of consumer preferences and search costs on an Internet platform. Using data from a major French platform (PriceMinister), we show descriptive evidence of substantial price dispersion among adverts for the same product, of consumers often not choosing the cheapest advert and sometimes choosing an advert dominated in price and non-price characteristics by another available advert. We consider a sequential search model where consumers sample adverts in an endogenous order based on their preferences and search costs. We show that the optimal search-and-purchase strategy can be characterised by a set of inequalities which can feasibly be tested on transaction and advert data. This allows us to estimate, for each transaction, a set of preference and search cost parameter values, thus allowing for flexible consumer heterogeneity in preferences and search costs. The estimated model can then describe a wide range of consumer search and purchase behaviours. We find that the model can explain almost all transactions in the data and requires non-zero preferences and search costs for at least 50% and 22% (respectively) of observations. We also find evidence of heterogeneous and sometimes substantial search costs.