172 lines
3.9 KiB
Markdown
172 lines
3.9 KiB
Markdown
# Google Ads Routing Reference
|
|
|
|
**App name:** `google-ads`
|
|
**Base URL proxied:** `googleads.googleapis.com`
|
|
|
|
## API Path Pattern
|
|
|
|
```
|
|
/google-ads/v23/customers/{customerId}/{endpoint}
|
|
```
|
|
|
|
## Common Endpoints
|
|
|
|
### List Accessible Customers
|
|
```bash
|
|
GET /google-ads/v23/customers:listAccessibleCustomers
|
|
```
|
|
|
|
### Search (GAQL Query)
|
|
```bash
|
|
POST /google-ads/v23/customers/{customerId}/googleAds:search
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"query": "SELECT campaign.id, campaign.name, campaign.status FROM campaign ORDER BY campaign.id"
|
|
}
|
|
```
|
|
|
|
### Search Stream (for large result sets)
|
|
```bash
|
|
POST /google-ads/v23/customers/{customerId}/googleAds:searchStream
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"query": "SELECT campaign.id, campaign.name FROM campaign"
|
|
}
|
|
```
|
|
|
|
## Common GAQL Queries
|
|
|
|
### List Campaigns
|
|
```sql
|
|
SELECT
|
|
campaign.id,
|
|
campaign.name,
|
|
campaign.status,
|
|
campaign.advertising_channel_type
|
|
FROM campaign
|
|
WHERE campaign.status != 'REMOVED'
|
|
ORDER BY campaign.name
|
|
```
|
|
|
|
### Campaign Performance
|
|
```sql
|
|
SELECT
|
|
campaign.id,
|
|
campaign.name,
|
|
metrics.impressions,
|
|
metrics.clicks,
|
|
metrics.cost_micros,
|
|
metrics.conversions
|
|
FROM campaign
|
|
WHERE segments.date DURING LAST_30_DAYS
|
|
ORDER BY metrics.impressions DESC
|
|
```
|
|
|
|
### List Ad Groups
|
|
```sql
|
|
SELECT
|
|
ad_group.id,
|
|
ad_group.name,
|
|
ad_group.status,
|
|
campaign.id,
|
|
campaign.name
|
|
FROM ad_group
|
|
WHERE ad_group.status != 'REMOVED'
|
|
```
|
|
|
|
### Ad Group Performance
|
|
```sql
|
|
SELECT
|
|
ad_group.id,
|
|
ad_group.name,
|
|
metrics.impressions,
|
|
metrics.clicks,
|
|
metrics.average_cpc
|
|
FROM ad_group
|
|
WHERE segments.date DURING LAST_7_DAYS
|
|
```
|
|
|
|
### List Keywords
|
|
```sql
|
|
SELECT
|
|
ad_group_criterion.keyword.text,
|
|
ad_group_criterion.keyword.match_type,
|
|
ad_group_criterion.status,
|
|
metrics.impressions,
|
|
metrics.clicks
|
|
FROM keyword_view
|
|
WHERE segments.date DURING LAST_30_DAYS
|
|
```
|
|
|
|
### List Ads
|
|
```sql
|
|
SELECT
|
|
ad_group_ad.ad.id,
|
|
ad_group_ad.ad.name,
|
|
ad_group_ad.status,
|
|
ad_group_ad.ad.type
|
|
FROM ad_group_ad
|
|
WHERE ad_group_ad.status != 'REMOVED'
|
|
```
|
|
|
|
## Mutate Operations
|
|
|
|
### Create Campaign
|
|
```bash
|
|
POST /google-ads/v23/customers/{customerId}/campaigns:mutate
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"operations": [
|
|
{
|
|
"create": {
|
|
"name": "New Campaign",
|
|
"advertisingChannelType": "SEARCH",
|
|
"status": "PAUSED",
|
|
"manualCpc": {},
|
|
"campaignBudget": "customers/{customerId}/campaignBudgets/{budgetId}"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
```
|
|
|
|
### Update Campaign Status
|
|
```bash
|
|
POST /google-ads/v23/customers/{customerId}/campaigns:mutate
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"operations": [
|
|
{
|
|
"update": {
|
|
"resourceName": "customers/{customerId}/campaigns/{campaignId}",
|
|
"status": "ENABLED"
|
|
},
|
|
"updateMask": "status"
|
|
}
|
|
]
|
|
}
|
|
```
|
|
|
|
## Notes
|
|
|
|
- Authentication is automatic - the router injects OAuth token and developer-token headers
|
|
- Use `listAccessibleCustomers` first to get available customer IDs
|
|
- Customer IDs are 10-digit numbers (remove dashes if formatted as XXX-XXX-XXXX)
|
|
- Monetary values are in micros (divide by 1,000,000)
|
|
- Use GAQL (Google Ads Query Language) for querying
|
|
- Date ranges: `LAST_7_DAYS`, `LAST_30_DAYS`, `THIS_MONTH`, etc.
|
|
- Status values: `ENABLED`, `PAUSED`, `REMOVED`
|
|
- API version updates frequently - check release notes for latest (currently v23)
|
|
|
|
## Resources
|
|
|
|
- [API Overview](https://developers.google.com/google-ads/api/docs/start)
|
|
- [List Accessible Customers](https://developers.google.com/google-ads/api/reference/rpc/v23/CustomerService/ListAccessibleCustomers?transport=rest)
|
|
- [Search](https://developers.google.com/google-ads/api/reference/rpc/v23/GoogleAdsService/Search?transport=rest)
|
|
- [Search Stream](https://developers.google.com/google-ads/api/reference/rpc/v23/GoogleAdsService/SearchStream?transport=rest)
|
|
- [GAQL Reference](https://developers.google.com/google-ads/api/docs/query/overview)
|
|
- [Metrics Reference](https://developers.google.com/google-ads/api/fields/v23/metrics) |