A contact list is not automatically an audience
We first separate past customers, old estimates, inactive opportunities, and contacts who should not be messaged. The history matters because each group needs a different reason to hear from the business again.
Give people a timely reason to reply
Seasonal maintenance, an unfinished estimate, a related service, or a genuine check-in can work. A vague discount blast usually sounds like one. We match the message to the trade, customer history, and time of year.
Put replies where the team can handle them
Responses should land in the shared conversation history with an owner and a next step. A campaign that generates replies into a personal phone creates activity without creating a manageable pipeline.
Where this fits in the customer journey
This part should not live in a silo. The inquiry may start on Google, the website, a phone call, or a text, but the customer should enter one record and follow one clear path. That is what lets your team see who replied, who still needs attention, and which channel produced the booked work.