Paid Search Specialist – Google Ads and Microsoft Ads (Freelance, Part-Time) – Australian Marketing Agency

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

TYPE OF WORK

Any

SALARY

$5 to $6 per hour

HOURS PER WEEK

5

DATE UPDATED

Oct 9, 2026

JOB OVERVIEW

About us
Guru Digital is a small Australian marketing agency. We're looking for an experienced individual freelancer (not an agency or team) to manage paid search for a small group of Australian clients. The mix is B2B and local service businesses. It's ongoing, month-to-month work with room to grow as we take on more clients.

What you'll do

Manage Google Ads and Microsoft Ads campaigns focused on lead generation
Set up, fix and maintain conversion tracking for calls, forms and quote requests (Google Tag Manager, GA4, Google Ads, Microsoft Ads)
Build tightly controlled campaigns around high-intent keywords
Review search terms weekly and add negative keywords to cut wasted spend
Test and improve ad copy, keywords and landing page alignment
Keep campaigns within approved monthly budgets at all times
Send a short written update mid-month and at the end of each month, covering:
Spend
Leads and cost per lead
Work completed and in progress
Blockers
Next priorities
Keep tasks up to date in our Trello board

What we're looking for

At least 3 years of hands-on Google Ads experience managing lead generation campaigns
Microsoft Ads experience
Proven experience setting up and troubleshooting conversion tracking with Google Tag Manager and GA4
You measure success by leads and cost per lead, not clicks, impressions or optimisation scores
You understand each client's goals and build campaigns around them
You stick to approved budgets and get written approval before launching new campaigns or changing budgets
Clear written English and reliable communication
Google Ads certifications are a plus

How to apply
Please send:

A short summary of your paid search experience
Screenshots of Google Ads campaigns you've managed, showing spend, conversions and cost per lead (include the date range)
One example of a conversion tracking problem you fixed, and how you fixed it
Your availability

Start your application with the words "Leads not clicks" so we know you've read the full listing. Applications without this won't be reviewed.

Shortlisted applicants will be asked to complete a small paid trial task.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0011
Controller Execution Time ( Jobseekers / Job )  0.0166
Total Execution Time  0.0184
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,499,184 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Paid-Search-Specialist-Google-Ads-and-Microsoft-Ads-Freelance-Part-Time-Australian-Marketing-Agency-1745374
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0078 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
= 'USD-PHP' 
0.0003   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1745374
 LIMIT 1 
0.0013   SELECT *
FROM `employers`
WHERE `employer_id` = 1008008
 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` = 1745374
AND `misc`.`id` IS NULL 
0.0004   SELECT e.business_name, e.logo, e.website, e.rebill_date, e.date_added member_date, hits, DATEDIFF('2026-10-17',ej.date_added) duration_days, DATEDIFF('2026-10-17',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-17',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != 1 AND ej.deleted = 0 AND job_id = '1745374' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1745374 
0.0006   UPDATE employer_jobs SET hit_counts = '***Oct-07-2026=5***Oct-08-2026=2***Oct-09-2026=291***Oct-10-2026=17***Oct-11-2026=2***Oct-14-2026=6***Oct-15-2026=2***Oct-16-2026=3***Oct-17-2026=1' WHERE job_id= '1745374'  
0.0005   UPDATE employer_jobs SET monthly_hits = '***Oct-2026=329' WHERE job_id= '1745374'  
0.0007   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id = '' AND job_id = '1745374' 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` = 1745374 
0.0018   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '1008008'
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)