Stop for a second and make sure all things are not equal. KNow your compiutition and always one up them. Drive up in a clean car. Wear clean clothes. Have the company log on your car and shirt. Wear a photoo ID hanging from your colar with your name, picture, company log and your position within the company. Do what ever it takes to set yourself apart.
Ok let's assume all things are equal, the customer is going to hire who ever they like the most. Or maybe they will hire whoever ASKS for the sale. Never leave the customer's presence without asking at least once to be their roofer.
It all goes back to knowing your compitition. let's say you have a garbage truck and the other guy uses dumpsters; while we know there really isn't anything wrong with using a dumpster you can always tell the customer "Mr. Customer I care about your convenience and drive way. We use a dump truck that arrives when we do and leaves when we do. It's on big soft rubber wheels and can never scratch your rdrive way like dumpsters do."
Sell on benefits, "Everything I do I do for your benefit." That's not something you might say but while you are talking that's what you want the customer to feeel you saying.
... but forget all that and remember to always ask at least once... "Ok we are going to tear off your roof, ofcoarse we are going to use tarps for protection like I showed you in those pictures. We are going to fix any rotten wood because you can't have a good roof with bad wood. We are going to use the heavier 30# felt paper because it is more protective. We are going to hand nail your shingles with at least 4 nails because we feel hand nailing is better quality than gun nailing. We replace all flashings. We make sure you have adequate ventilation, we give you a 10 year warranty. We can do all that for $90 million dollars and if you sign right here I can schedule that for next week.
SHUT UP AND WAIT FOR THEM TO TALK.
If they say No, so what? ask them why not?