Experienced Google Ads Media Buyer - E-commerce (Search, Shopping & Performance Max)

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

TYPE OF WORK

Part Time

SALARY

Hour wage + bonus tied to ROAS

HOURS PER WEEK

TBD

DATE UPDATED

Jun 9, 2026

JOB OVERVIEW

We're a growing e-commerce brand selling to the US market via Shopify. We're looking for a Google Ads media buyer who has actually scaled e-commerce stores profitably not a generalist who has "run some campaigns." If you live and breathe ROAS, this is for you.
What you'll do:

Build, launch, and optimize Google Ads campaigns: Performance Max, Shopping, Search, and YouTube
Manage and troubleshoot Google Merchant Center and product feeds
Scale ad spend while maintaining/improving target ROAS
Run structured testing (creatives, audiences, bidding strategies, feed optimization)
Monitor accounts daily and report on key metrics (ROAS, CPA, conversion rate, spend)
Work closely with our team on product and seasonal strategy

What we're looking for (proven experience required):

A real track record managing e-commerce / dropshipping Google Ads accounts
Deep hands-on experience with Performance Max and Shopping campaigns
Strong understanding of Merchant Center, feed management, and conversion tracking
Comfortable making data-driven decisions on budget and bidding
Excellent written English
Reliable internet and overlap with US/EU business hours

How to apply read carefully:

Start your application with the word "SCALE" so we know you read the full post.
Attach screenshots from Google Ads accounts you've personally managed showing spend, ROAS, and conversions
Tell us: What is the highest monthly ad spend you've personally managed, and what ROAS did you maintain?
Answer this: For a new store with little or no conversion history, how would you structure your first Performance Max campaign, and how would you d ---------- on bidding strategy?

Applications that skip the word or the screenshots will not be reviewed.

SKILL REQUIREMENT
VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0009
Controller Execution Time ( Jobseekers / Job )  0.0242
Total Execution Time  0.0257
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,487,944 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Experienced-Google-Ads-Media-Buyer-E-commerce-Search-Shopping-Performance-Max-1664864
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0168 seconds)  (Hide)
0.0009   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0009   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1664864
 LIMIT 1 
0.0014   SELECT *
FROM `employers`
WHERE `employer_id` = 875833
 LIMIT 1 
0.0014   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1664864
AND `misc`.`idIS NULL 
0.0010   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-07-18',ej.date_added) duration_daysDATEDIFF('2026-07-18',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-07-18',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1664864' 
0.0013   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1664864 
0.0013   UPDATE employer_jobs SET hit_counts '***Jun-09-2026=228***Jun-10-2026=45***Jun-11-2026=33***Jun-12-2026=24***Jun-13-2026=1***Jun-14-2026=3***Jun-15-2026=7***Jun-16-2026=5***Jun-18-2026=2***Jun-19-2026=1***Jun-23-2026=2***Jun-24-2026=1***Jun-25-2026=6***Jun-26-2026=1***Jun-28-2026=3***Jun-29-2026=1***Jun-30-2026=1***Jul-01-2026=3***Jul-02-2026=3***Jul-03-2026=1***Jul-18-2026=1' WHERE job_id'1664864'  
0.0012   UPDATE employer_jobs SET monthly_hits '***Jun-2026=363***Jul-2026=8' WHERE job_id'1664864'  
0.0014   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1664864' AND status LIKE 'sent%' ORDER BY id DESC  
0.0008   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1664864 
0.0036   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '875833'
AND `date_added` >= '2022-06-08' 
0.0008   select from teasers 
0.0008   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)