Skip to main content

How to manage and measure your Yelp Ads program



Yelp Ads heat map

Once you’ve started advertising with Yelp, it’s important to see how much business you’re actually getting from your program. Reviewing your Yelp Ads dashboard helps you understand the different metrics of your business account and what success means for your business. 

The beauty of Yelp Ads is that it’s a self-functioning ecosystem. On other platforms, it’s vital to consistently produce new content to keep your ad program relevant, but once you’re set up properly with Yelp Ads, there’s not much you have to do—the program works its magic, and you can track performance, adjust your budget, fine tune your ad, and more. 

After you’ve set up your ad and your page is complete with robust business information, you’re ready to give the program time to run its course. You can increase or decrease your budget at any time, depending on seasonality or business needs, and you can always press pause on the program. To ensure you don’t miss any leads, messages, or new reviews, you can turn on email notifications on biz.yelp.com and push notifications on the Yelp for Business app.

You’ll read about how to manage your program—aka learning what all the different charts and metrics represent; and how to measure your program—which means learning what success looks like for your business.

Manage: What should you check out on your Yelp Ads dashboard?

Your Yelp Ads dashboard allows you to see all aspects of your program, including what your ad looks like, the exposure you’re getting, and how often potential customers are engaging with you. Your ad performance provides a deep dive into the people you are reaching while your ad settings provide an opportunity to adjust the look of your ad as well as keyword and geography targeting. 

Ad performance

Your ad performance includes details like customer leads, where you’re reaching, impressions, ad clicks, and more. This is the best place to the track overall exposure of your ad program. Below are all the features listed on within your ad performance page.

Customer leads

When a Yelp user lands on your page (also known as a page visit) and then takes an action, this constitutes as a customer lead. Leads include phone calls, website clicks, directions and map view, mobile check-ins, Yelp bookmarks, user uploaded photo(s) and/or messages. You’ll see a breakdown on the right hand side, showcasing the percentages of how your customer leads converted. 

Ads and organic leads

An ads lead means the customer clicked on your ad before becoming a lead. An organic lead is when the customer found you independently through Yelp’s organic search results. 

Where you’re reaching

This displays a heat map showing where your Yelp ad was shown when users were looking for businesses like yours.

Heat map for Yelp Ads

Ads spend this billing period

This shows your ad spend for the billing period—which will never be greater than the monthly budget you specified—and it also displays the average cost-per-click. While we strive to fulfill your entire budget, it may not always happen based on your ad settings and available inventory. 

Impressions

Here you’ll see the number of times your ad was shown. In general, more impressions means more people have seen your ads.

Ad clicks

This displays how many times your ads were clicked on. The ad program shows your ad to a user (impression), and the goal is to drive that user to land on your page (through an ad click).

Call tracking

When enabled, call tracking will provide key insights into the calls you’re receiving like the average call duration, time of the call, masked number, and the amount of calls received versus answered. Note that this is available for select businesses.

For each of these sections, you can click the top-right arrow to open the chart in a larger window and see more information. Most sections allow you to adjust the date, time period, and type of ad you’re looking at: All Ads, Yelp Ads, Yelp Audience Network. The Yelp Audience Network is a way for Yelp advertisers to increase online exposure and get more ad clicks outside of Yelp properties. Ads can be delivered to extend the reach to users who have already searched on Yelp.

Note that you should also check your Yelp Activity dashboard, located on the Home tab of your business account. This shows your total number of Page Visits, defined as when someone runs a search on Yelp and then specifically clicks on your business listing. When you’re actively running Yelp Ads, the graph is yellow, and when you’re not running them or have paused, the graph is blue. This helps you more easily see the lift that your ads program may be giving your business. 

Ad settings

Your ad settings are the parts of your Yelp Ads program that you can easily change at any time. This includes the photo, text, keywords, location, goal, and budget. You’ll also see a preview of your ad as well as the estimated audience size that your ad is reaching. Below are details on each of the features that you can manage.

Ad preview

The ad preview dynamically reflects the current view of your ad and automatically updates with any changes you make within your ad settings.

Ad photo

Depending on what option you chose during the setup process, this will vary. If you haven’t yet uploaded a photo, you’ll be prompted to do so. Read more about choosing the right photo

Ad text

Here you can change the ad text that is being shown on your ad. You can choose a review that you want to be displayed or write your own text. In addition, there’s an option to “Let Yelp Optimize” where if you have reviews, the algorithm will choose one that is most likely to entice customers to click on your ad. 

Keywords

You can review the keywords that you’ll show up for and revisit any words you’ve chosen to block. For example, if you’re a hair salon that only does blowouts, you might want to block your ad from showing up for “haircuts.” Managing your list of words will help you target your ad reach on Yelp.

Location

This feature shows what your ad radius is. You can increase or decrease the radius to change where your ad will be shown to potential customers.

Ad goal

You can change your ad goal to better match your business needs whether that’s driving people to your website, to your Yelp Business Page, or to call. The call to action associated with your ad will change depending on the goal you choose.

Budget

This section shows you an overview of your advertising budget, both as a daily average and as the monthly max. Here you can also easily update your monthly budget at any time.

Measure: What does success look like with Yelp Ads?

Success varies across businesses depending on a variety of factors like your industry, location, size, budget, and more. Additionally, not all leads hold the same value—for example, if you’re a contractor and receive a lead, it could be for a single bathroom remodel or a full-home renovation.

As mentioned above, after ads are delivered, the varying data points will populate in your dashboard to help show you the trends of your program. In general, more impressions means more people have seen your ads. More clicks equals more people viewing your page, resulting in additional exposure you wouldn’t have received with organic traffic alone. 

When taking a closer look at your data and analyzing the impact of your program, a good starting point can be to ask yourself these three questions:

  1. What has been my percentage lift in impressions after the program started?
  2. What is the total percentage of ad clicks compared to total clicks? This helps you see the impact of paid placement compared to total traffic. 
  3. Has there been an increase in leads that make sense for my business? (e.g., online orders for restaurants or booked appointments for hair salons)

Ads are like sending out business cards to people in your area who are interested in products or services like yours. You can contact a Yelp Customer Success team member (it’s free) to make sure your “business card” (aka your Yelp ad) looks its best and is being distributed in the most effective way. They’re available for any questions or concerns about your program, whether you need to adjust one of your ad features or you’d like to discuss optimizing your ad. To get in touch, log in to your Yelp for Business account and locate the listed contact number or use Yelp’s chat feature. Once you hit the 90-day mark in your ad program, you’ll be assigned a direct client partner, and they’ll work with you consistently to help you gain additional exposure.

Best practices to accompany your program

Ad traffic to your page means someone did a search for what you do, saw your ad, and decided to learn more by clicking on you. To help convert these visitors into real customers, take advantage of Yelp’s free and paid tools. While your ad itself is designed to be self-sustaining, once someone clicks on your ad, they’ll be taken to your Yelp Business Page. This means it’s crucial that your page is up to date and complete once visitors land there. Here is a checklist to make sure you’re maximizing the functionality of your page:

Free tools

Paid tools

Note that some features are only available to select business categories.

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_chrome 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/how-to-manage-and-measure-your-yelp-ads-program/#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>
[gravityform id="4" title="false" ajax="true"]
<div class='gf_browser_chrome 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/how-to-manage-and-measure-your-yelp-ads-program/#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>