A conflicting behavior when you come home—like “sit”—helps enormously. You’ll need to practice your puppy’s “sit” during calm moments first, and then ask for this polite behavior before you leave and when you arrive home. Guests will appreciate a polite “sit” when they arrive, too, as they won’t appreciate your puppy leaping around and mugging them for attention.
Why do dogs jump up? A plausible explanation arises from their ways of communicating with each other. A puppy greeting an adult dog often licks the adult’s muzzle -- a polite, deferential behavior. Dogs, of course, descend from wolves, among whom muzzle-licking is how pups get the grownups to regurgitate food for them. Domestic dogs rarely nourish puppies this way, but muzzle-licking has survived, maybe because deferential behaviors are handy for a social animal. Think of humans saying “No, after you.” Muzzle-licking is also an appeasement behavior -- something you trot out to de-escalate a fight. A human might lift up his hands, palms toward the person he’s arguing with.