I'm curious to know what your advice is to keeping him off the couch, also.
Sure! well first off, always have a pocket full of treats! If you ever see him jumping off the couch say "off" and then give him the treat.
Do you want him off the couch all the time or is he allowed on but only when you tell him it's ok or he can go on whenever as long as he gets off when you tell him?
If you only want him on when you say it's ok then he will also need to be taught the "up" command, you can also teach it if you want him on whenever as long as he gets off when you tell him to. This game can be very fun. When he is on the couch entice him off with a treat saying"off" when he starts to jump and then giving the treat when he is on the ground. then entice him back up saying "up" when he goes to jump back on, then give the treat when he gets there. Do this back and forth (don't go to fast or you'll risk confusing him).
You'll also want some sessions of just the "off" command and just the "up" command. Place him on the couch and entice him off using the treat and saying "off" when he starts to jump. Then give the treat when he gets on the ground. Do this over and over, don't give praise while he is on the couch, only once he jumps down. As soon as you think he is ready stop enticing him with the treat, hold it behind your back and give the command. If he does not get down start backing up and see if that makes him jump off, then give the treat when he does. if he does not jump down use the treat with commands a few more times then try again.
For "up" sessions it is the same thing except you entice him up.
You said he has a crate, that's perfect! if you can, put the crate in the same room as the furniture he likes to jump on or you are currently using for the training session. Make sure it is wide open. This is most important if he is never allowed on the furniture. This will require you to always watch him and make sure he never has the chance to jump on the couch without being caught right away. The best time to stop him is when he is about to jump, not after he's done it. So if you see him eying the couch or crouching to jump interrupt him, clap your hands, say his name or wave a treat in front of him, anything that will make him stop. Once he stops going to jump give him a treat. Then carrying, or somehow lead him to his crate and get him inside it saying a command like "kennel up" "go to bed" "crate" or whatever you want to say that means go into your crate. Once he is in give him another treat. Do this every single time he is about to jump on the furniture.
If he does get on the furniture and you did not stop him in time, you must entice him off giving the "off" command as he jumps down and then praise him. Once again lead him to his crate and give him the treat and praise. he must learn that the furniture is an inappropriate place to sleep and the crate is much better, he even gets food when he goes in there instead of the couch!
If I were you I'd work on the "off" training more than the "up" training, that is because he is probably more happy to get on than he is to jump off so that will take more work.
Something very important I forgot to mention in my last post is to praise him whenever he is doing the right thing without being told. most people forget how important that is. They walk in the front door and there dog comes over and does not jump on them! They kind of ignore this. What you should do if you open his crate door and he does not jump is praise him with treats, this is what you wanted after all! Some with not going on the couch. if you see him laying in his crate without being asked he should still get a treat for going there instead of the couch! If you need more info or clarification I'll be more than happy to help!