First, you must learn a little about your nose: Once you smell some things, your sense of smell is dulled for a short while, and you can't make accurate judgments of smell. For instance, if I blindfold you, let you smell gasoline, hand you a piece of onion to eat and tell you it is an apple, you can't tell it's not because your nose isn't working properly!! (Your sense of taste isn't working either -- smell and taste are closely related and affect each other!)
So, to correctly analyze your problem, you need to become a detective. The best time to locate the smell is after you have been away from home for a few hours -- this allows your nose to become sensitive to "that smell" again. With your 'sensitized' nose, go to an outside spigot -- one that the raw, untreated water flows from. Turn it on, let it run a few minutes, then smell it. If it smells -- we found it. If not, we must look further. (Many, many smells are not in the raw water at all, they are introduced into the water inside the house.) Go to a cold, treated water spigot inside the house, turn it on and let it run a minute; then smell. If this water smells, and the outside, untreated water didn't -- you must have a device (cartridge filter, water softener, etc.) in the water line that needs to be cleaned and sanitized.
If it is a cartridge, or 'string' filter, replace the element and sanitize the housing. If you have a water conditioner call the Company where you bought the unit for advise on how to sanitize the unit. If you rent the unit, just call! You can sanitize the unit by pouring Hydrogen Peroxide or Chlorine Bleach in the brine well of the salt tank, and placing the unit into regeneration. Check with the seller, or, if they are no longer in business, any Professional Water Conditioning Dealer for how much to put in your particular unit.
If the cold, treated water inside didn't smell, turn on the hot water and let it run a few minutes -- does it smell? If it does, chances are you have a sacrificial anode inside your hot water heater that is "coming apart at the seams" and throwing off a "rotten egg" odor. This obnoxious smell will drive you right out of your shower! The only solution is to remove the anode from the heater, voiding your warranty, or replace it with a new one made with aluminum alloy. This anode is placed in a (glass lined) hot water heater to seal up any cracks in the glass lining and prevent corrosion of the heater tank. You will find the anode on the top of the heater; remove the tin cover and insulation -- look for what looks like a pipe plug -- about 3/4 inch in size with a 1 1/16"fitting. Turn off the heat source and the water; have someone hold the tank to prevent it from turning, and unscrew the "plug". You will find that the 'plug' has a 30 - 40" long pipe (or what's left of one) attached to it. Hopefully, most of the rod is still attached -- just corroded. Replace that plug with a pipe plug and throw the anode away. If part of the rod has corroded off, and fallen into the heater, you may have to try to fish it out. (Good Luck!!) Either way, before you plug the hole, pour about 2 pints of chlorine bleach into the tank. This will kill the smell left in the heater. If, after a week or so, the smell returns, you must fish out the rod that is in the bottom of the tank. The bad news is that by removing the anode, your water heater warranty may be voided. Good Luck!