Friend, when we see evidence of blood in the vomit this suggest that there is something damaging the wall of either the esophagus, stomach or first part of the intestines. This can be caused by many different medical disorders. It will be difficult to determine the exact underlying cause without a hands on examination and some testing. However, in a puppy ingestion of a foreign body is a very common cause. Other possible causes are: Toxicity, infections, parasites, etc. to name a few causes.
In this case, I would strongly recommend a hands on examination with family veterinarian and xrays as initial screening test. In the meantime this is what you can do:
1- Do not give things like Pepto Bismol or imodium. Start him on Pepcid AC (famotidine) 10mg 1/2 tablet every 12 hours for the next 2-3 days. You can buy Pepcid AC over the counter in any pharmacy.
2- No food or water for 6-8 hours. Need to give him gastrointestinal tract time to rest.
3- After 6-8 hours offer a small amount of water. Wait half hour, if no vomiting, offer small amount of rice (50%) and boiled boneless chicken or ground beef (50%) 4-6 times a day.
4- Follow up with your family veterinarian for a hands on examination and xrays. If cost is a concern look into your local ASPCA or Shelter where they often offer veterinary services at a lower cost.
My goal is to provide you with excellent service - I hope I've provided the information you were seeking, if you feel you have received anything less, please reply back as I am happy to address follow-up questions. Kindly rate me when you are done.