Get a clicker. Take him to the garden once an hour and wait with him until he does his stuff. Then click and give him a small dog treat (suitable for puppies). He will start to recognise the click as a signal that he's done something good.
Be very sure to do this every hour. Start to give this 'business' a name/phrase, so that as you click you say 'potty' or 'stuff' or 'do your business' or whatever (but keep it consistent). If you do this carefully he will start to get the hang of it.
We've had our puppy for 2.5 weeks and she's now pretty good during the day. It's hard work but worth it. She'll still occasionally try and do her stuff on the carpets if we don't watch her carefully but mistakes are becoming fewer and fewer.
I think, with many puppies, it's too much to expect clean nights for a while. Their bladders, etc, are tiny.
We use a crate for shorter periods during the day. So if I go shopping for 2-2.5 hours I put her in the crate and she won't do anything in it. She's in it at night but I do let the door stay open so she can use the kitchen floor (tiled) as I don't want her to use the crate and I don't think she can last the whole night yet, though she's showing signs that this might be the case soon.
Clickers are generally helpeful, we've found. Our pup would sit to command within 24 hours.