account | GadsAccountItem or object or array of object or string or integer | Yes | - | Select the Google Ads account, ask user for it if not provided |
campaign_name | string | Yes | - | Name for the campaign |
campaign_type | string or SelectableOption | Yes | - | Campaign type. Available: ‘SEARCH’, ‘DISPLAY’, ‘PERFORMANCE_MAX’, ‘DEMAND_GEN’, ‘SHOPPING’, ‘APP’ |
status | string or SelectableOption | No | {'value': 'PAUSED', 'label': 'Paused'} | Campaign status. Default: PAUSED (recommended) |
daily_budget | number | Yes | - | Daily budget as an actual dollar value in the account currency, NOT in micros (e.g., pass 50 for 50,12.5for12.50). Do not multiply by 1,000,000 — the backend converts to micros automatically. |
locations | array of string or SelectableOption | Yes | - | Target locations for the campaign. Use 2-letter ISO country codes (e.g., ‘US’, ‘CA’, ‘GB’) or Google Ads location IDs (e.g., ‘2840’ for United States). Use the ‘gads_search_geo_targets’ operation to find location IDs for cities, regions, etc. |
languages | array of string or SelectableOption | No | [{'value': 'ALL', 'label': 'All Languages'}] | Target languages for the campaign. Use 2-letter language codes (e.g., ‘EN’ for English, ‘ES’ for Spanish). Select ‘ALL’ or leave empty to target all languages (default). |
bidding_strategy_type | string or SelectableOption | No | - | Bidding strategy. Available: ‘MANUAL_CPC’, ‘MAXIMIZE_CONVERSIONS’, ‘MAXIMIZE_CONVERSION_VALUE’, ‘TARGET_IMPRESSION_SHARE’, ‘TARGET_SPEND’. Not used for APP campaigns (derived from app_focus). |
target_cpa | number | No | - | Target CPA in account currency. Used for MAXIMIZE_CONVERSIONS, and required for APP campaigns whose app_focus is not INAPP_VALUE. |
target_roas | number | No | - | Target ROAS (e.g., 3.5 for 350% ROAS). Used for MAXIMIZE_CONVERSION_VALUE, and required for APP campaigns whose app_focus is INAPP_VALUE. |
location | string or SelectableOption | No | - | Target location on page (only for TARGET_IMPRESSION_SHARE) |
location_fraction | number | No | - | Impression share target % (e.g., 65 for 65%, only for TARGET_IMPRESSION_SHARE) |
cpc_bid_ceiling | number | No | - | Max CPC bid as an actual dollar value in the account currency, NOT in micros (e.g., pass 2.5 for $2.50). Do not multiply by 1,000,000 — the backend converts to micros automatically. Used for TARGET_IMPRESSION_SHARE or TARGET_SPEND bidding strategies. |
start_date | integer or string | No | - | Campaign start date (Unix timestamp or YYYY-MM-DD format) |
end_date | integer or string | No | - | Campaign end date (Unix timestamp or YYYY-MM-DD format) |
geo_target_type | string or SelectableOption | No | - | Geo target type setting. PRESENCE_OR_INTEREST (default): show ads to people in, regularly in, or who’ve shown interest in your targeted locations. PRESENCE: show ads only to people in or regularly in your targeted locations. |
target_search_network | boolean | No | True | Include Google Search Partners (SEARCH campaigns only). Default: enabled |
target_content_network | boolean | No | False | Enable Display Expansion (SEARCH campaigns only) |
enable_ai_max | boolean | No | False | Enable AI Max for Search (SEARCH campaigns only). Turns on Google’s AI Max optimization suite: search term matching, text customization, and final URL expansion. Default: disabled. |
merchant_id | integer or string | No | - | Merchant Center account ID. Required for SHOPPING; optional for PERFORMANCE_MAX (enables PMAX for retail) and APP campaigns. If ID is unknown, fetch via gads_run_gaql_query: SELECT product_link.merchant_center.merchant_center_id FROM product_link WHERE product_link.type = 'MERCHANT_CENTER'. |
campaign_priority | integer | No | - | Shopping campaign priority: 0 (low), 1 (medium), or 2 (high). Required for SHOPPING campaigns. Default: 0 |
feed_label | string | No | - | Feed label for products to advertise. Optional for SHOPPING and PERFORMANCE_MAX campaigns; if omitted, all products are eligible. Requires merchant_id to be set. |
enable_local | boolean | No | False | Enable Local Inventory Ads for Shopping campaigns. Default: False |
app_focus | string or SelectableOption | No | - | App campaign focus (only for APP campaigns), matching the ‘What do you want to focus on?’ option in the Google Ads UI. Determines the campaign sub-type, optimization goal, and bid strategy. Available: ‘INSTALL_VOLUME’ (Install volume — most installs at a target cost-per-install), ‘INSTALL_INAPP’ (Install volume from users likely to take in-app actions), ‘INAPP_ACTIONS’ (In-app actions — reach new users likely to complete in-app actions), ‘ENGAGEMENT’ (App engagement — re-engage existing users, min. 50K installs), ‘INAPP_VALUE’ (In-app action value — maximize conversion value / ROAS), ‘PRE_REGISTRATION’ (App pre-registration — Android only). |
app_store | string or SelectableOption | No | - | App store for the promoted app (only for APP campaigns). ‘GOOGLE_APP_STORE’ or ‘APPLE_APP_STORE’. |
app_id | string | No | - | App identifier (only for APP campaigns). For Google Play use the package name (e.g., ‘com.example.app’); for the Apple App Store use the numeric store ID (e.g., ‘123456789’). |
conversion_actions | array of string | No | - | Conversion actions to optimize for via selective optimization (APP campaigns only). Accepts conversion action IDs (e.g., ‘987654321’) or full resource names (e.g., ‘customers/123/conversionActions/987654321’). Required for INSTALL_INAPP, INAPP_ACTIONS, ENGAGEMENT, and INAPP_VALUE; optional for INSTALL_VOLUME; must be omitted for PRE_REGISTRATION (added automatically by Google). |
view_through_conversion_optimization_enabled | boolean | No | - | Whether View-through Conversion (VTC) optimization is enabled for this campaign. Only allowed for certain Demand Gen and App campaigns; ignored for other campaign types. |