The reality of three-point structure constants in unitary CFT is a crucial ingredient of the numerical bootstrap in more than two dimensions. But what are the precise meaning and the proof of this property? Surely not all operators can have real three-point structure constants, since rescaling an operator by a complex scalar destroys this property. And the proof is not necessarily obvious, because the definition of unitarity as the existence of a positive definite scalar product is not directly related to three-point structure constants.
Fortunately I have received some explanations on these questions from Slava Rychkov. So here is what I understood from his arguments on unitary CFT, plus speculations of my own on non-unitary CFT.