Make sure your puppy is given a clean bill of health from your veterinarian. If your puppy has parasites or a urinary tract infection, he may not be able to help his accidents.
Do not leave food and water down for more than 15 minutes at feeding time and pick up what your puppy does not finish.
Supply as much water as you like, but you should know when he is drinking water.
Follow the feeding guideline appropriate for your dog's size and age to prevent over feeding (which equals more bowel movements).
Do not allow your puppy to have water one hour before going into crate (unless temperature (heat) mandates).
Your dog should be under your "Eyesight" or "Confinement" 24 hours a day.
Under "Eyesight", your dog should be on a leash if he is inside the house, so he cannot get out of your sight.
If your puppy is sneaking off to have accidents while you are not watching, then hook the leash under a chair or around your foot to prevent him from sneaking out of sight.
The key is to "catch" every accident he has.
Do NOT pick your puppy up and carry him outside to go to the bathroom (this prevents them from learning the path to the door). Even when you catch "in the act".
If catch in the act, loudly say "No" and pick up leash, leading him as fast as you can to the door and outside.
DO NOT correct your puppy "after the fact". No matter what you think, he cannot remember.
If followed correctly, there will never be another accident that you do not catch "in the act".
The more accidents that you catch "in the act", the less accidents you will have.
If your puppy is having accidents inside the crate, it may be too big for his age and size. You can also try feeding him inside his crate and leaving the empty bowls inside the crate at all times when he is not eating to remind him that this is a place that he eats.