Skip to main content

Making the leap to virtual sales for your home services business



Hardwood deck remodeling project
Photo of Open Space Design Decks from Jeff L. on Yelp

While marketing is the art of attraction, sales is the art and the science of the transaction. When it’s done well, the sales process can be a powerful experience for both the client and the sales consultant.

Selling home improvement and repair services and goods is a process of uncovering needs, understanding desires, finding limitations, and creating solutions that solve for all of those variables. Strong selling techniques open a doorway through which your client gains access to the goods and services they need and want for their homes. It’s a good experience for both you and your clients when closing the sale is as easy and predictable as possible.

As a home improvement and services professional, you know your craft, you know your products, and you know your market. You know what you can and cannot promise and what you can and cannot deliver, and you operate your business accordingly. 

That profound understanding has led virtually all professionals in this industry to focus on doing consultations and sales in the location where the work will be done: in the home. It’s warm, it’s practical, and it’s proven.

When the Coronavirus pandemic struck, this core element of the sales process was suddenly limited, restricted and, for many, entirely suspended. Having the usual in-home environment for consultations blocked nearly overnight was a shocking turn of events for home services businesses large and small.

After decades of reliance on in-home selling, this pandemic delivered a beautiful gift in extraordinarily ugly wrapping paper: the modernization of our sales process and modality.

Virtual consultations and sales have been a reality in many industries for decades. With the proliferation of all types of modern communication, it became easy and common to process billions of dollars of business online without in-person interactions. However, because of the nature of in-home goods and services, this type of contactless sales process has seemed impractical and unnecessary. 

Virtual or remote selling has been on the radars of many businesses in the industry, but usually as something to consider for the future. That is, until COVID-19 restrictions forced a radical acceleration of that timeline.

Two reasons now is the perfect time for virtual sales and consultations

While intimidating at first glance, there are two significant factors to consider that make introducing, offering, and running virtual consultations more practical and viable than it seemed in the past. 

1. Normalization of video conferencing

When schools shut down and offices closed in response to COVID-19, video conferencing became a daily reality in most households. School children of all ages and abilities needed to learn how to use platforms like Zoom to attend virtual classes, and their parents needed to learn those platforms right alongside them. They needed to know enough about the technology to help their children navigate a new educational paradigm and, at the same time, many of them needed to master video conferencing skills themselves to be able to effectively work remotely.

And they did. 

The video conferencing platform Zoom, for example, had 10 million daily users at the end of 2019; by the end of March 2020, they had more than 200 million. That’s 190 million people who learned how to use that one video conferencing platform in a matter of weeks.

In those few short weeks, using video conferencing as a mode of regular communication became not only accepted and common but also widely promoted and used both personally and professionally. People everywhere embraced this new format for connectivity. Technology was no longer a client barrier to virtual consultations.

2. The process easily translates to the virtual world

Consider the overall arc of an in-home sales consultation. No matter where you learn it or how you practice it, all successful in-home selling contains some variation of these core steps:

  1. Establish experience and build trust 
  2. Discover the client motivation (their needs, desires, fears, limitations, expectations)
  3. Assess the project
  4. Present your products/services as the solution 
  5. Position yourself and your company as the obvious choice for this homeowner to achieve the solution
  6. Confirm the fit
  7. Close with confidence 

While there is a significant “touch and feel” aspect to what you do—and while you do need, at some point, to be in the home, on the property, at the project—we can still leverage technology, primarily video conferencing, to consult and sell. 

No matter if you’re doing it in person at the home or in person over the internet, the sales process still involves a professional working directly with a client toward the common goal of getting their project moving. The steps of the sale are exactly the same in a virtual consultation as they are in an in-home consultation. What changes is the modality of the connection, the way in which you “walk” the project, and the manner in which you demonstrate the product and/or confirm selections.

Each of those changes are intimidating. They require courage and innovation, but most of all they require a little bit of imagination.

In terms of demonstrating a product or showing its application, most businesses have amassed a vault of project pictures, before-and-after photos, and completed project albums. They have access to vendor images, virtual swatches, and videos. Not to mention the fact that as things reopen, you can even be in a showroom if that’s applicable. These and other resources make a virtual consultation work. You can assess and organize any content you might need to share from your phone or computer. You can leverage your website. You can take high-quality, close-up photos and put them in folders on your desktop for use as needed during your online time together. You have the resources closer at hand that you might imagine.

The key to successful virtual consultations: keep it simple

Too many companies have resisted virtual sales consultations because they believe it is too complex—but it doesn’t have to be.

Keep it simple: Audit your process, and think about what truly needs to change in making the leap to virtual consultations.

