> ## Documentation Index
> Fetch the complete documentation index at: https://docs.markifact.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Experiment

> Create a native Meta A/B split test or ad study using existing campaign/ad-set variants, including instant forms

Create a native Meta A/B split test or ad study using existing campaign/ad-set variants, including instant forms. Meta handles test allocation; budgets and ads are configured separately. Other study types require Meta eligibility.

| | |
| - | - |
| **App** | Meta Ads |
| **Operation ID** | `meta_ads_create_experiment` |
| **Type** | Action |
| **Connection** | `meta_ads` (required) |
| **Credits per run** | 1 |
| **Agent / MCP tool** | Yes |
| **Requires approval** | Yes (write operation) |

## Inputs

| Field | Type | Required | Default | Description |
| - | - | - | - | - |
| `business_id` | string or SelectItem | Yes | - | Meta business portfolio ID that owns the experiment, available in meta\_ads\_get\_account\_details. This is not an ad account ID. |
| `name` | string | Yes | - | Name of the native Meta A/B test or ad study. |
| `experiment_type` | enum (`SPLIT_TEST`, `LIFT`, `CONTINUOUS_LIFT_CONFIG`, `GEO_LIFT`, `BACKEND_AB_TESTING`, `CREATIVE_SPEND_ENFORCEMENT`, `PORTFOLIO_OPTIMIZER`, `VERSION_CONTROL`) | No | `SPLIT_TEST` | Defaults to SPLIT\_TEST for native A/B testing. Other study types have separate Meta eligibility and configuration requirements. |
| `start_time` | integer or string | Yes | - | Study start as Unix seconds/milliseconds or an ISO datetime. Dates without a timezone use UTC. |
| `end_time` | integer or string | Yes | - | Study end as Unix seconds/milliseconds or an ISO datetime. Dates without a timezone use UTC. |
| `cells` | array of object or string | Yes | - | Native Meta study cells as an array or JSON string, forwarded unchanged. Reference existing campaigns or adsets; prepare the form/ad variants separately. Example: \[\{"name":"A","treatment\_percentage":50,"campaigns":\["CAMPAIGN\_A\_ID"]},\{"name":"B","treatment\_percentage":50,"campaigns":\["CAMPAIGN\_B\_ID"]}]. Audience allocation is separate from campaign/ad-set budgets; this operation does not set budgets. Meta validates nested fields and combinations. |
| `objectives` | array of object or string | No | - | Optional native Meta study measurement objectives as an array or JSON string. Sent unchanged; Meta validates the objective configuration for the chosen study type. Results depend on Meta's measurement availability. |
| `description` | string | No | - | Study description. |
| `confidence_level` | number | No | - | Meta study confidence level, passed through to the API. |
| `client_business` | string | No | - | Optional client business portfolio ID. |
| `cooldown_start_time` | integer or string | No | - | Optional cooldown start as Unix seconds/milliseconds or an ISO datetime. |
| `observation_end_time` | integer or string | No | - | Optional observation end as Unix seconds/milliseconds or an ISO datetime. |
| `creative_test_config` | object or string | No | - | Optional native Meta creative test configuration object or JSON string. Sent unchanged. |
| `viewers` | array of integer or string | No | - | Optional Meta user IDs allowed to view the study, as an array or JSON array string. |

### SelectItem

| Field | Type | Required | Default | Description |
| - | - | - | - | - |
| `value` | string | Yes | - | The value of the selectable item. |
| `label` | string | Yes | - | The label of the selectable item, used for display purposes. If not provided, defaults to the value. |

## Output

**Type**: `Dict`

Returns Meta's created ad study response, including its id. Use meta\_ads\_get\_experiment to read the study and cells.

**Fields**: `id`


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.