Google Ads inside the same dashboard
Cross-border sellers run paid search next to their organic channels, and today they switch consoles to see what is happening. Chuhai Cloud shows a customer's own Google Ads spend and results on the same screen as their social results, and lets them pause or resume a campaign without leaving it.
The two capabilities we use
| Capability | What it does | API surface |
|---|---|---|
| Reporting (read) | Campaign list — name, status, channel type, budget — and daily impressions, clicks, cost, conversions and conversion value, with CTR, CVR, CPC, CPA and ROAS derived from them. Reporting is campaign level. | GoogleAdsService.SearchStream (GAQL) |
| Campaign management (write) | Enable or pause an existing campaign in the customer's linked account. The campaign name, budget, status and channel type are shown before the confirm button. | CampaignService.Mutate, update mask limited to status |
What we deliberately do not do
No campaign creation through the API. A user can compose a campaign draft in Chuhai Cloud, but a draft is a local record. We do not create campaigns, ad groups, ads or budgets through the Google Ads API.
No automated spending. There is no automated bidding, no automated budget reallocation, and no scheduled job that changes anything in a customer's account. Every write is the direct result of a person clicking confirm in that session.
No timers on the read path either. A Google Ads API call happens when a signed-in user opens a report page or asks for a sync. There is no poller and no background job.
No account creation or management. We do not create Google Ads accounts for customers and we do not operate them as an agency.
Access and data
One grant per customer
The customer completes Google's own OAuth consent screen from inside Chuhai Cloud, for the Google Ads accounts they already control. Tokens are stored against that customer's workspace only and are never used for another customer's account.
Tokens stay server-side
Tokens are never returned to the browser and never appear in an API response. A customer can revoke our access at any time at myaccount.google.com/permissions.
Stored per customer
Campaign and performance data is stored per customer so the dashboard can show trends over time. It is not pooled across customers, not resold, not shared with third parties, and not used to train machine-learning models.
Subscription only
Customers pay a recurring licence fee for the software. We do not resell ad inventory, take no share of ad spend, and do not act as an agency.
Technical documentation
The full design document for this integration — the exact services and fields we call, how OAuth and token storage work, how quota and retries are handled, and how data is stored and deleted — is published in full at chuhai.hanzilla.co/google-ads-api-design. It is public and needs no login.