Google Ads Media Buyer

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

TYPE OF WORK

Part Time

SALARY

N/A

HOURS PER WEEK

TBD

DATE UPDATED

Aug 13, 2026

JOB OVERVIEW

JOB DESCRIPTION
About us

We're a Swedish ecommerce company running several direct-to-consumer brands across the UK, US, and Nordic markets. Our biggest brand sells a physical consumer product with strong repeat demand and a proven offer. We currently run a mature paid social operation with an in-house creative team, and we're now building out Google as a second major acquisition channel.

You will not be starting from zero. There is real revenue, real data, real creative, and a product that already converts. We need someone who can take Google from a side channel to a profitable, scalable one.

What you'll be doing

Own our Google Ads accounts end to end: build, launch, monitor, optimize, scale
Run and scale Shopping, Performance Max, Search, and (later) YouTube/Demand Gen campaigns
Structure accounts properly — campaign architecture, asset groups, audience signals, negatives, search term hygiene
Manage feed quality in Google Merchant Center (fix disapprovals, optimize titles/attributes, supplemental feeds)
Work with our creative team to brief the assets and video you need — you tell us what you need, we produce it
Report weekly on spend, ROAS, CPA, new-customer CAC, and what you're testing next
Watch for wasted spend and brand-term cannibalization, and be honest about what isn't working
What we're looking for

Required:

2+ years running Google Ads for ecommerce specifically (not lead gen, not agency reporting, not "assisted with")
Hands-on experience with Shopping and Performance Max for physical products
You have personally managed $10,000+/month in ad spend and can talk through what you did with it
Solid Google Merchant Center experience — you've fixed feed disapprovals and know why they happen
Comfortable with Shopify and understand ecommerce conversion tracking (GA4, Google Ads conversion tracking, server-side/CAPI is a plus)
You can read a P&L-style view of a channel and understand the difference between ROAS and profitability
Written English strong enough to explain your reasoning clearly in Slack and in a report
Reliable internet, own computer, and you show up consistently

Nice to have:

Experience with UK, US, or Nordic markets
Experience scaling a single-product or narrow-catalog brand
Google Ads certification (helpful, but we care far more about actual account results)
Familiarity with feed management tools (Feedonomics, DataFeedWatch, Simprosys, etc.)
Any experience with Meta ads — helpful for understanding how the channels interact, but Google is the priority

Not a fit if:

Your experience is mainly managing accounts under someone else's strategy
You've only run Search for local service businesses
You need someone else to tell you what to test next

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.0148
Total Execution Time  0.0162
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,499,656 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Google-Ads-Media-Buyer-1708398
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0059 seconds)  (Hide)
0.0004   SELECT *
                                
FROM exrates
                                WHERE rate_name 
= 'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1708398
 LIMIT 1 
0.0004   SELECT *
FROM `employers`
WHERE `employer_id` = 944891
 LIMIT 1 
0.0004   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `misc` ON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1708398
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-10-26',ej.date_added) duration_days, DATEDIFF('2026-10-26',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-10-26',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != 1 AND ej.deleted = 0 AND job_id = '1708398' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1708398 
0.0009   UPDATE employer_jobs SET hit_counts = '***Aug-13-2026=489***Aug-14-2026=119***Aug-15-2026=60***Aug-16-2026=23***Aug-17-2026=27***Aug-18-2026=36***Aug-19-2026=3***Aug-20-2026=1***Aug-21-2026=1***Aug-22-2026=2***Aug-24-2026=5***Aug-25-2026=4***Aug-26-2026=3***Aug-28-2026=1***Aug-29-2026=1***Aug-31-2026=1***Sep-01-2026=2***Sep-02-2026=2***Sep-05-2026=2***Sep-08-2026=1***Sep-09-2026=1***Sep-12-2026=1***Sep-14-2026=1***Sep-17-2026=1***Sep-18-2026=2***Sep-19-2026=1***Sep-23-2026=1***Sep-24-2026=1***Sep-27-2026=2***Sep-28-2026=1***Oct-01-2026=1***Oct-06-2026=2***Oct-09-2026=1***Oct-12-2026=1***Oct-13-2026=1***Oct-14-2026=2***Oct-16-2026=1***Oct-19-2026=1***Oct-20-2026=1***Oct-21-2026=3***Oct-23-2026=2***Oct-26-2026=2' WHERE job_id= '1708398'  
0.0006   UPDATE employer_jobs SET monthly_hits = '***Aug-2026=776***Sep-2026=19***Oct-2026=18' WHERE job_id= '1708398'  
0.0004   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id = '' AND job_id = '1708398' AND status LIKE 'sent%' ORDER BY id DESC  
0.0005   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1708398 
0.0004   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '944891'
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)