Create Google Display Campaign
adsap_google_create_display_campaignCreate a classic standalone Google Display campaign in ONE atomic request: budget, campaign (ALWAYS created PAUSED — activate later with adsap_google_set_entity_status), location + language targeting, a Display ad group, and a responsive display ad. IMPORTANT CONTEXT to relay when relevant: Google is migrating standalone Display INTO Demand Gen (every response carries a heads-up; this campaign type will eventually be auto-migrated) — for new builds consider adsap_google_create_demand_gen_campaign with channels.selected.display: true instead; this tool exists for classic account-structure parity and full Display bid control. The ad REQUIRES BOTH image classes: at least one landscape image (1.91:1, min 600x314) AND at least one square image (1:1, min 300x300) — combined max 15 — plus 1-5 headlines (max 30 chars), EXACTLY ONE long_headline (max 90), 1-5 descriptions (max 90), business_name (max 25) and final_url. Optional: square logos (1:1, min 128x128) and landscape logos (4:1, min 512x128) combined max 5, up to 5 YouTube video assets, call_to_action_text (max 30). All image/video inputs are ASSET ids from adsap_google_upload_asset. Bidding: 'auto' picks Maximize Clicks (works without conversion tracking); 'manual_cpc' requires cpc_bid; 'maximize_conversions' (no target attached — Display rejects that combination); 'target_cpa' (standalone, needs target_cpa, no conversion-history requirement); 'target_roas' HAS a conversion-history eligibility gate (Google rejects it on accounts without enough conversions — relay that plainly if it fails). Use dry_run: true first — Google validates the whole chain without creating anything; show the plan, get confirmation, then execute. ad_account_id is the bare 10-digit customer ID.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ad | Yes | ||
| geo | Yes | ||
| dry_run | No | ||
| ad_group | No | ||
| campaign | Yes | ||
| language_ids | No | Language constant ids (e.g. 1000 = English). Campaign-level; omit to target all languages. | |
| ad_account_id | Yes | Bare 10-digit Google Ads customer ID (from adsap_google_list_ad_accounts). No dashes, no act_ prefix. |