adsPRO — Google Ads API Tool Design Documentation

Company: Project-Pro
Tool Name: adsPRO
Date: February 2026
Version: 1.0


1. Tool Overview

adsPRO is an internal advertising management platform built for our agency to centralize and automate the management of Google Ads campaigns across multiple client accounts. The tool provides a unified dashboard for monitoring campaign performance, analyzing key metrics (ROAS, cost, conversion value), and managing campaign settings — eliminating the need to switch between multiple Google Ads accounts manually.

2. Purpose and Business Use Case

Our agency manages Google Ads campaigns for multiple clients. Currently, campaign data is collected manually or via Google Apps Script, which is fragile and hard to maintain. adsPRO replaces this workflow with a direct, reliable integration with the Google Ads API.

Key goals:

3. Google Ads API Usage

3.1 Data Retrieval (Read Operations)

The tool uses the GoogleAdsService.SearchStream endpoint to fetch campaign data using GAQL (Google Ads Query Language).

Data retrieved:

GAQL queries used:

SELECT campaign.id, campaign.name, campaign.bidding_strategy_type,
       campaign.target_roas.target_roas, campaign_budget.amount_micros,
       metrics.cost_micros, metrics.conversions_value
FROM campaign
WHERE campaign.status = 'ENABLED'
  AND segments.date DURING LAST_30_DAYS
SELECT campaign.id, metrics.cost_micros, metrics.conversions_value
FROM campaign
WHERE campaign.status = 'ENABLED'

3.2 Campaign Management (Write Operations)

The tool will also support campaign management operations through the Google Ads API:

All write operations are initiated manually by authorized agency staff through the adsPRO interface. No automated modifications are made without human approval.

4. API Request Frequency

5. Authentication and Authorization

6. Architecture

[CRON - daily at 06:00]
        |
        v
[adsPRO Server (PHP)]
        |
        v
[Google Ads REST API v18]
   - SearchStream (read campaign data)
   - MutateCampaigns (manage campaigns)
   - MutateCampaignBudgets (adjust budgets)
        |
        v
[MySQL Database]
   - campaigns table (current state)
   - campaigns_history table (daily snapshots)
        |
        v
[adsPRO Dashboard]
   - Campaign performance charts
   - ROAS tracking over time
   - Campaign management interface

7. Data Handling and Privacy

8. Users

This is an internal agency tool. It is not a publicly available application. Access is restricted to authorized staff members of our agency (currently 3 users). There is no self-registration — accounts are created by the administrator.

9. Compliance