Addressing Hidden Imperfections in Online Experimentation