Paid Search Manager

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

TYPE OF WORK

Full Time

SALARY

$2000/mo

HOURS PER WEEK

40

DATE UPDATED

Sep 20, 2026

JOB OVERVIEW

We sell industrial automation components — VFDs, motors, gearboxes, clutches, and brakes — across four websites: three e-commerce stores and one content. Every customer finding us today found us organically. You will be building the paid program from the ground up.

Why this role exists
Our growth has come entirely from organic search and inbound phone quotes. That works, but it caps how fast we can move and leaves us blind to a large pool of buyers searching for parts we stock and can ship the same week.
We are not looking for someone to inherit a mature account and shave 8% off CPCs. We are looking for someone who can stand up measurement, build clean product feeds from our WooCommerce catalogs, prove out paid search with a controlled test budget, and then scale it.

What you will own
First: measurement. GA4 is installed. That is where our instrumentation ends. There is no conversion tracking on orders, forms, or phone calls. You will build all of it — and because a meaningful share of our revenue closes over the phone after a web-sourced quote request, you will need to think seriously about call tracking and offline conversion import, not just checkout events.

Then: the accounts. Google Ads and Shopping across three storefronts, plus whatever role the two content sites play in the funnel. Campaign structure, feed hygiene, negative keyword discipline, bidding strategy, budget allocation across sites.

Ongoing: the number. Paid search here has to clear a target ROAS of roughly 3:1 to be worth scaling. That is the metric you will be measured against. Online orders are the primary conversion; quote requests and calls are a secondary signal we want tracked and valued honestly, not ignored because they are harder to attribute.

Budget: We are starting with a test budget and scaling it against proven returns rather than committing to a fixed monthly spend up front. If you need a large budget on day one to demonstrate value, this is not the right fit. If you like the idea of a budget that grows because you earned it, read on.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0008
Controller Execution Time ( Jobseekers / Job )  0.0143
Total Execution Time  0.0160
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,485,040 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Paid-Search-Manager-1734233
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0078 seconds)  (Hide)
0.0004   SELECT *
                                
FROM exrates
                                WHERE rate_name 
= 'USD-PHP' 
0.0005   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1734233
 LIMIT 1 
0.0008   SELECT *
FROM `employers`
WHERE `employer_id` = 688100
 LIMIT 1 
0.0008   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `misc` ON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1734233
AND `misc`.`id` IS NULL 
0.0005   SELECT e.business_name, e.logo, e.website, e.rebill_date, e.date_added member_date, hits, DATEDIFF('2026-09-27',ej.date_added) duration_days, DATEDIFF('2026-09-27',e.rebill_date) duration_rebill, ej.*, e.deactivate FROM employers e, employer_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-27',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != 1 AND ej.deleted = 0 AND job_id = '1734233' 
0.0004   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1734233 
0.0007   UPDATE employer_jobs SET hit_counts = '***Sep-20-2026=688***Sep-21-2026=35***Sep-22-2026=34***Sep-23-2026=19***Sep-24-2026=5***Sep-25-2026=5***Sep-26-2026=4***Sep-27-2026=1' WHERE job_id= '1734233'  
0.0006   UPDATE employer_jobs SET monthly_hits = '***Sep-2026=791' WHERE job_id= '1734233'  
0.0011   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id = '' AND job_id = '1734233' AND status LIKE 'sent%' ORDER BY id DESC  
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1734233 
0.0008   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '688100'
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)