google_ads_creative_research
Retrieve all data required to create or update Google Ads responsive search ads for a campaign: landing page analysis, top performing existing ads, search term insights, keyword suggestions, and existing keywords.
Instructions
Collect every input an LLM needs to draft or refresh Google Ads creative for a single campaign. Returns {campaign_id, url, lp_analysis (same shape as google_ads_landing_page_analyze), existing_ads:[{ad_id, headlines, descriptions, final_urls, impressions, clicks, conversions, ctr}] (top 5 RSA ads by impressions, REMOVED excluded), search_term_insights:{high_cv_terms (top 10 by conversions), high_click_terms (top 10 by clicks), total_terms}, keyword_suggestions (KeywordPlanIdeaService output for up to 5 seeds derived from LP title + h1 + meta_description), existing_keywords (list_keywords output), context_summary (string)}. Any failing sub-step is replaced with the literal string '取得失敗' so the envelope never raises. Side effect: one outbound LP fetch (same SSRF policy as google_ads_landing_page_analyze) plus several GAQL queries. For just the LP use google_ads_landing_page_analyze; for just RSA asset diagnostics use google_ads_rsa_assets_analyze.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| customer_id | No | Google Ads customer ID as a 10-digit string without dashes (e.g. '1234567890'). Optional — falls back to GOOGLE_ADS_CUSTOMER_ID / GOOGLE_ADS_LOGIN_CUSTOMER_ID from the configured credentials when omitted. | |
| campaign_id | Yes | Campaign ID as a numeric string without dashes (e.g. '23743184133'). Obtain via google_ads_campaigns_list. | |
| url | Yes | Absolute landing page URL to analyze (http:// or https:// only, e.g. 'https://example.com/lp/'). SSRF-protected — private-range, loopback, and cloud-metadata hosts are rejected. | |
| ad_group_id | No | Optional ad group ID as a numeric string (e.g. '145680123456') to restrict results to a single ad group. Omit to include every ad group matching the campaign filter. |