I agree with Notmeagain that clicker training is brilliant - but I don't use it for recall either. I've also never used it for toilet training.
The best thing you can do, to train recall, is a) Pick a word/sound that ALWAYS means "Come here NOW" (don't just use the dog's name) and b) Be absolutely methodical about it, moving forward in tiny steps, always setting the dog up to succeed.
So, begin in the house, with low distraction, moving on to slight distraction, moving on to more distraction.... then progress to the garden, with low distraction, then more, etc. Never moving forward until you're 99.9% sure that the dog will respond correctly; also never give a command unless you're pretty sure it will be obeyed.
Skip too many steps, ie assume that a dog who is reliable around the house will be reliable out on a walk, will result in failure and before you know it, you have a dog for whom "HERE!" means "Run about ignoring me".
I also agree that the earlier you let them off, the better; they're pretty much glued to you when they're puppies. Make the most of their natural unwillingness to leave you (their security) and teach them to keep an eye on you at all times. Duck behind trees, change direction etc (changing direction is an opportunity to teach "This Way" - a handy command for when you don't actually want a recall) but don't (as I did) duck behind a tree and stay there for too long and lose your puppy 
If you're likely to use a long line and have to stamp on it to prevent a dash, make sure you use a harness rather than a collar. Otherwise you risk damaging his neck.