Fuel Pump Module-how do I know exactly which fuel pump module to get? I know ias on 2004 Chevrolet Silverado 1500

Rookie cbe0621eac06868b3efe0d8d1d3611e23c60d3114864ea2ec19a68cfbd3eebab
It's electric and I know it's in the tank. Engine size is 5.3 liter V8 1/2 ton crew can. Advise please.
(1) Answer
(8) Comments
There are two, one has 1 wire connector and the other has 2 wire connectors. Call dealer with vin # to see if your truck has a fuel tank pressure sensor mounted on the pump module, if so it is the 2 wire connector. Or remove it and then go to parts store! Do you plan to do the swap yourself?
Best way i have found is to remove the bed! Bolts are easy to get to, remove bolts in filler neck unplug wire connectors at rear get a couple of buds to help(not budwisers)lift up bed and move it rearward about 3 ft. to access the pump just behind the cab. Bed is not heavy IF empty. A heck of a lot easier this way than droping the tank!! May find find something on youtube. Done a bunch of them. You may know all of this but there it is. After install, test before putting bed back.
I need to see what your opinion of my problem is. My pickup is hesitant to start except when its cold or first start of the day. After a day of stop and go errands it might take as many as 4 cranks before it kicks over. No engine light on, no hesitant acceleration, have tested all sensors, no codes when scanned and as far as having poor gas mileage-well gas is high right now, I drive a V8 crew cab and live in Houston Texas so yeah I probably get poor gas mileage. Here's the kicker--it's been doing this for 5 years. Oh, I've changed out all relays, fuses and the ignition switch. I decided it must be the fuel pump but after 5 years you think it would have gone out by now. Right? What do you think it could be?
Using a code reader with "live data" option, check what the ecu thinks that the outside temperature is. If it is way off, replace the temp sensor 4 the ecu. Let's say it is 90 degrees out... first crank of the day, ecu reads temperature as being 40 problem cause its on an open loop, "factory default". After it warms up and closes the loop, the ecu takes charge and adds too much fuel due to the false temperature reading. Once running, however, the O2 sensors read "rich" and the ecu trims the mixture. Runs ok but not very efficient. No codes are set because the ecu doesn't know the actual temperature...