When I trained my pups to Come I used a long line and kept it on them outside when we worked on the recall. Start with short distances and work up to longer ones. When I called the pup and he didn't come all I had to do was reel him him. I praised him as I walked backwards to the spot that I had called him from. Using this line made sure that he never failed. He was set up to win, everytime!
"Come" must be said keeping a happy cheery voice, also very important, is never scolding the pup. Coming to you must always mean something good will happen. Whether it is getting a treat, a pat or verbal praise. For treats I use a really high value one such as chicken when training for a response that is new to the pup, or that the pup is not fond of.
"Come" Must not mean the end to the fun. Even now at 9 & 12 years old, with mine having always been reliable on recal, I will call them, have them sit, and then realease them back to play. Practice is a way of life, not a chore. It is important to have them sit, and for you to touch them, that way when you need to put a leash on, they do not try and run away. When the leash is on, then I would give a treat, and chat happily, as I mentioned, the fun must not stop just because they are back with you and the leash is on.
Montrose has always been a great sniffer and it was not unusual for her to lag way behind us in an open field. When this happened, I would call out Bye, and she would come running, so as not to be left behind. Still works to this day. Chasing the pup puts him in charge.
Something else to try, in an enclosed area, just walk around and don't call the pup. When he comes to you praise him & give him a treat. Then walk away in another direction. Everytime he comes to you, give him a treat & keep praise, then walk away again. He will probably walk away, that is fine, but he is learning that it is great being close to you. Even though there are so many great things to see & smell outside.
Not easy for us to be more interesting that bugs, bird poop or messages left on the ground by so many other dogs, but we do the best we can.