Senior Google Ads Media Buyer (UK Fashion E-commerce dropshipping) — Shopping/PMax + Merchant Center (Profit First)

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

TYPE OF WORK

Any

SALARY

15 (Can be more)

HOURS PER WEEK

40

DATE UPDATED

Apr 3, 2026

JOB OVERVIEW

We are building a UK-based general fashion e-commerce store (dropshipping model) and we’re looking for a senior Google Ads media buyer who can take us from 0 ? stable profitable days with a disciplined, profit-first approach.

This is NOT an entry-level role. We only want someone with a real, proven track record running Google Ads for e-commerce.

Our current stage (important context)
- UK market, general fashion store (broad catalog)
- Shopify (dropshipping)
- We are expanding the catalog in a controlled way to keep things healthy/compliant:
- 25 products/day until ~500–600 products
- Then we switch to 50 products/week (batch uploads)
- We need someone who understands how catalog growth impacts Merchant Center + Shopping/PMax performance and can manage this properly.

Your mission
Build and manage a Google Ads system that becomes consistently profitable and scalable, while keeping waste low and compliance strong.

Responsibilities
- Audit & fix: Google Ads account structure, tracking, Merchant Center/feed health
- Launch + manage: Shopping / Performance Max / Search (only what makes sense)
- Feed optimization: titles, attributes, product types, disapprovals, diagnostics
- Profit-first optimization: reduce wasted spend, improve CVR/CPA/ROAS, search term control
- Weekly reporting (clear & concise) + action plan

Hard requirements (do not apply if you can’t prove these)
- 3+ years hands-on Google Ads for e-commerce
- Strong experience with Shopping + Performance Max + Merchant Center
- Experience with dropshipping / tight margins
- Ability to work independently and make smart decisions with limited budget
- You MUST show proof: screenshots/case studies with metrics (redact sensitive info)

Payment terms (non-negotiable)
- We pay monthly only, at the end of the month
- Compensation options:
1. Fixed monthly retainer (agreed upfront), OR
2. 10% of ad spend (paid end of month)

If you cannot accept monthly end-of-month payment, please do not apply.

How to apply (required)
Include ALL of the following:
1. Short intro (2–5 lines)
2. 2–3 proof examples (store type, market, spend range, results, timeframe)
3. Your first 14-day plan for a UK general fashion store while the catalog is growing
4. Your preferred compensation option (retainer or 10% of ad spend)
5. Confirm you accept monthly end-of-month payment

IMPORTANT FILTER
To prove you read everything, start your application with this exact phrase:
“BLUEBERRY CHECK — Fully Read.”
Applications without this will be ignored.

SKILL REQUIREMENT
VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0010
Controller Execution Time ( Jobseekers / Job )  0.0125
Total Execution Time  0.0144
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,500,032 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Senior-Google-Ads-Media-Buyer-UK-Fashion-E-commerce-dropshipping-ShoppingPMax-Merchant-Center-Profit-First-1616641
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0051 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1616641
 LIMIT 1 
0.0003   SELECT *
FROM `employers`
WHERE `employer_id` = 920155
 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` = 1616641
AND `misc`.`idIS NULL 
0.0004   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-04-17',ej.date_added) duration_daysDATEDIFF('2026-04-17',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-04-17',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1616641' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1616641 
0.0009   UPDATE employer_jobs SET hit_counts '***Apr-03-2026=202***Apr-04-2026=118***Apr-05-2026=28***Apr-06-2026=29***Apr-07-2026=14***Apr-08-2026=14***Apr-09-2026=2***Apr-10-2026=2***Apr-11-2026=2***Apr-17-2026=1' WHERE job_id'1616641'  
0.0006   UPDATE employer_jobs SET monthly_hits '***Apr-2026=410' WHERE job_id'1616641'  
0.0003   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1616641' 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` = 1616641 
0.0004   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '920155'
AND `date_added` >= '2022-06-08' 
0.0003   select from teasers 
0.0002   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)