A question about defining a classical CFT This is kind of related to this,
Defining a CFT using beta-functions
So what would be the right definition of a CFT even classically? 


*

*Is it true that classically one will call a theory scale invariant only if the action is invariant under scale transformations? (and not by the Lagrangian density) 


For example under the scale transformations $x' = \lambda x$, in $3+1$ the scalar field goes as $\phi'(x') = \lambda \phi(x)$ and in $1+1$ it goes as $\phi'(x') = \phi (x)$. This means that in $3+1$ the action of the massless scalar field is not scale invariant but in $1+1$ it is but the Lagrangian density goes the otherway. But from the point of view of beta-functions isn't it more consistent to call the $1+1$ theory as a CFT but not the one in $3+1$? 
Isn't a massless scalar field theory in $3+1$ guaranteed to produce mass by RG flow whereas the $1+1$ theory will not?  
 A: A classical field theory is said to be conformally invariant iff the action is left invariant under the action of the conformal transformations (as usual when we define a symmetry of a theory).
The action for the free massless scalar field is invariant under scale transformations in any dimensions because the (classical) scaling dimension for the scalar field is taken to be $(d-2)/2$.
In the interacting case (but still classical), it is enough for the couplings to be dimensionless to ensure scale invariance. So for exemple in four dimensions, you can have only $\phi^4$ interactions. In any cases, a mass term will always break scale invariance.
For the quantum aspects, it is good to keep in mind that generically, a classical interacting conformal theory will not remains conformal after quantization (in particular, this is true also in two dimensions, answering  one of your questions). Typically, to define the quantum theory one need to introduce a UV-cutoff, and this will generically trigger some non-trivial RG flow, breaking scale invariance.
I think the answer to the previous question Defining a CFT using beta-functions contains good elements on this discussion, so I shall refrain to reproduce it here.
I hope this help !