If the technology to run the virtual consultation intimidates you, remember that you don’t need anything beyond what a child needs to attend their virtual classes. 

If you need better access to the project, involve your client more to help you virtually visit the physical space. Have them on video chat, using a mobile device if you need them to walk the project area. Walk them through how to take the photos and the measurements that you need. Don’t hesitate to teach them. They will appreciate and respect you more for educating them.

If you’re worried that they need to touch and feel the products before they can make a buying decision, remember that is your belief, not necessarily theirs. Think of innovative ways to confirm selections—maybe by involving your installation crew or your technical team—after you secure the project. 

Don’t get wrapped up in all the details and let that prevent you from embracing a new, powerful, and modern way of conducting your in-home services business.

Notes: If you would like more resources about virtual consultations, listen to the recording of Madeleine’s May webinar: Your Sales & Marketing Playbook for COVID-19 and Beyond. If you are already offering virtual consultations, be sure to update your Yelp Page to add your virtual service offerings.

About the author: Madeleine MacRae is the creator of FastTrack Sales Systems and the CEO of MM MacRae Coaching & Consulting, an international learning, coaching, and consulting firm out of Scottsdale, Arizona.

Did you find this post valuable?

Click on a star to rate it.

Since you found this post valuable...

Follow us on social media for more great business resources!

We're sorry you didn't find this post valuable.

How could we improve it?

The information above is provided for educational and informational purposes only. It is not intended to be a substitute for professional advice and may not be suitable for your circumstances. Unless stated otherwise, references to third-party links, services, or products do not constitute endorsement by Yelp.

Business resources, delivered to your inbox

Get the latest blog content, info on virtual events, and the occasional freebie.

  • This field is for validation purposes and should be left unchanged.

By continuing, you agree to Yelp’s Terms of Service and acknowledge Yelp’s Privacy Policy.

