The best way is to be online. That means having a quality website first and then doing Google Ads (immediate) or SEO (takes time) so people can find it. You can have a great looking website but if it's on page 3, it doesn't matter because nobody gets to page 2. There are 10 organic positions on each page of Google. If you do a search for "best roofing companies", chances are all the companies (maybe 3-4 if you exclude Home Advisor, Yelp, Angie's List, Expertise, etc.) on page 1 are probably doing well and getting most of the new business in your market. Google Ads for roofing can be expensive without producing results especially if you don't know what you're doing. But that doesn't mean it doesn't work. They say it's hard to find a good mechanic but you probably have one. Just have to find the right marketing company. I know because it's what I do.