// google ads api

Google Ads API integration

An internal tool. It connects our AI assistant to the Google Ads API so campaign reporting and routine account maintenance can be done in conversation instead of by hand. It is not a product, it is not sold, and nobody outside TeZe Ltd can use it.

TeZe Ltd, a UK private limited company registered in England and Wales, company number 17137231, registered office 66 Paul Street, London, EC2A 4NA. Director: Tomasz Smieja. ICO registration ZC134108. Cyber Essentials certified by IASME on 31 July 2026.

Full company, tax, data protection and security detail is on our trust page. API contact: compliance@teze.app.

We run a small server that exposes the Google Ads API to our assistant as a set of named tools, using the Model Context Protocol. When we ask a question like "which search terms wasted money last month", the assistant calls the reporting tool, receives the rows, and answers from them. When we ask for a change, it calls the matching write tool.

The server is written in TypeScript, runs on Vercel, and authenticates as a single Google account, tomasz@teze.app, using OAuth 2.0. There is no multi-tenant layer, no sign-up and no user accounts, because there is exactly one user.

Only advertising accounts under TeZe Ltd's own manager account. That currently means our own advertising and one account we hold for a client to whom we provide marketing services as their agency. We do not connect accounts belonging to anyone else, and the tool has no mechanism to do so: the accounts it can reach are the accounts our manager account can reach.

Reporting only. These never change an account.

Accounts. List the advertising accounts reachable under our manager account.

Campaign performance. Impressions, clicks, cost, conversions, CTR and average CPC per campaign over a date range.

Keyword performance. The same metrics per keyword, with match type and quality score.

Search terms. The actual queries that triggered our ads, used to find wasted spend and negative keyword candidates.

Keyword ideas. Suggestions with search volume and competition, from a seed term or a landing page.

These change a live account and can affect spend. Every one of them requires a person to confirm the specific change before it is sent, and the assistant is required to state the cost impact first. Nothing is automated on a schedule and nothing runs unattended.

Campaign budget. Set the daily budget on a campaign.

Pause and enable. Pause a campaign, or re-enable one that is paused.

Keywords. Add positive keywords to an ad group.

Negative keywords. Add negative keywords at campaign or ad group level.

We do not store Google Ads data. Reports are fetched on request, returned to the conversation, and not written to any database. There is no analytics warehouse, no reporting cache and no exported copy.

We do not share or sell it. Ads data is not passed to any third party, is not combined with data from other sources, and is not used for anything beyond managing the accounts it came from.

Credentials. The OAuth refresh token and the developer token are held as encrypted environment variables in Vercel and are never committed to source control or written to logs.

Access. One person. Multi-factor authentication is enforced on every service involved, including Google Workspace, Vercel and GitHub.

We use the API within the Google Ads API Terms of Service and the Required Minimum Functionality rules. The tool is internal, is not offered to third parties, does not resell API access, and does not present Google Ads data to anyone outside TeZe Ltd.

Questions from the Google Ads API compliance team are welcome at compliance@teze.app and will be answered by the director directly.