Google Ads Specialist for Local Service Lead Generation

Please login or register as jobseeker to apply for this job.

TYPE OF WORK

Any

WAGE / SALARY

400/m after trial

HOURS PER WEEK

TBD

DATE UPDATED

Jun 12, 2026

JOB OVERVIEW

We are a growing digital marketing / lead generation company looking for a reliable Google Ads Specialist to help manage lead generation campaigns for local service businesses in the U.S.

Our first focus is home services / contractors, such as remodeling, roofing, kitchen/bath, windows, doors, painting, cleaning, moving, HVAC, plumbing, and similar local services.

This is not an e-commerce role. We need someone who understands lead generation.

Responsibilities:

* Build and manage Google Search Ads campaigns
* Help with Google Local Services Ads when applicable
* Research keywords for local service businesses
* Create negative keyword lists
* Set up or help manage conversion tracking for calls and forms
* Review search terms weekly
* Optimize campaigns for cost per qualified lead
* Prepare simple weekly performance reports
* Help recommend ad budget, CPL expectations, and campaign structure
* Work with landing pages, call tracking, Google Analytics, and Google Tag Manager when needed

Requirements:

* Experience with Google Ads for lead generation
* Experience with local service businesses is strongly preferred
* Home services / contractor experience is a big plus
* Must understand calls, forms, CPL, conversion tracking, and negative keywords
* Must be honest, detail-oriented, and able to explain things clearly
* Must be able to work independently and follow instructions
* Must provide examples of past campaigns or reports

Please do not apply if your experience is only:

* E-commerce
* Dropshipping
* Meta/Facebook ads only
* Social media management
* SEO only
* General VA work

Starting pay:
$400/month full-time after trial.

Trial:
We will start with a paid trial period before giving full responsibility. During the trial, you may be asked to create a campaign strategy, keyword plan, negative keyword list, CPL estimate, and tracking checklist for a local service business.

To apply, answer these questions:

1. What local service industries have you run Google Ads for?
2. What was the monthly ad spend and average cost per lead?
3. Have you managed campaigns for home services, contractors, remodeling, roofing, HVAC, plumbing, cleaning, moving, or similar?
4. How do you set up call tracking and form conversion tracking?
5. How often do you review search terms and add negative keywords?
6. What would you do first if a campaign gets many clicks but no leads?
7. Please share a screenshot, report, or example of a past lead generation campaign if possible.
8. Are you comfortable starting at $400/month after trial?

We are looking for someone long-term who can grow with the company as we add more clients.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0008
Controller Execution Time ( Jobseekers / Job )  0.0262
Total Execution Time  0.0275
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,509,408 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Google-Ads-Specialist-for-Local-Service-Lead-Generation-1667038
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0208 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0003   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1667038
 LIMIT 1 
0.0009   SELECT *
FROM `employers`
WHERE `employer_id` = 920770
 LIMIT 1 
0.0125   SELECT COUNT(DISTINCT t.id) as cnt
FROM 
`t_thread` `t`
INNER JOIN `t_message` `mON `t`.`id` = `m`.`thread_id`
INNER JOIN `t_message_employer` `eON `m`.`id` = `e`.`message_id`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1667038
AND `misc`.`idIS NULL 
0.0006   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-06-20',ej.date_added) duration_daysDATEDIFF('2026-06-20',e.rebill_date) duration_rebillej.*, e.deactivate FROM employers eemployer_jobs ej WHERE e.employer_id ej.employer_id AND
                                   ((
e.user_level >= '500' AND ej.date_added <= e.rebill_date)
                                   OR 
e.employer_id '' OR (ej.date_approved <> '2000-01-01' and DATEDIFF('2026-06-20',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1667038' 
0.0008   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1667038 
0.0007   UPDATE employer_jobs SET hit_counts '***Jun-12-2026=354***Jun-13-2026=22***Jun-20-2026=1' WHERE job_id'1667038'  
0.0005   UPDATE employer_jobs SET monthly_hits '***Jun-2026=377' WHERE job_id'1667038'  
0.0011   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1667038' AND status LIKE 'sent%' ORDER BY id DESC  
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1667038 
0.0025   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '920770'
AND `date_added` >= '2022-06-08' 
0.0002   select from teasers 
0.0002   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)