Python + Google Ads API Engineer — Build a Statistical Bid/Keyword Optimization Engine
Worldwide
We're an established adventure-travel company running Google Ads across four brands with a 10-year history of search-term and conversion data. We want to build a semi-automated optimization engine that pulls account data via the API, runs real statistical analysis in Python, stages recommended changes for human approval, and writes approved changes back to Google Ads. Think "headless Google Ads" — managed from a google sheet. This is a scoped first project with strong potential to continue, as it's the first module of a larger optimization system. What we're building (phase 1): Data pipeline: pull keyword, search-term, and conversion data via the Google Ads API (GAQL) into Python Statistical analysis: search term performance testing (two-proportion tests vs. group mean), n-gram analysis of search terms (1/2/3-grams, aggregated performance), and search-term harvesting candidates. A semantic similarity model to flag negative keywords before they reach statistical significance. Staging + approval: write recommendations (prune / promote / negative) to a Google Sheet with a PENDING → APPROVED status column Write-back: read approved rows and push changes back to the Ads API (pause keywords, add negatives, etc.), then mark EXECUTED Guardrails: incubation window for new keywords, low-volume handling, a permanent change log. Critical detail — we optimize on real bookings, not web leads. Our most valuable conversions happen offline (a deposit paid weeks after the click). The statistics must be able to key on a specific offline conversion action (deposit-paid), not just front-end form fills. Experience with offline conversion data / Enhanced Conversions is a strong plus. Skill Sets: Solid Python (pandas, scipy/statsmodels) and real statistical literacy — you understand what a p-value does and doesn't tell you. Hands-on Google Ads API experience specifically (GAQL, authentication, mutate operations) — not just managing campaigns in the UI. Experience with the Google Sheets API (gspread) or similar Clean, documented, re-runnable code (this will be maintained and extended). Nice to have: offline/Enhanced Conversions, semantic similarity / embeddings, experience with Optmyzr/Adalysis-type tooling (so you know what we're improving on), high-ticket lead-gen background.
- More than 30 hrs/weekHourly
- 3-6 monthsDuration
- ExpertExperience Level
$25.00
-
$65.00
Hourly- Remote Job
- Ongoing projectProject Type
Skills and Expertise
Activity on this job
- Proposals:50+
- Last viewed by client:2 days ago
- Interviewing:2
- Invites sent:1
- Unanswered invites:0
About the client
- United StatesSalt Lake City1:52 AM
- $13K total spent6 hires, 2 active
Explore similar jobs on Upwork
How it works
Create your free profileHighlight your skills and experience, show your portfolio, and set your ideal pay rate.
Work the way you wantApply for jobs, create easy-to-by projects, or access exclusive opportunities that come to you.
Get paid securelyFrom contract to payment, we help you work safely and get paid securely.
About Upwork
- 4.9/5(Average rating of clients by professionals)
- G2 2021#1 freelance platform
- 49,000+Signed contract every week
- $2.3BFreelancers earned on Upwork in 2020
Find the best freelance jobs
Growing your career is as easy as creating a free profile and finding work like this that fits your skills.
Trusted by