In order to perfect the proper greeting routine, your dog needs much more practice than that. You can speed up the training process by leaving through the back door and returning through the front door over and over again. When your friends come over, have them do the same. Each time, ask your dog to sit-stay before opening the door. At first his excitement will make it difficult for him to concentrate but after you've repeated this process 10 times, he will calm down and be able to concentrate. Before asking your dog to sit-stay in this distracting and exciting situation, be sure he has a reliable sit-stay in normal, non-stressful situations. And of course you can always just hold the dog in a sit if need be.
Other commands can be substituted for ‘sit’ if you prefer, such as ‘stay’ or ‘down.’ However, if your dog simply gets too excited to execute these commands properly (as is often the case, especially with puppies) try diverting their attention elsewhere. Ask them to go find their ball, or a favorite toy, as a way to distract them and expend some energy. And, as always, reward the good behavior with praise.
Teach your puppy a conflicting behavior such as “fetch your ball.” She can’t jump up if she’s running to bring you her ball or favorite toy. Just the name of a special game or toy—“go get your bear!”—can change the dog’s focus and redirect the behavior long enough for you to evade the jumping. With enough repetition, your puppy will begin to associate your home-coming with “go fetch” instead of jumping up.
2. Greet your dog on his level! In addition to waiting to greet your dog, you should also greet him in a stooped position, so that he doesn't have to jump up to greet you. Additionally, if you wish to pet or cuddle your dog, do so on his level. This removes the need to jump at any time. PRAISE HIM for not jumping. If he jumps, use the "Off" command until he stops.
When he gives up and stands still (staring at you like you’ve gone crazy), THAT’s when you greet your dog and give him some love and attention. This is the reward he was looking for. Following these rules will ensure he learns that he will only earn that reward by not jumping (don’t overdo the high-pitched voice saying, “GOOD BOYYYYY” or it will just rile your dog up even more to start jumping again).