SEO for contractors pays off when the numbers in your monthly report, not just the rankings, tie back to a job someone paid you for. Three places hold those numbers: Search Console, your Google Business Profile's performance view, and your own job records, and none of the three alone tells the full story.
Quick answer
Read your monthly SEO report against three questions. First, did impressions and average position move on searches tied to work you actually do, in Search Console? Second, did your Business Profile's calls and website clicks move, though that figure blends paid and organic traffic? Third, did jobs logged with Google search or Maps as the source move in your own records, and by how much compared to the first two?
A report that only answers the first two questions is an activity report, not a results report. Tag the website link on your Business Profile with UTM parameters so GA4 can tell profile visits from other organic visits, give organic callers a phone number of their own, and have whoever books jobs record a source on every one before any of this is worth reading monthly.
What actually decides whether you rank, and what can you change?
Google names three factors for local ranking: relevance, "how well a Business Profile matches what someone is searching for"; distance, "how far each business is from the customer who's searching"; and prominence, "how well-known a business is," which reviews and ratings feed into (Google, checked 2026-10-05).
Distance is not yours to change: it depends on where the person searching stands. Relevance and prominence are the two an SEO vendor, or you, can actually move: relevance through complete profile details, the right business category and pages that match what customers search (such as "furnace repair" rather than only "HVAC services"), prominence through reviews and other websites linking to you, both named on the same Google page. Roofing SEO walks through what Google allows in review requests and on service area pages, and those rules hold for any trade. A monthly report that claims credit for distance, or blames a drop in rankings on it, is explaining a number nobody on the account controls.
What does Search Console actually tell you?
Search Console's Performance report is Google's own record of how your site shows up in Google Search, and it has four core numbers: impressions, "how often someone saw a link to your site on Google"; clicks, "how often someone clicked a link from Google to your site"; CTR (click-through rate), clicks divided by impressions; and average position, a relative ranking where 1 is the topmost spot shown for a search (Google, checked 2026-10-05). Those counts cover unpaid results: Google Analytics labels them organic clicks and impressions when it pulls them from Search Console (Google, checked 2026-10-05). The report's queries view groups the same data by the search terms people typed (Google, checked 2026-10-05).
Read it by query, not only by the site total. A site total can rise because a blog post nobody searches to hire you gained impressions, while your "furnace repair [your city]" query sat flat. Filter the report to a few queries that match work you actually sell, and watch clicks and average position on those, month over month.
What does your Business Profile's performance view add?
Your Business Profile is the free listing that shows on Google Search and Maps. Its Performance view reports Views, Calls ("the number of times a customer clicked on the call button"), Website clicks, Direction requests, Messages and Bookings for the period you pick (Google, checked 2026-10-05). The same page says "performance data includes views, searches, and actions from both organic search results and Google Ads," so a rising Calls figure does not by itself tell you whether the increase came from SEO, from a Google Ads campaign, or from both.
If you run Google Ads alongside SEO, the Business Profile view alone cannot separate the two. Your own phone lines can: give your Google Ads call assets (the phone number shown in an ad) a tracking number of their own, apart from the number on your free listing, so each call shows which line it came in on.
How do you keep the source on Maps and organic traffic specifically?
A click on your Business Profile's website button lands on your site with no automatic label telling GA4 it came from Maps rather than from an unpaid search result for your name. Three moves fix that:
- Put a UTM-tagged link in the website field of your Business Profile. In a campaign URL, Google documents utm_source as the "referrer," utm_medium as the "marketing medium," and utm_campaign as a label such as a product, slogan or promo code (Google, checked 2026-10-05); something like
utm_source=google&utm_medium=organic&utm_campaign=gbp-profilekeeps those visits identifiable in GA4 instead of blending into generic organic traffic. Google Analytics direct traffic covers what happens to visits GA4 cannot tie to a source at all, which an untagged profile link can create. - Give organic and Maps callers a phone number that appears nowhere else, forwarding to your office line, separate from any number on a paid ad.
- Make "source" a required field on every new job in whatever software your office uses to book and dispatch, picked from a short list that keeps Google Ads apart from Google search or Maps, plus referral and repeat customer, and filled in before the job is saved. When the call came in on a tracking number, the number decides the pick, not the caller's memory.
Without the third one, the first two only tell you how many people clicked or called, never how many became a paying job.
What happens when an AI answer takes the click before you ever see it?
A searcher's question can get answered inside Google's AI Overview or a ChatGPT response before either sends a click to your site, and the owner-facing mechanics of both are long enough to cover on their own: how to rank in Google AI Overviews and how to get ChatGPT to recommend your business. The short version for your monthly report: a drop in Search Console clicks with impressions holding steady can mean an AI answer satisfied the search before anyone reached your listing, not that your ranking fell, so check impressions and average position alongside clicks before assuming the page lost ground.
What should your monthly SEO check look like?
| What to open | What to look at | What it tells you about jobs |
|---|---|---|
| Search Console, Performance | Queries, clicks, impressions, average position, filtered to searches tied to work you sell | Whether people are finding you for the right searches, and whether position is moving |
| Business Profile, Performance | Calls, website clicks, direction requests, bookings and messages for the period | How much Search and Maps activity happened, though it folds in paid and organic together |
| GA4, traffic source report filtered to your tagged Business Profile link | Sessions and any lead or booking event from that source | Whether tagged Business Profile clicks actually turned into a lead, separate from Google Ads |
| Your job records (whatever your office uses to book and dispatch) | Jobs with Google search or Maps as the recorded source for the period | Whether the clicks above converted into anything booked and paid |
What does a two-month read look like, start to finish?
Illustrative: every number below is made up for an imaginary three-truck HVAC and plumbing company; none of it comes from a client.
| What was checked | Month 1 | Month 2 |
|---|---|---|
| Search Console clicks, service-area pages | 140 | 210 |
| Search Console average position, main install query | 14.2 | 9.6 |
| Business Profile calls (includes Google Ads activity) | 95 | 130 |
| GA4 sessions from the tagged Business Profile link | 38 | 71 |
| Jobs logged with source Google search or Maps | 9 | 19 |
Cost per job from SEO = monthly retainer ÷ jobs logged with Google search or Maps as the source. At an illustrative $1,800 monthly fee, Month 1 is $1,800 ÷ 9 = $200 per job and Month 2 is $1,800 ÷ 19 = about $95 per job. Calls rose by 35 (95 to 130) and tagged sessions by 33 (38 to 71), but jobs rose by only 10 (9 to 19): not every call books, some calls came through Google Ads, and not every booked job is finished and paid before the month closes. Reading calls alone would have overstated what SEO delivered that month; jobs are what the $1,800 has to earn back.
What should an SEO retainer include, and what should you ask before you sign?
Google's own page on hiring an SEO suggests asking for examples of past work, whether the SEO follows Google Search Essentials (Google's published rules for appearing in its results), what results they expect, by when and how they measure them, what experience they have in your industry and your city, and whether they will share every change they make to your site (Google, checked 2026-10-05). For a trade business, a retainer worth paying names the pages, categories and searches being worked on, leaves Search Console and the Business Profile under your own login, and reports jobs by source next to rankings.
What to ask your agency
- Which pages, categories or searches is the retainer actually working on this month, by name?
- Can you see the Search Console property yourself, under your own Google account, not only inside the agency's report?
- Does the monthly report say which Business Profile calls may have come from Google Ads, or count them all as SEO results?
- What happens to rankings, the Business Profile listing and the Search Console property if you cancel?
Whoever runs your SEO should be able to answer the four questions above without changing the subject back to rankings.
Tags
Frequently asked questions
Who should own the Search Console property when an agency does my SEO?
You should, under a Google account your business controls. Google gives owners full control, including adding and removing users, while full and restricted users can view data but cannot manage who else has access. Add the agency as a user; if the agency verified the property itself, Google says its verification tokens must be deleted along with the user, or it can verify ownership again later.
How much should I expect to pay for SEO?
I have no verified source for a typical monthly price, so treat any number an agency quotes as a starting point to test, not a benchmark. Ask what the fee buys in hours or deliverables, and judge it against jobs logged with Google search or Maps as the source over a few finished months, the same way you would judge any other spend.
What is a SEO contractor?
It usually means a company or freelancer you pay to do search engine optimization work on your site, not a construction contractor. Google's own guidance for hiring one calls it an SEO, and suggests asking for past work, whether they follow Google's published Search Essentials, and how they define and measure results before you sign anything.
What is the 80/20 rule in SEO?
It is shorthand some people in SEO borrow from the Pareto principle, the idea that a small share of causes produces most of an effect, applied to the hunch that a few pages or keywords bring most of a site's organic traffic. Google does not publish or endorse it, so treat it as a reason to check in Search Console which of your own pages actually bring clicks, not as a rule to plan a budget around.
Why do Search Console and my Business Profile show different numbers for the same month?
They measure different things. Search Console's Performance report counts clicks and impressions from unpaid Google Search results only. Your Business Profile's Performance view counts actions like calls and website clicks from Search and Maps together, and Google says that report folds in views, searches and actions from both organic results and Google Ads, so its totals are not organic-only.
Written by
Olexander Cheberko
Marketing Analytics & Conversion Tracking Engineer, NYC-focused, run remotely
- Media buyer on Google Ads and Meta Ads from October 2023 to September 2025, nearly $700K in spend.
- Set up patient conversion tracking for a New York medical practice (anonymized).
- Upwork Top Rated, 5.0 from 20 reviews.