Google Ads for tree service companies: the build order
Written for a tree service owner or the office manager who books estimates and runs the storm phone. Service area, which calls count, keyword buckets, the negative list to load on day zero, ad groups, ad copy inside Google's character limits, how Local Services Ads changes the auction, and the weekly hour that keeps it honest, in the order you would build it.
Free30 minutesNo obligation
The short answer
To run Google Ads for tree service companies, optimize toward a sold estimate that becomes a completed, invoiced job — recorded in your tree care software (SingleOps, Arborgold, ArboStar or Jobber) — rather than toward form fills or booked appointments. Two auctions in one account. The costliest mistake is running storm work and planned trimming in one campaign with one bid and one schedule. Everything below is the build order, in the sequence you would actually work through it.
Written by Ariful Islam — eight years building Google Ads accounts and the conversion tracking underneath them.
Specific to Tree service
Google Ads for tree service companies: split the storm phone from the estimate calendar
For a tree service company, run storm and emergency removal in its own campaign with its own hours and cap, and split planned removal, pruning and stump grinding by job size. Target ZIP codes where you have sold work, block firewood and nursery searches, and optimize toward sold estimates from SingleOps, Arborgold, ArboStar or Jobber with job value.
'After a storm the phone explodes and we can't answer it. The rest of the month we pay for tree trimming cost clicks.' That is the account most tree companies run: one campaign, one schedule, one budget. Calls about a limb through a roof come at night and on weekends, often after the daily cap went on daytime trimming research, and the homeowner planning a large removal is treated the same as someone asking for free firewood.
The software is part of it. Estimates are written in SingleOps, Arborgold or ArboStar, and none of them documents a Google Ads connection, so a sold crane removal never reaches the account unless someone sends it. Jobber's request form can send GA4 events but offers no Google Ads tag. Bidding sees calls and form fills, values them all alike, and drifts toward the cheapest: small stump jobs at the edge of the area and wood-chip seekers who stay on the line long enough to count.
The ten-minute check: pull last month's calls from Google Ads or your call tracker by hour, and mark the hours when campaigns were already limited by budget. Then put Google's conversion count for your last storm week next to the estimates written in the software that week. Fixed means storm and planned work in separate campaigns, the click ID stored on every estimate, sold estimates imported with value, and a monthly cost per sold job by campaign your office agrees with. The free audit walks one storm week and one quiet month from click to sold estimate.
Search terms to start from
- emergency tree removal
- tree removal near me
- tree trimming service
- stump grinding near me
- dead tree removal
- crane tree removal
- storm damage tree removal
- tree pruning service
- arborist near me
- hazard tree assessment
Negative keywords
- tree service jobs
- tree climber salary
- free firewood
- free wood chips
- tree nursery
- fruit trees for sale
- chainsaw rental
- stump grinder rental
- how to cut down a tree
Symptom and fix
Five problems we get called in to fix
- 01
Google Ads shows a full month of conversions. SingleOps shows a handful of sold estimates from Google, and nobody can say which campaign wrote them.
What is actually happening
Every call past the duration counts, including firewood requests, job seekers and customers chasing a crew date, and the estimate in the tree care software never received the click or the tracked call that started it.
What fixes it
One call source, a duration rule set from your own recordings, the click ID captured on the estimate form and stored on the client record, and sold estimates imported with their value.
- 02
After a storm the phone rings nonstop and we can't answer it. The rest of the month we pay for 'tree trimming cost' clicks.
What is actually happening
Storm and planned work share one campaign, one schedule and one budget, so trimming research spends at storm prices and the cap is hit before the night calls.
What fixes it
A storm campaign with its own budget, schedule and call routing, switched on for affected ZIP codes and off on a date, with planned work kept to office hours.
- 03
A stump grind and a crane removal show up as the same conversion.
What is actually happening
Flat conversion values, or none, so bidding prefers whichever jobs are cheapest to get, which are the small ones.
What fixes it
Sold value passed back from the estimate, and large removals in their own campaign so the account can see what they are worth.
- 04
The search terms report is full of firewood, wood chips and tree nurseries.
What is actually happening
Broad match on 'tree' with no tree-specific negative list, so it matches buying, planting and free-wood searches.
What fixes it
Negatives for firewood, chips, mulch, nurseries, saplings, equipment rental and climbing jobs, reviewed weekly, with removal terms on phrase and exact until sold estimates import.
- 05
Estimate requests come from towns the crews will not drive to.
What is actually happening
A radius from the yard with Presence or interest targeting, and a storm campaign that was never switched back.
What fixes it
ZIP targeting from where sold work clusters, Presence-only targeting, and a storm campaign with an end date.
Read this before step one
Google Ads does not fail on its own. It fails on top of three things that were already broken.
- 01
Conversion tracking that reports the truth
If Google is counting form fills rather than a sold estimate that becomes a completed, invoiced job, every bid it makes is aimed at the wrong outcome. First-party, server-side, joined back to your own system — not a browser tag that a consent banner or a cookie policy can silence.
- 02
A landing page that answers the search
One page for every ad group means the page answers a general question when the search asked a specific one. Google scores that as poor landing page experience and charges you more per click for it.
- 03
The right campaign for the goal
Performance Max on a broken signal spends faster and explains less. Search first, on a conversion you trust, then expand — in that order, because the order is not a preference.
Get all three right and the playbook below compounds. Get the first one wrong and everything below is executed perfectly in the wrong direction — which is the single most expensive thing that happens in this channel.
Not sure which of the three is wrong on your account? Send it over and we will tell you what it is actually reporting.
Free Google Ads + call tracking audit
What the free audit covers for tree service companies
- The conversion bidding learns from: a sold estimate that becomes a completed, invoiced job
- Whether your tree care software (SingleOps, Arborgold, ArboStar or Jobber) reports back to Google Ads
- The costliest mistake: Running storm work and planned trimming in one campaign with one bid and one schedule
- Search terms against 9 starter negatives
- Call tracking: which calls count, and which are counted twice
- Your account against the 15-step build order below
How it works
- 1Pick a 30-min slot
- 2Live session with Ariful
- 3Written audit in 24 hours
Free30 minutesNo obligation
Decide what counts as a conversion before you spend anything
For tree service companies the conversion that matters is a sold estimate that becomes a completed, invoiced job, and it lives in your tree care software (SingleOps, Arborgold, ArboStar or Jobber) — not in the ad platform. Google can only optimize toward what you send it, so whatever you pick here decides what the algorithm spends the next ninety days chasing. Pick the wrong one and every later step in this playbook is executed perfectly in the wrong direction.
This is the step we get called about most. If you do not have a developer for it, that is the normal situation rather than the exception — it is most of what we do, and it is worth fixing before the spend rather than after.
Everyone agrees the real conversion matters and then optimises to form fills anyway, because form fills are the number that is already there. The wrong choice here is invisible for ninety days and then expensive.
Google will spend ninety days chasing whatever you tell it to count. That decision is made here, in five minutes, before any money moves.
- 01Write down the single event that means money: a sold estimate that becomes a completed, invoiced job.
- 02Find where that event is recorded today. For most of this industry that is your tree care software (SingleOps, Arborgold, ArboStar or Jobber).
- 03Check whether that system can be joined back to a click — a GCLID field, an email, or a phone number captured at the form.
- 04If it cannot, fix that before you launch. An account optimizing toward form fills is optimizing toward the wrong thing the moment the form is easy to fill.
- 05Set the conversion action to the real one, and mark every softer action as secondary so it reports but does not bid.
Turn off the three defaults before you turn the campaign on
Google enables these on every new Search campaign, and none of them are keyword decisions — they are switches on the settings screen that decide where the money goes before a single keyword applies. Everything else in this playbook operates on whatever is left after they have taken their cut, so a reader who skips this step spends the rest of it optimizing a remainder.
For Tree service · Target ZIP codes from where sold estimates cluster, Presence only, and keep storm response in its own paused campaign so it goes live on the forecast and stops on a date.
Half an hour of switches that decides where a year of budget goes — and it is the screen everyone skips because it looks like boilerplate.
Three switches decide where the budget goes before a single keyword is involved. All three are on.
| Setting | What Google defaults it to | Set it to |
|---|---|---|
| Networks — search partners | Included. Your ads run on sites that are not Google. | Off at launch. Add it back later, as its own campaign, when you can see what it contributed on its own. |
| Networks — display expansion | Included. A Search campaign quietly starts buying banner placements. | Off. Display is a different intent and a different campaign; mixing them makes both unreadable. |
| Locations — targeting | Presence or interest — people merely interested in your area count. | Presence only. Under Location options, choose people in or regularly in your targeted locations. |
| Audiences | Observation, which measures without restricting. | Leave on observation deliberately, not by accident. If you meant to narrow, you have to switch the mode. |
| Bidding | Maximize clicks, or a target set before any data exists. | Maximize conversions on the real conversion action. A target set on day one is a guess the algorithm will honor. |
Draw the service area around the jobs that pay, not a circle on a map
Tree jobs run from a quick stump grind to a crane removal over a house, and the equipment decides the economics: moving a bucket truck, a chipper and a crew costs about the same whether the job is small or large. A stump job at the edge of a wide radius can lose money; a crane removal at the same distance pays for the trip. Draw the area from where you have sold work, give large removals a wider area than trimming and stumps, and decide before storm season how far the storm campaign goes.
The radius gets drawn from the office instead of from where the profitable jobs are, and nobody revisits it once the search terms report starts showing towns the crew refuses to drive to.
- 01Map last year's sold estimates by ZIP code from the tree care software, split by job size
- 02Set location options to Presence, so people reading about a storm somewhere else never see the ads
- 03After each storm, read the user-location report before widening any campaign
- Trimming and stump grinding
- Core ZIP codes near the yard and where crews already work, so small jobs can be grouped into one day's route.
- Large and crane removals
- A wider ring of ZIP codes, because the ticket pays for mobilizing the equipment.
- Storm response
- Its own campaign for the ZIP codes the storm hit, switched on with a cap and switched off on a date.
Decide which calls count before Google counts all of them
Tree leads arrive both ways: a tree on a house is a phone call, often at night, while a removal or pruning job is often a form with photos or a call that books an estimate visit. Google counts a call once it passes the duration you set, and cannot tell a homeowner with a split oak from someone asking whether you drop free wood chips. Count calls that describe a job at an address you serve, and let the sold estimate, not the call, be what bidding learns from.
Every call gets counted because that is the default, and by the time anyone listens to the recordings the bidding has spent a quarter learning from wrong numbers and supplier calls.
- 01Requests for free firewood, wood chip drops or logs
- 02Climbers and groundworkers calling the ad number about jobs
- 03Calls about trees on power lines or city-owned street trees, which most companies refer to the utility or the city
- 04Out-of-area callers, and storm crews looking for subcontract work, in the days after a storm
- 05Customers with an estimate already written calling to ask when the crew is coming
- Count a call when
- The caller describes a tree, limb or stump at an address inside your service area and books an estimate visit, or asks for storm work your crew and equipment can handle.
- Minimum duration
- Start at 60 seconds and test it against recordings. A real tree call covers the address, the size of the tree, what it stands over (house, fence, wires) and whether a truck can reach it, which rarely fits in less. The sold estimate is the truth; duration only filters.
- After hours
- Run storm and emergency ads overnight only if an on-call crew, or an answering service that can reach one, picks up. Otherwise schedule them off after hours, keep planned removal and trimming ads to office hours, and call back overnight voicemails first thing.
- Double counting
- One source per call. If CallRail or another tracker imports calls into Google Ads, turn off Google's own call conversion for the same calls. When a homeowner calls and then sends photos through the estimate form, count the person once, on the estimate record.
Build the keyword list in four buckets, not one
One flat keyword list is why most accounts in this vertical cannot tell which half of the budget works. Sorting terms by the intent behind them means you can bid, write and judge each group on its own terms — a problem-aware search and a competitor search convert at rates that have nothing to do with each other, and averaging them hides both.
The list is easy to build and hard to bucket. Sorted by volume instead of by intent, it produces an account you cannot read six weeks later.
| Bucket | Terms to build on |
|---|---|
| Storm and emergencyA tree on a roof, car or driveway: searched on a phone during or after bad weather and converted by a call. |
|
| Removal estimatesDead, leaning or unwanted trees, researched and quoted; the largest tickets come from here and justify a wider area. |
|
| Pruning and trimmingPlanned work that fills the slower months; lower tickets, shorter drives and often repeat clients. |
|
| Stumps and arborist servicesStump grinding fills route gaps; assessments and tree health work suit owners who want a diagnosis before a cut. |
|
Match types, and why exact has not meant exact since 2021
Exact match includes close variants — misspellings, plurals, reordered words, dropped function words. Phrase match now behaves roughly like the old broad-match-modified. Broad match reaches as far as Google judges useful, which with a good conversion signal is genuinely valuable and without one is an open tap. Start narrow, prove the signal, then widen — in that order, because widening is reversible and a mistrained bidding algorithm is not.
For Tree service · Broad match on 'tree' drifts into firewood, nurseries, chainsaws and Christmas trees. Keep removal and storm terms on exact and phrase until sold estimates are importing.
Broad match added early, before the conversion signal is trustworthy, teaches the algorithm the wrong lesson faster than any other single decision in the account.
- 01Launch on exact and phrase only. You are buying data you can read, not volume.
- 02Give broad match its own campaign when you add it, so its spend and its search terms are separable from everything else.
- 03Keep 5 to 10 tightly themed keywords per ad group. When you want an eleventh, that is usually a signal to build another ad group instead.
- 04Do not add the same keyword in three match types in one ad group. Google picks by relevance, not by your match type ladder, and you are only making the report harder to read.
Load the negatives before the first click, not after the first invoice
Every vertical has a set of searches that look commercial and are not. In tree service companies those are job seekers, students, people looking for free help, and DIY researchers. Broad and phrase match will find all of them for you. Add this list at the account level on day zero — the first week of an unfiltered account is the most expensive week it will ever have.
The starting list is the easy part. The list that matters is the one you build from your own search terms report every week, and that is the habit almost nobody keeps past month two.
- tree service jobs
- climber jobs
- groundman
- arborist salary
- arborist certification
- free firewood
- firewood for sale
- free wood chips
- mulch
- tree nursery
- fruit trees
- saplings
- christmas tree
- chainsaw
- stump grinder rental
- bucket truck for sale
- how to cut down a tree
- tree service software
- tree service business for sale
- tree house
One ad group per intent, and no more than you can write ads for
Ad groups exist so the ad can match the search. The moment a group holds two intents, the ad has to be vague enough to cover both, and vague ads lose the auction on relevance before budget ever enters the picture. Build these groups, each with its own ads and its own landing page.
The structure is quick to draw and slow to serve: every ad group you create needs its own ads and its own page, so the build you sketched in an afternoon turns into a fortnight of copywriting.
- AG01
Storm tree removal
Call-first ads, storm ZIP codes and its own cap; paused between storms so it never sets the baseline.
- emergency tree removal
- tree fell on house
- storm damage tree removal
- fallen tree removal near me
- tree limb fell on car
- AG02
Tree removal
Planned removals with an estimate form that accepts photos, and a wider area than trimming.
- tree removal near me
- tree removal company
- dead tree removal
- leaning tree removal
- tree removal cost
- AG03
Crane and large removals
Highest tickets; quote-first copy, crane and rigging photos, and the widest service area.
- crane tree removal
- large tree removal
- tree removal over house
- hazardous tree removal
- big tree removal cost
- AG04
Tree trimming and pruning
Lower-ticket planned work; dormant-season offers and a tighter area.
- tree trimming service
- tree pruning near me
- tree trimming cost
- crown thinning
- branch removal service
- AG05
Stump grinding
Small jobs that fill routes; core ZIP codes only, and copy that offers to quote stumps with a removal.
- stump grinding near me
- stump removal
- stump grinding cost
- tree stump removal service
- stump grinding service
Responsive search ads that the landing page can actually back up
Google rewards assets that match the search and the page behind it. It penalizes — and increasingly disapproves — copy that promises something the page does not deliver. Every line below is written to be provable on arrival. Character counts are shown because assets over the limit are rejected at upload, which is where most copied-from-a-blog ad copy dies.
Copy that is fine everywhere else is a policy problem here. In regulated verticals the claim has to be provable on the page it lands on, and a disapproval mid-flight stops the ad group dead.
- Emergency Tree Removal22/30
- Storm Damage Tree Service25/30
- Tree Removal Estimates22/30
- Crane Tree Removal18/30
- Tree Trimming and Pruning25/30
- Stump Grinding Service22/30
- [ISA Certified Arborist]24/30
- [Licensed & Insured in STATE]29/30
- Send Photos for an Estimate27/30
- Tree Service in [City]22/30
- Tree on your roof or driveway? Call now and talk to a crew lead about getting it off.85/90
- Dead or leaning tree? Book an on-site estimate and get a written price before any work.87/90
- Pruning, crown thinning and stump grinding from a local tree crew. Ask us for a quote.86/90
- Large removal near the house? We quote crane and rigging work after walking the site.85/90
What Local Services Ads takes from this auction, and when to run both
Local Services Ads in the Tree services category carry the Google Verified badge and sit above the text ads on many 'tree removal near me' searches, so in storm weeks they take many of the first calls. LSA leads have no click ID, so match them to estimates by phone number and date. Search wins the homeowner planning a removal who wants photos, credentials and a page before calling, and the large removals that need an on-site estimate. Google no longer credits leads for job types or areas you do not service, so set LSA job types and the service area to match what you sell instead of relying on disputes.
LSA and Search are reported in two different places, so the same customer gets counted twice and both channels look better than the bank account does.
- Storm and hazard calls
- LSA often takes these first. Keep Search narrow here and judge it on sold estimates LSA did not already produce.
- Planned removals and pruning
- Where Search is strongest: removal, pruning and stump pages with an estimate form that accepts photos.
- Migration timing
- Tree services is not named in the first phase of Google's move of LSA into Google Ads; service-area businesses without storefronts follow in late 2026. Export your LSA lead list monthly so the phone-number match to estimates does not depend on one screen.
Budget to the demand curve, and only bid on hours someone answers
Tree demand has a base and spikes. The base is planned work: dormant-season pruning and removals in late fall and winter, when the leaves are off, and dead or dying trees that owners notice when everything else leafs out in spring. The spikes are storms: wind, ice and hurricane weather produce a burst of emergency calls over a few days, then a long tail of cleanup and hazard-tree removals.
Budgets get raised the week demand arrives, which is the week the account has the least room to learn and the office has the least capacity to answer.
- Ramp
- Keep removal and trimming campaigns live all year at a budget the estimator can follow up, push pruning and planned removal offers in the slower months when the schedule has gaps, and keep the storm campaign built and paused, so it goes live on the forecast rather than after the phones start.
- Dayparting
- Planned-work ads belong to the hours someone books estimates. Storm ads follow the on-call schedule. Check missed calls by hour every week, and every day during a storm.
Why the advertiser bidding the most is often third
Position is not bought, it is earned and then paid for. Google ranks you on your bid multiplied by how good it expects your ad and landing page to be, plus your assets — so a relevant advertiser at half the bid outranks a vague one, and then pays less per click at the same position. This is the mechanism underneath everything above: tight ad groups and honest ad copy are not tidiness, they are the discount.
For Tree service · Local Services Ads and storm crews from out of town crowd the page after bad weather, and prices jump in the hit ZIP codes. In quiet months you compete with established local companies and lead sellers on removal and trimming terms.
Quality is treated as a score to chase rather than a diagnostic to read, so people optimise the number instead of the mismatch it is pointing at.
Position is not bought. A relevant advertiser at half the bid outranks a vague one — and then pays less for the click.
- 01Read Quality Score as a diagnostic, not a target. The 1 to 10 number is not what runs the auction; the three components underneath it tell you which of ad copy, keyword grouping or landing page is dragging.
- 02Ad relevance low? The ad group holds more than one intent. Split it.
- 03Landing page experience low? The page is not answering the search — usually because one page is serving every ad group.
- 04Expected CTR low? Your ad is not the one being clicked. Rewrite the headlines against the actual search terms, not against the keyword.
Bidding, and the point at which you are allowed to change it
Start on Maximize Conversions with qualified calls and estimate requests as the primary goals, because sold estimates are too few in the first weeks to steer bidding. Import sold estimates from the tree care software with their value inside the 90-day import window, then move removal and trimming campaigns to value-based bidding once enough have imported. Give the storm campaign its own budget and its own goal, and pause it on a date, so a week of storm calls never sets the bids for planned work. Smart bidding is a data problem before it is a strategy problem: with thin or wrong conversion data it will confidently optimize toward noise, and it does that faster than a manual account can lose money.
For Tree service · Bid on qualified calls and estimate requests until sold estimates import from SingleOps, Arborgold, ArboStar or Jobber, then move removal campaigns to value-based bidding. Never let the storm campaign share a budget with planned work.
A target set before the data exists is a guess the algorithm will honour to the letter.
What to judge, and when you are allowed to judge it
Most accounts are killed or rescued on evidence that could not have meant anything yet. The bidding algorithm is fitting a model, and a model fitted on two weeks of data is fitted on noise. This is the shortest honest schedule: what to look at each stretch, and — more usefully — what to ignore.
For Tree service · Expect the first month to go on cleaning up calls and negatives. Judge month one on qualified calls, month two on estimates written, and month three on estimates sold, by campaign.
Accounts get killed on week-three evidence that could not have meant anything yet — and the replacement starts its own learning phase from zero.
The first month buys data. The second corrects for it. The third is the first one worth judging.
- 01Weeks 1–2 — watch search terms and nothing else. Add negatives daily. Cost per conversion at this stage is not a number, it is a rumor.
- 02Weeks 3–4 — the first real read on which ad groups get impressions. Pause nothing on conversion volume yet; fix relevance where the ad and the query disagree.
- 03Weeks 5–8 — conversion data starts to mean something. If you are near thirty conversions in thirty days, a target becomes an option. If you are not, the answer is a narrower footprint, not a lower target.
- 04Weeks 9–12 — the first period worth judging on cost per outcome. Compare against your own system, not the Google column, and expect the two to disagree.
- 05Only now: consider broad match, Performance Max, or a second market. Each of them needs the signal you spent the quarter building.
The weekly hour that decides whether this works
An account left alone drifts toward the cheapest clicks it can find, because that is what the system is built to do when nobody corrects it. This is the shortest routine that keeps it honest. It takes about an hour and it is the difference between an account that compounds and one that plateaus at month three.
For Tree service · Compare calls Google counted with estimates written in the software, by campaign. A campaign with many calls and few estimates has a call-rule or negative-keyword problem before it has a bid problem.
This is the one that decides whether any of the above compounds, and it is the first thing to go the week you get busy. An account left alone drifts toward the cheapest clicks it can find, because that is what it is built to do when nobody corrects it.
- 01Search terms: firewood, wood chips, nursery, chainsaw and climbing-job searches turn up every week
- 02Calls by campaign, split into storm, removal estimate, and spam or out-of-area
- 03Estimates written and estimates sold by campaign from SingleOps, Arborgold, ArboStar or Jobber, with sold value
- 04Missed calls by hour, and overnight in storm weeks
When Google Ads is the wrong answer here
Three situations where running this playbook will lose money. Read them before you fund the account, not after.
- You cannot answer storm calls during the hours you advertise. A homeowner with a tree on the roof calls the next listing as soon as yours goes to voicemail.
- Your estimator is booked weeks out. Planned-removal shoppers sign with whoever walks the property first, so waiting leads go cold and still cost the click.
- You mainly do utility line clearance or municipal contracts. Residential search demand is the wrong audience for bid work.
Questions this raises
- Should tree companies run storm ads all the time?
- No. Build the storm campaign once, with storm-damage terms, call-first ads and its own cap, and keep it paused. Switch it on for the hit ZIP codes when the damage is real and you have crews to send, and switch it off on a date so storm volume never becomes the baseline.
- What should a tree service count as a conversion?
- Qualified calls and estimate requests to start, because they arrive quickly. The conversion bidding should learn from is the sold estimate, imported from your tree care software with its value, so a crane removal counts for more than a stump grind.
- How much should a tree service company spend on Google Ads?
- Start from your own numbers: the estimates your estimator can write each week, your close rate on estimates, your average sold job in the tree care software, and the cost per sold job you can accept. Fund enough clicks to fill that estimate calendar for a full season, and give the storm campaign a separate cap so it cannot drain planned work.
- Should tree services use Performance Max?
- Not until Search is judged on sold estimates. Performance Max spends across Maps, YouTube and Display placements you cannot separate, and with calls counted loosely it finds firewood seekers as readily as buyers. Once sold estimates import with value, test it on planned removals and judge it on the estimates it adds.
- Why does Google Ads show more storm calls than we booked?
- Missed calls, repeat callers, out-of-area callers and storm crews looking for subcontract work can all pass a duration rule. Count one call per caller per day, exclude areas you do not serve, and compare Google's count with estimates booked in the software after every storm.
What this costs you, in hours
Every step above is doable. Together they are a project with a tail. Nobody tells you this part, so here it is before you start rather than in month three.
So what should you actually do with this?
Three honest options. The first one is genuinely fine for a lot of businesses, and we would rather you picked it knowingly than drifted into it.
Run it yourself
Good if you have the hours and someone technical
- 25–32 hours to build, then 3–4 every week
- You end up understanding your own account, which is worth real money later
- The measurement step still needs a developer
- Your mistakes are paid for at auction prices while you learn
Hire a general agency
Good if you want it off your desk this month
- Fast to start, and most are competent at the campaign work
- Usually optimizes toward whatever is easy to count — the form fill, the booked call
- Reports come from the ad platform's own numbers
- The measurement problem stays yours, because it lives in your systems
Work with us
Good if the reporting has stopped matching reality
- We build the measurement first — first-party, server-side, joined back to your tree care software (SingleOps, Arborgold, ArboStar or Jobber)
- Then we run the account on a conversion we can both check
- Reporting is against your numbers, not the Google column
- Eight years of this, and the tracking and the media are the same team
We are not going to promise you a number. Anyone who quotes you a return before seeing what your account currently reports is guessing, and the guess is always flattering. What we will tell you, for free and before any of this becomes a conversation about money, is what your account is actually measuring today.
Or we run it for you
Eight years of Google Ads, on top of tracking that reports the truth.
Everything above is doable, and none of it is the hard part — the hard part is doing it every week for a year while running the business it is meant to fill. That is the 3–4 hours a week you just read about, on top of the 25–32 to build it.
Most agencies will run the campaign and take your word for what a conversion is. We build the measurement first — first-party, server-side, joined back to your tree care software (SingleOps, Arborgold, ArboStar or Jobber) — and then manage the account on a signal we can both trust. It is the same reason the playbook above starts with the conversion rather than the keywords.
- Account build or rebuild, structured the way this page describes
- Conversion tracking wired to your tree care software (SingleOps, Arborgold, ArboStar or Jobber), not to form fills
- Server-side, first-party tagging so the signal survives the browser
- Landing pages that answer the ad, one per intent
- Monthly reporting against your own numbers, not the Google column
- The search terms report worked every week, not quarterly
The first conversation is a read of what your account is actually reporting. No deck, and nothing to sign to get it.
- Agency since 202210-person team
- 300+ clients1,000+ projects
- CertifiedGoogle Ads · GA4 · Meta
