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.
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:
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'
The tool will also support campaign management operations through the Google Ads API:
campaign_budget.amount_micros via CampaignBudgetService.MutateCampaignBudgetsCampaignService.MutateCampaignsCampaignService.MutateCampaignsAll write operations are initiated manually by authorized agency staff through the adsPRO interface. No automated modifications are made without human approval.
[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
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.