I'm not here to give alternative solutions, I'm here to tell you the current solution is slightly worse than nothing.
You would have to make the solution fairly complex for it to be beneficial. But I'd start with quantifying why people are in the city, rather than treating them all the same.
If it were my job, I'd have a better solution than congestion charges, that's for damn sure.