Freestyle is actually not just about heeling. I have been competing in freestyíle for at least 2 years now, and I must admit, I didn't teach a heel to Pami for at least a year, and we still could won competitions.
It actually sounds like you don't reward at all.
If your dog is a real beginner, teach him to follow your hand at first. Just click and treat whenever he touches your hand, and after a while, he'll start following it, to be able to touch it. After this, you can start teaching the heel position.
as I think the heeling looks good if the dog is looking up at your face (or if you have a small dog, your hand, as the point is they have to look up), so that's why it think he should follow your hand first.
Then as Fickla told, do it really slowly, at first just one step, then 2, etc...
If you want really close heeling, reward when his body touches your leg.
Aaand last but not at all least:
Don't do heeling too much at a time, as it can easily become boring for the dog. Do lot of tugging if your dog likes to play, or just run a little with him, be happy.
Good training!