Get Google Ads campaign
Changed on<Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>
Returns one campaign, with the status fields Google reports for it.
Use this for a single campaign's current state. It reads the same cache as List campaigns and additionally folds in a live check of whether Google has disapproved the campaign's assets, so a rejected Performance Max campaign shows up here.
<Note>A campaign's name, budget, and targeting come from Base44's own record, which is refreshed in the background, so a change made directly in the Google Ads UI can take a few minutes to appear here.</Note>
<Note>This endpoint accepts a personal API key or a workspace API key. A workspace API key acts as the workspace owner.</Note>
<Warning>The response includes fields beyond the ones documented here. Don't rely on undocumented response fields, as they can change at any time.</Warning>
Request
- Base URLhttps://app.base44.com
- Auth
- HTTP bearer
- or API key in header api_key
- or HTTP bearer
- TypeScriptA function with typed inputs. Its response is checked against the schema.
Path parameters
ID of the app whose Google Ads campaigns to manage.
Base44's ID for the campaign, as returned in id by List campaigns. This is not the Google Ads campaign ID, which is reported separately as google_campaign_id.
Response
Successful Response
Example response
{
"id": "68b1c0d4e7b91d003c45a1f2",
"google_campaign_id": "21098765432",
"campaign_name": "Spring sale in Berlin",
"campaign_type": "PERFORMANCE_MAX",
"status": "ENABLED",
"daily_budget_micros": 15000000,
"landing_page": "https://example.com/spring",
"geo_targets": [
"1003854"
],
"phone_number": "+493012345678",
"learning_ends_at": "2026-09-08T11:20:00Z",
"review_status": "REVIEWED",
"serving_status": "SERVING",
"primary_status": "ELIGIBLE",
"primary_status_reasons": [
"CAMPAIGN_BUDGET_LIMITED"
],
"created_date": "2026-08-25T11:20:00Z",
"updated_date": "2026-08-25T14:05:00Z"
}Changes
- info
added the non-success response with the status
- info
- info
added the non-success response with the status
- info