Since 1997, BL Lacertae has undergone a phase of high optical activity, with the occurrence of several prominent outbursts. Starting from 1999, the Whole Earth Blazar Telescope (WEBT) consortium has organized various multifrequency campaigns on this blazar, collecting tens of thousands of data points. One of the main issues in the analysis of this huge dataset has been the study of colour variability. The massive amount of optical and near-infrared data collected during the campaigns enables us to perform a deep analysis of multiband data, with the aim of understanding the flux variability mechanisms. We use a new approach for the analysis of these data, focusing on the source spectral evolution. We show that the overall behaviour of the BL Lacertae light and colour curves can be explained in terms of changing viewing angle of a moving, discrete emitting region, which causes variable Doppler boosting of the corresponding radiation. A fractal helical structure is suggested to be at the origin of the different time scales of variability.