create_adset
Create a paused ad set with automatic pre-write validation: checks parent campaign, enforces Advantage+ or manual audience, handles ABO/CBO budgets, maps ICP signals, and verifies post-write for compliance.
Instructions
Create a new ad set (always PAUSED, no exceptions).
Runs Advantage+ audience enforcement, parent campaign inspection, ABO/CBO enforcement, ICP signal mapping, narrowing detection, pre-write validation, creates the ad set, and verifies post-write.
Args: account_id: Ad account ID (e.g., 'act_123456789'). campaign_id: Parent campaign ID. Must be PAUSED or ACTIVE. name: Ad set name. Greek text validated. optimization_goal: e.g. 'OFFSITE_CONVERSIONS', 'LINK_CLICKS', 'LEAD_GENERATION', 'REACH'. Must be compatible with parent campaign objective. billing_event: Usually 'IMPRESSIONS'. Also: 'LINK_CLICKS', 'THRUPLAY'. daily_budget: Daily budget in EUR (e.g., 15.00). Required for ABO campaigns. Omit for CBO. lifetime_budget: Lifetime budget in EUR. Alternative to daily_budget. Requires end_time. targeting_json: JSON string of targeting spec. Advantage+ mode uses signals as suggestions. Example: '{"geo_locations":{"countries":["GR"]},"age_min":25,"age_max":55}' promoted_object_json: JSON string of promoted object. Required for OUTCOME_SALES/LEADS. Example: '{"pixel_id":"123456789012345","custom_event_type":"PURCHASE"}' start_time: ISO 8601 start time. Optional (defaults to immediately when activated). end_time: ISO 8601 end time. Required if using lifetime_budget. audience_mode: 'advantage_plus' (default, recommended), 'manual', 'broad', 'existing_audience', 'restricted' (disables Advantage+). icp_name: ICP name from concept selection for signal derivation. icp_signals_json: Pre-built ICP signals JSON with interests/behaviors/demographics. experiment_type: If 'strict_audience_test', allows Advantage+ OFF. explicit_tracking_mode: Operator-declared tracking mode override. 'instant_form', 'messaging', 'page_engagement' allow writes without pixel. If not set, system infers intended flow and enforces pixel for website paths.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| account_id | Yes | ||
| campaign_id | Yes | ||
| name | Yes | ||
| optimization_goal | Yes | ||
| billing_event | No | IMPRESSIONS | |
| daily_budget | No | ||
| lifetime_budget | No | ||
| targeting_json | No | ||
| promoted_object_json | No | ||
| start_time | No | ||
| end_time | No | ||
| audience_mode | No | advantage_plus | |
| icp_name | No | ||
| icp_signals_json | No | ||
| experiment_type | No | ||
| explicit_tracking_mode | No | ||
| naming_audience_type | No | ||
| naming_age_range | No | ||
| naming_geo | No | GR | |
| naming_exclusion_flag | No | None |