Digital Marketing Specialist – Local SEO, GBP & Google Ads (Roofing/HVAC Clients)

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

TYPE OF WORK

Any

SALARY

N/A

HOURS PER WEEK

15

DATE UPDATED

Sep 4, 2026

JOB OVERVIEW

WHEN TO HIRE: Now — ongoing role, part-time to start.

We are a digital marketing agency serving roofing and HVAC contractors in the US and Canada. We’re looking for a hands-on marketing specialist to execute the actual client-facing services we sell — Google Business Profile management, Google Ads campaigns, and local SEO — for our contractor clients.

ROLE & RESPONSIBILITIES (based on client tier):
Starter tier clients:
1. Google Business Profile (GBP) optimization and ongoing management
2. Review generation and management strategy
3. Monthly performance summary report
Growth tier clients (in addition to above):
4. Setting up and actively managing Google Ads campaigns
5. Setting up call tracking so we can attribute leads accurately
6. Detailed monthly reporting with call/lead breakdown
Premium tier clients (in addition to above):
7. In-depth local SEO (on-page content, local citations, backlink building)
8. Building dedicated service landing pages (e.g., “Emergency Roof Repair [City]”)
REQUIREMENTS:
• Minimum 1-2 years hands-on experience managing real Google Business Profiles for clients — must be able to share live GBP links or before/after screenshots as proof
• Minimum 1 year setting up and managing live Google Ads campaigns with a real budget (not just training/course projects) — Google Ads Search Certification strongly preferred
• Working knowledge of local SEO fundamentals: citation building (e.g. BrightLocal, Whitespark, or manual), on-page optimization, local link building
• Experience setting up call tracking (e.g. CallRail or similar) is a plus, not mandatory
• Comfortable building simple, clear client-facing reports (Google Sheets, Looker Studio, or similar)
• Strong written English, since this person may occasionally need to explain results in simple terms for client-facing reports
• Detail-oriented, able to work independently and flag issues proactively — I will be relying on this person’s technical judgment since my own background is in sales, not execution
• Bonus: experience specifically with home service/trades clients (roofing, HVAC, plumbing, electrical)
BUDGET: to be discussed, part-time (15-20 hours/week), with the goal of transitioning to full-time as we sign more clients and your workload grows with real client accounts.
TIMELINE: Looking to start within the next 1-2 weeks, as our first clients are expected soon.
To apply, please reply with:
• Your relevant experience/portfolio (GBP, Google Ads, local SEO examples)
• Whether you’re currently available part-time or full-time
• Your hourly rate expectation
• Any relevant certifications (Google Ads, Google Analytics, etc.)

SKILL REQUIREMENT
VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0008
Controller Execution Time ( Jobseekers / Job )  0.0125
Total Execution Time  0.0140
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,499,720 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Digital-Marketing-Specialist-Local-SEO-GBP-Google-Ads-RoofingHVAC-Clients-1723645
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0065 seconds)  (Hide)
0.0004   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1723645
 LIMIT 1 
0.0004   SELECT *
FROM `employers`
WHERE `employer_id` = 969313
 LIMIT 1 
0.0004   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1723645
AND `misc`.`idIS NULL 
0.0005   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-09-08',ej.date_added) duration_daysDATEDIFF('2026-09-08',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-09-08',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1723645' 
0.0004   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1723645 
0.0013   UPDATE employer_jobs SET hit_counts '***Sep-04-2026=923***Sep-05-2026=31***Sep-07-2026=2***Sep-08-2026=1' WHERE job_id'1723645'  
0.0008   UPDATE employer_jobs SET monthly_hits '***Sep-2026=956' WHERE job_id'1723645'  
0.0004   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1723645' AND status LIKE 'sent%' ORDER BY id DESC  
0.0004   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1723645 
0.0004   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '969313'
AND `date_added` >= '2022-06-08' 
0.0004   select from teasers 
0.0003   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)