Make sure your dog's bed is large enough and plump enough to be comfortable. Placing a sheet, blanket or pillow from your bed will help keep him there. Anything with your scent on it placed in the dog's bed will help him stay there.
Many dogs sleep wherever they feel like it whether it be on top of your shoes or right in the middle of the walkway. Every dog needs his own place to sleep. Many times, this is his crate, which is his den. Dogs will also sleep on your bed, if you will allow them to. If you want your dog to sleep in his own bed, you have to make his bed more attractive to him than your bed.
Choose a spot for the dog bed out of the way of foot traffic. A dog won't want to go in a place to sleep if he feels like he is going to have to move every five minutes to get out of someone's way. Try in a corner of the room or under a table. Make the bed where the dog is still able to see people in the most frequented room of the house, but not where he would be in the way. He will want to be near you at all times, so make it easy for him by placing a bed in the room where you are working, watching television or sleeping.
Place a favorite toy in the dog bed so your dog will start to get the idea that this is its safe place. Give him time to chew and play with the toy in his bed. If his bed is in the crate, leave the crate door open so he can come and go as he wants. Dogs should never be confined in a crate more than four hours at a time.
Put the dog in the bed or, if the dog is too big to carry, lead him there. Repeat a few times "your bed" while pointing at the bed and speaking directly to the dog. Tell the dog to "stay" then walk away.
Bring the dog back to the bed if you want him in the bed at a particular time but the dog leaves the bed, bring him back and put him back in the bed. Repeat Step three. The dog may leave the bed a few times, just keep bringing him back and putting him in the bed while repeating Step three. This is a form of basic dog training. You can put him in his bed and say "down" and "stay." Or you can assign a new command to this action such as "go to bed."