> ## 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 Campaign

> Creates a Snapchat Ads campaign with objective, status, budgets, schedule, and optional advanced settings

Creates a Snapchat Ads campaign with objective, status, budgets, schedule, and optional advanced settings. Budgets are entered in the ad account currency and converted to Snapchat micro-currency automatically.

|                       |                                |
| --------------------- | ------------------------------ |
| **App**               | Snapchat Ads                   |
| **Operation ID**      | `snapchat_ads_create_campaign` |
| **Type**              | Action                         |
| **Connection**        | `snapchat_ads` (required)      |
| **Credits per run**   | 2                              |
| **Agent / MCP tool**  | Yes                            |
| **Requires approval** | Yes (write operation)          |

## Inputs

| Field                   | Type                       | Required | Default                                                                    | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| ----------------------- | -------------------------- | -------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `account`               | DynamicAccount             | Yes      | -                                                                          | Select Snapchat Ads account to create the campaign in.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| `campaign_name`         | string                     | Yes      | -                                                                          | Name of the Snapchat campaign. Max 375 characters.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `objective_v2_type`     | string or SelectableOption | No       | `{'value': 'AWARENESS_AND_ENGAGEMENT', 'label': 'Awareness & Engagement'}` | Campaign objective. Options: AWARENESS\_AND\_ENGAGEMENT (default), SALES, TRAFFIC, APP\_PROMOTION, LEADS. Determines which optimization goals are available to ad squads under this campaign.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| `promotion_type`        | string or SelectableOption | No       | -                                                                          | Optional promotion type paired with the objective. APP\_INSTALL and APP\_REENGAGEMENT require the APP\_PROMOTION objective. PROMOTE\_PLACES and PROMOTE\_SHOWS require AWARENESS\_AND\_ENGAGEMENT and are generally not available to create via the Snapchat API.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| `status`                | string or SelectableOption | No       | `{'value': 'PAUSED', 'label': 'Paused'}`                                   | Status when the campaign is created: ACTIVE or PAUSED. Default: PAUSED.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| `daily_budget`          | number                     | No       | -                                                                          | Daily spend cap in the ad account's currency (for example 50 for \$50). Minimum 20. Markifact converts it to Snapchat micro-currency automatically. Note: the campaign daily budget must be at least 0.25 times the sum of its ad squad budgets.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| `lifetime_spend_cap`    | number                     | No       | -                                                                          | Lifetime spend cap in the ad account's currency. Minimum 20. Converted to Snapchat micro-currency automatically. Delivery stops when either the ad account spend cap or this campaign lifetime cap is reached.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| `start_time`            | integer or string          | No       | -                                                                          | Campaign start as a Unix timestamp or ISO datetime string. Defaults to now when omitted.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `end_time`              | integer or string          | No       | -                                                                          | Optional campaign end as a Unix timestamp or ISO datetime string. Must be after start\_time. The campaign runs indefinitely when omitted.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| `buy_model`             | string or SelectableOption | No       | `{'value': 'AUCTION', 'label': 'Auction'}`                                 | Buy model: AUCTION (default) or RESERVED. RESERVED campaigns generally cannot be modified through the API afterwards.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| `reserved_type`         | string or SelectableOption | No       | -                                                                          | Only for Reach & Frequency campaigns: REACH\_AND\_FREQUENCY. Requires buy\_model RESERVED.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| `pacing_level`          | string or SelectableOption | No       | -                                                                          | Where budget pacing is controlled. AD\_SQUAD is Snapchat's default. CAMPAIGN enables Smart Budgets and requires shared\_properties plus a daily budget or lifetime spend cap; all ad squads must then mirror the shared\_properties values. Smart Budgets cannot be used with Dynamic Ads (product\_properties).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| `measurement_spec`      | object or string           | No       | -                                                                          | Apps tracked for install and post-install attribution, as a JSON object. Required for campaigns that will contain APP\_INSTALL, DEEP\_LINK, or app Story/Lens ads. Keys: ios\_app\_id (App Store ID as a string), android\_app\_url (Play Store package name). Provide at least one. Example: \{"ios\_app\_id": "1234567890", "android\_app\_url": "com.snapchat.android"}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| `mobile_app_properties` | object or string           | No       | -                                                                          | SKAdNetwork enrollment enforced on all ad squads under the campaign, as a JSON object. Keys: skad\_network\_status (ENROLLED or NOT\_ENROLLED), mobile\_app\_id (Snap App ID, required when ENROLLED), app\_optimization\_type (SKAN, required when ENROLLED). Once set, all ad squads must mirror the same mobile\_app\_id. Example: \{"skad\_network\_status": "ENROLLED", "mobile\_app\_id": "78b0a193-5676-4fce-a774-05114e63c321", "app\_optimization\_type": "SKAN"}                                                                                                                                                                                                                                                                                                                                                                                           |
| `product_properties`    | object or string           | No       | -                                                                          | Attaches a catalog for Dynamic Ads, as a JSON object. Keys: catalog\_id. Example: \{"catalog\_id": "85b39b4d-8b29-4309-959c-75a3cbbdcd5b"}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| `regulations`           | object or string           | No       | -                                                                          | Regulated content flags, as a JSON object. Keys: restricted\_delivery\_signals (boolean, required for Credit, Housing, or Employment ads; must be enabled at ad account level first), candidate\_ballot\_information (string, for political ads in certain states). Example: \{"restricted\_delivery\_signals": true}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| `shared_properties`     | object or string           | No       | -                                                                          | Smart Budgets rules mirrored by all ad squads, as a JSON object. Only used when pacing\_level is CAMPAIGN. Keys: shared\_optimization\_goal (required: IMPRESSIONS or PIXEL\_PURCHASE), shared\_ad\_squad\_bid\_strategy (required: AUTO\_BID or LOWEST\_COST\_WITH\_MAX\_BID), shared\_conversion\_location (APP, WEB, CALL, TEXT, or LEAD\_FORM), shared\_conversion\_window (for example SWIPE\_28DAY\_VIEW\_1DAY or SWIPE\_7DAY), shared\_pixel\_id (required when shared\_optimization\_goal is PIXEL\_PURCHASE), target\_cost\_in\_micro (integer in micro-currency, passed as-is). Example: \{"shared\_optimization\_goal": "PIXEL\_PURCHASE", "shared\_ad\_squad\_bid\_strategy": "AUTO\_BID", "shared\_conversion\_location": "WEB", "shared\_conversion\_window": "SWIPE\_28DAY\_VIEW\_1DAY", "shared\_pixel\_id": "f1b73786-8828-4fc1-803f-4f5af6d9082b"} |

### SelectableOption

| Field   | Type   | Required | Default | Description |
| ------- | ------ | -------- | ------- | ----------- |
| `value` | string | Yes      | -       |             |
| `label` | string | Yes      | -       |             |

## Output

**Type**: `Dict`

Returns created Snapchat campaign details.

**Fields**: `campaign_id`, `campaign_name`, `objective_v2_type`, `status`, `start_time`
