Recall training can be a challenge as you are often working against many exciting distractions...
The key is to work just under the threshold of distractions to avoid your dog making mistakes. The use of a long line can help to avoid errors but if the training programme is set up well then mistakes will be reduced.
Start by teaching your dog a signal which means come to me as fast as you can because something great is about to happen. Start this process in the home as there are fewer distractions. If your dog has been ignoring the word ‘Come' for the last few months then it's time to change it. Try a whistle or a new word to create a fresh and positive association.
Feeding time is an obvious place to start. Each time you're going to do something fun with your dog use the command or blow the whistle and straight away reward your dog for coming with a treat, bone, fuss, toy, or a game. As with all learning this needs to be generalised, which means changing the location and gradually building up the distractions.
A good tip in preparation for this training is to list all the distracting things your dog struggles with, and order them from easy to hard to ignore. Then work through them all, gradually getting more difficult in a variety of locations. Another important aspect of recall training is to avoid just putting your dog on the lead each time you call him, as he'll soon learn to avoid coming back to get a longer run in the park.
Recall training takes time and patience but it's great when you get there as you and your dog will enjoy walks so much more. Training classes might help with this and other issues you may have with your dog. Just ensure the trainer uses positive training methods.