Advertising and the Google Ads API

This page is the detail behind the Affreedom Research workspace: which Google Ads API services it calls, what it refuses to do, and how credentials and data are handled. It is written for anyone reviewing my API access request — and for my own record.

Who uses the tool

One person: me. I am an individual operator, not a registered company. The tool runs on my own private server, is operated from a terminal on that server, and exposes no public interface and no network port.

It is not distributed, sold, licensed, or offered to third parties, and it touches only the Google Ads accounts I own, linked under my own manager account. I do not manage accounts for clients, do not resell Google Ads data, and do not provide any advertising service to other advertisers. If that ever changes, I will apply for the appropriate access level and permissible use before it does.

Which accounts it touches

Only Google Ads accounts I own, linked under my own manager account. There is no mechanism for adding a third party’s account, because there is no second user. The tool is built to read the list of accounts it can reach at startup and refuse any customer ID outside it — see implementation state.

What the tool does

Reporting (read-only)

Account and campaign performance — impressions, clicks, cost, conversions and conversion value — plus keyword performance and search term reports. This is the same information the Google Ads interface shows me; pulling it through the API lets me review several accounts in one pass instead of clicking through each one.

Keyword research

Keyword ideas for a seed term or one of my landing pages, with average monthly search volume and bid ranges, and location lookup so campaigns target the right country. This is step 3 of the workflow on the home page.

Campaign creation and management

Creating a Search campaign — budget, campaign, location and language targeting, ad group, keywords and a responsive search ad — then pausing or enabling campaigns, adjusting daily budgets, and adding or removing keywords and negative keywords.

Spend monitoring (read-only)

Spend today and month to date against the daily budgets of my enabled campaigns, so I notice overspend the same day rather than at the end of the month.

What the tool will not do

  • It never moves money. No payment is initiated, no payment method changed, no billing setup edited. There is no billing code in it at all. I fund accounts by hand in the Google Ads interface.
  • It will never start spending on its own. Campaign management, once built, creates every new campaign paused; enabling one, raising a budget, or removing a campaign or keyword needs my explicit confirmation each time.
  • It does not create Google Ads accounts or attempt to work around policy review.
  • It is built to have a read-only mode that refuses every write operation, for when I only want to look at numbers.

The first and third of those are true by absence today. The second and fourth arrive with the write features they protect — the status table says which is which.

Data handling

The tool reads performance and configuration data for my own Google Ads accounts only. That data stays on my private server and is not shared, sold, or published anywhere.

I use an AI assistant (Anthropic Claude) as the interface to the tool: I describe what I want in plain language and it calls the tool. Aggregated account metrics and campaign settings are therefore processed by that assistant in order to answer my questions. No end-user personal data is sent to it.

My API credentials are encrypted at rest and are never returned to the browser in any form, not even masked — the interface can only ask whether a credential exists, not what it is. They are kept out of source control and out of any log or output. If the server is decommissioned I revoke them from my Google account’s permissions page.

See the privacy policy for how visitor data on the landing pages I advertise is handled, including advertising click identifiers.

Policy

I use the Google Ads API only with accounts I own and in line with the Google Ads API Terms and Conditions. I review every ad headline, description and landing page myself before a campaign is enabled.