Google Ads Specialist: Emergency Dental Office

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

TYPE OF WORK

Part Time

SALARY

$9/hr

HOURS PER WEEK

30

DATE UPDATED

Aug 3, 2026

JOB OVERVIEW

(Immediate Intent, Brick and Mortar, Calls as the Conversion)
TLDR:

What the ads do: Drive phone calls from people who need a dentist today, in five Texas markets, to physical emergency dentist offices.
Immediate intent, short decision cycle, calls as the conversion. Not form fills, not e-commerce.
ADs Budget: You manage multiple five figures in ad spend per month across five location accounts.
Type: Part-time, 8 to 10 hours/week (more hours initially), with potential to grow into full-time as we scale.

Schedule:
Reconfiguration/Clean Up Phase
Must include Monday and Tuesday,
With hours that overlap our team during 8:00 AM to 5:00 PM CST
20-40 hours
Maintenance Phase
10-12 hours a week

Needs based
Setup: Remote, working closely with a US based team. Reports to our Marketing Director and CEO. Must have access to reliable internet, power, and back up power plan.

About us
We run a group of emergency and urgent dental websites across major Texas markets and beyond. Our brands include:
Urgent Dental Hub: ----------
Emergency Dentist of Houston: ----------
Emergency Dentist of Austin: ----------
Emergency Dentist of San Antonio: ----------
Revitalized Smiles: ----------

What this account actually is
Someone cracks a molar at 9pm on a Saturday. They are in real pain, they are not comparison shopping, and they type "emergency dentist near me" into their phone. Then they call. Not later that night, not after reading three websites. They call whoever looks open and close. Our job is to make sure that is us.
That is the whole business in one sentence. Immediate intent, short decision cycle, physical offices with real drive times, and a phone call as the conversion.
You would own five location accounts with ad spend in the multiple five figures per month. The two things we care about most: get more qualified new patient calls, and stop paying for clicks that were never going to become patients.

What you'll own
Campaign strategy and build across all five locations, including campaign type selection and bidding approach. You should have a real opinion on Max Clicks vs. Max Conversions vs. tCPA and be able to defend it with something other than what a blog post told you.
Geo targeting and radius strategy per location. Keyword research, negative keyword management, and a search terms review you actually run on a schedule instead of when someone asks about it.
Ad assets and extensions, plus A/B testing that gets read and acted on.
Landing page configuration and performance monitoring. You do not need to build pages from scratch, but you do need to configure them and know when one is the reason the numbers look bad.
Conversion tracking hygiene. We expect you to be skeptical of it anyway.
Setting up and running Local Services Ads.
Competitor analysis and budget pacing across markets.
Weekly reporting. Real reporting, with numbers and a point of view about what they mean, not a screenshot dump.
What we're looking for
Hands in the account. Brick and mortar local service accounts where the conversion was a phone call and the intent was immediate.
Dental is preferred, but honestly a plumber's emergency account is closer to our business than a cosmetic dental account is. HVAC, plumbing, locksmith, towing, urgent care, garage door, restoration: if you ran high-intent same-day search for a physical business, we want to see it.
Certifications are fine, but they do not replace an account you actually ran. Show us the account.
This is probably not a fit if your background is pure e-commerce, pure form-fill lead gen, or affiliate. Different game, different instincts, and it does not transfer well here.

What success looks like in 90 days
Qualified new patient calls up [X]%. Cost per qualified call under $[Y]. Wasted spend down [Z]%.
Note the word qualified. We score our calls, so you are measured on calls that were actually potential patients, not raw call volume. If that framing sounds fair to you rather than annoying, we will probably get along.
On AI

Use it. We do. We are not going to pretend otherwise, and we are not interested in someone who refuses to. What we care about is whether you can tell when it is wrong, because in this account it will be, and confidently.

How to apply
Send us your resume, plus your portfolio and/or a description of previous relevant work that would make you successful in this role.
We review everything and invite qualified applicants to an interview.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0007
Controller Execution Time ( Jobseekers / Job )  0.0172
Total Execution Time  0.0184
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,520,800 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Google-Ads-Specialist-Emergency-Dental-Office-1701299
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0121 seconds)  (Hide)
0.0004   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0003   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1701299
 LIMIT 1 
0.0014   SELECT *
FROM `employers`
WHERE `employer_id` = 672238
 LIMIT 1 
0.0013   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1701299
AND `misc`.`idIS NULL 
0.0004   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-08-12',ej.date_added) duration_daysDATEDIFF('2026-08-12',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-08-12',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1701299' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1701299 
0.0009   UPDATE employer_jobs SET hit_counts '***Aug-03-2026=814***Aug-04-2026=49***Aug-05-2026=75***Aug-06-2026=18***Aug-07-2026=8***Aug-08-2026=5***Aug-12-2026=1' WHERE job_id'1701299'  
0.0006   UPDATE employer_jobs SET monthly_hits '***Aug-2026=969' WHERE job_id'1701299'  
0.0008   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1701299' 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` = 1701299 
0.0049   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '672238'
AND `date_added` >= '2022-06-08' 
0.0003   select from teasers 
0.0003   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)