google_ads_device_analyze
Compare Google Ads campaign performance across device segments (Desktop, Mobile, Tablet). Returns metrics per device and insights on issues like zero conversions, high CPA ratios, or low mobile CTR. Read-only. Requires campaign ID.
Instructions
Compare Google Ads campaign performance across device segments (Desktop / Mobile / Tablet). Returns {campaign_id, campaign_name, period, devices:[{device_type, impressions, clicks, cost, conversions, ctr (percent), average_cpc, cpa, cvr (percent)}], insights:[strings]}, sorted by cost descending. cpa is None when conversions == 0. Insights fire for devices with spend and zero conversions, worst/best CPA ratios > 1.5x, and Mobile CTR less than half of Desktop CTR. Read-only. Returns a 'message' field and empty devices list when no device-segmented data exists. For applying device bid modifiers use google_ads_bid_adjustments_update or google_ads_device_targeting_set; for the raw ad-schedule criteria (hour-of-day targeting config, NOT performance segmentation by hour) use google_ads_schedule_targeting_list.
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. | |
| period | No | Reporting window for the metrics. Default 'LAST_30_DAYS'. Use a shorter window (LAST_7_DAYS / LAST_14_DAYS) when diagnosing recent changes; use LAST_90_DAYS for trend baselines. |