[gravityform id="4" title="false" ajax="true"]
<div class='gf_browser_unknown gform_wrapper gform_legacy_markup_wrapper' id='gform_wrapper_4' ><div id='gf_4' class='gform_anchor' tabindex='-1'></div> <div class='gform_heading'> <span class='gform_description'></span> </div><form data-form-name='Newsletter Signup Popup' method='post' enctype='multipart/form-data' target='gform_ajax_frame_4' id='gform_4' action='/businesses/virtual-consultations-sales-for-home-services-business/?utm_source=biz_blog&#038;utm_medium=yelp_blog&#038;utm_content=blog_text_link#gf_4' novalidate> <div class='gform_body gform-body'><ul id='gform_fields_4' class='gform_fields top_label form_sublabel_below description_below'><li id="field_4_1" class="gfield field_sublabel_below field_description_below hidden_label gfield_visibility_visible gf-email" data-field-class="gf-email" data-js-reload="field_4_1"><label class='gfield_label screen-reader-text' for='input_4_1' >youremail@address.com</label><div class='ginput_container ginput_container_email'> <input name='input_1' id='input_4_1' type='email' value='' class='large' placeholder='youremail@address.com' aria-invalid="false" /> </div></li><li id="field_4_2" class="gfield gform_validation_container field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_4_2"><label class='gfield_label' for='input_4_2' >Email</label><div class='ginput_container'><input name='input_2' id='input_4_2' type='text' value='' autocomplete='new-password'/></div><div class='gfield_description' id='gfield_description_4_2'>This field is for validation purposes and should be left unchanged.</div></li></ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_4' class='gform_button button' value='Submit' onclick='if(window["gf_submitting_4"]){return false;} if( !jQuery("#gform_4")[0].checkValidity || jQuery("#gform_4")[0].checkValidity()){window["gf_submitting_4"]=true;} ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_4"]){return false;} if( !jQuery("#gform_4")[0].checkValidity || jQuery("#gform_4")[0].checkValidity()){window["gf_submitting_4"]=true;} jQuery("#gform_4").trigger("submit",[true]); }' /> <input type='hidden' name='gform_ajax' value='form_id=4&amp;title=&amp;description=1&amp;tabindex=0' /> <input type='hidden' class='gform_hidden' name='is_submit_4' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='4' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_4' value='WyJbXSIsImE0YjFiMmUxY2IxMWVhYTljM2FhNzdkODk4NDUzZmY0Il0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_4' id='gform_target_page_number_4' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_4' id='gform_source_page_number_4' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> </form> </div> <iframe style='display:none;width:0px;height:0px;' src='about:blank' name='gform_ajax_frame_4' id='gform_ajax_frame_4' title='This iframe contains the logic required to handle Ajax powered Gravity Forms.'></iframe> <script> gform.initializeOnLoaded( function() {gformInitSpinner( 4, 'https://blog.yelp.com/wp-content/plugins/gravityforms/images/spinner.svg' );jQuery('#gform_ajax_frame_4').on('load',function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_4');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_4').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_4').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_4').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_4').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery('#gform_wrapper_4').offset().top - mt); }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_4').val();gformInitSpinner( 4, 'https://blog.yelp.com/wp-content/plugins/gravityforms/images/spinner.svg' );jQuery(document).trigger('gform_page_loaded', [4, current_page]);window['gf_submitting_4'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}setTimeout(function(){jQuery('#gform_wrapper_4').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_4').offset().top - mt);jQuery(document).trigger('gform_confirmation_loaded', [4]);window['gf_submitting_4'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_4').text());}, 50);}else{jQuery('#gform_4').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger('gform_post_render', [4, current_page]);} );} ); </script>
[gravityform id="4" title="false" ajax="true"]
<div class='gf_browser_unknown gform_wrapper gform_legacy_markup_wrapper' id='gform_wrapper_4' ><div id='gf_4' class='gform_anchor' tabindex='-1'></div> <div class='gform_heading'> <span class='gform_description'></span> </div><form data-form-name='Newsletter Signup Popup' method='post' enctype='multipart/form-data' target='gform_ajax_frame_4' id='gform_4' action='/businesses/virtual-consultations-sales-for-home-services-business/?utm_source=biz_blog&#038;utm_medium=yelp_blog&#038;utm_content=blog_text_link#gf_4' novalidate> <div class='gform_body gform-body'><ul id='gform_fields_4' class='gform_fields top_label form_sublabel_below description_below'><li id="field_4_1" class="gfield field_sublabel_below field_description_below hidden_label gfield_visibility_visible gf-email" data-field-class="gf-email" data-js-reload="field_4_1"><label class='gfield_label screen-reader-text' for='input_4_1' >youremail@address.com</label><div class='ginput_container ginput_container_email'> <input name='input_1' id='input_4_1' type='email' value='' class='large' placeholder='youremail@address.com' aria-invalid="false" /> </div></li><li id="field_4_2" class="gfield gform_validation_container field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_4_2"><label class='gfield_label' for='input_4_2' >Name</label><div class='ginput_container'><input name='input_2' id='input_4_2' type='text' value='' autocomplete='new-password'/></div><div class='gfield_description' id='gfield_description_4_2'>This field is for validation purposes and should be left unchanged.</div></li></ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_4' class='gform_button button' value='Submit' onclick='if(window["gf_submitting_4"]){return false;} if( !jQuery("#gform_4")[0].checkValidity || jQuery("#gform_4")[0].checkValidity()){window["gf_submitting_4"]=true;} ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_4"]){return false;} if( !jQuery("#gform_4")[0].checkValidity || jQuery("#gform_4")[0].checkValidity()){window["gf_submitting_4"]=true;} jQuery("#gform_4").trigger("submit",[true]); }' /> <input type='hidden' name='gform_ajax' value='form_id=4&amp;title=&amp;description=1&amp;tabindex=0' /> <input type='hidden' class='gform_hidden' name='is_submit_4' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='4' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_4' value='WyJbXSIsImE0YjFiMmUxY2IxMWVhYTljM2FhNzdkODk4NDUzZmY0Il0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_4' id='gform_target_page_number_4' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_4' id='gform_source_page_number_4' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> </form> </div> <iframe style='display:none;width:0px;height:0px;' src='about:blank' name='gform_ajax_frame_4' id='gform_ajax_frame_4' title='This iframe contains the logic required to handle Ajax powered Gravity Forms.'></iframe> <script> gform.initializeOnLoaded( function() {gformInitSpinner( 4, 'https://blog.yelp.com/wp-content/plugins/gravityforms/images/spinner.svg' );jQuery('#gform_ajax_frame_4').on('load',function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_4');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_4').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_4').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_4').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_4').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery('#gform_wrapper_4').offset().top - mt); }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_4').val();gformInitSpinner( 4, 'https://blog.yelp.com/wp-content/plugins/gravityforms/images/spinner.svg' );jQuery(document).trigger('gform_page_loaded', [4, current_page]);window['gf_submitting_4'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}setTimeout(function(){jQuery('#gform_wrapper_4').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_4').offset().top - mt);jQuery(document).trigger('gform_confirmation_loaded', [4]);window['gf_submitting_4'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_4').text());}, 50);}else{jQuery('#gform_4').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger('gform_post_render', [4, current_page]);} );} ); </script>