When dogs smell like fish, it generally indicates that they are experiencing blocked anal glands. When a dog has a bowel movement, he usually empties his anal glands with it, excreting a foul smelling discharge that contains pheromones.
Dogs have anal glands that release pheromone-filled fluid when the dog has a bowel movement. Usually, the dog is able to empty these glands when defecating. However, when the glands become blocked because the dog is unable to empty them on his own, the animal begins giving off a fishy odor.
Dogs with firmer stools are less likely to experience anal gland blockage. Feeding a dog low-quality kibble or too many table scraps can cause loose stools and, in turn, negatively impacts the dog's ability to empty his anal glands. When the anal glands become impacted, a veterinarian can manually empty them. Additionally, some groomers perform this service.