# Using Ad Sheets

Create an ad sheet, fill its rows, check them, and launch the ads to Meta, step by step.

Canonical: https://adsap.ai/docs/guides/ad-sheets/using-ad-sheets
Updated: 2026-09-13

This page covers the full ad sheet workflow: creating a sheet, filling the rows, validating them, and launching them to Meta.

## Step 1: Create a New Sheet

### In the Web Dashboard

1. Log in to [app.adsap.ai](https://app.adsap.ai).
2. Select the Meta ad account you want to work with.
3. Open **Ad Sheets** in the sidebar.
4. Click **New Sheet**.
5. Name the sheet (for example, "Q2 Product Launch Ads").
6. If you are running catalog or collection ads, select a product catalog.

### Via the AI Copilot

Ask the copilot to list your sheets, or describe what you need:

```
List my ad sheets.
```

```
I need to create 10 new ads for my summer campaign. Can you help me set up an ad sheet?
```

## Step 2: Understand the Schema

Before you fill in rows, check which columns your ad format needs. The schema changes with the format.

**Every ad** needs at least:
- An **ad format** ("Single Image or Video", "Carousel", "Collection", "Catalog", or "Flexible"). On the Free plan the format dropdown offers "Single Image or Video" only; the other formats are Early Access (see [Pricing](/pricing))
- A **campaign** and **ad set** to place the ad in
- A **Facebook Page** (and optionally an Instagram account; leave it empty and the Page represents the brand on Instagram)
- At least one **primary text** and one **headline**
- A **destination URL**
- At least one **creative asset** (image or video)

**Carousel ads** also need carousel card data: one entry per card, each with its own creative, headline and optional link.

**Collection ads** also need catalog references (catalog ID, product set) and an Instant Experience.

> **Tip:** Ask the AI copilot for a plain-language explanation of the schema: *"Explain the ad sheet schema for single image ads. What columns do I need to fill in?"*

## Step 3: Populate Rows

Each row in your sheet is one ad. Fill rows in two ways:

### In the Web Dashboard

The sheet is an editable table. Click into a cell to enter a value. What helps:

- **Dropdowns** for fields like ad format, CTA, and Facebook Page.
- **Autocomplete** for campaign and ad set names.
- **Creative pickers** that show thumbnails of your uploaded assets.
- **Copy/paste** to duplicate values across rows.
- **Column visibility** controls to hide columns your ad format does not use.

### Via the AI Copilot

Describe the ads you want and the copilot structures the data:

```
I need 5 single-image ads in the "Summer Sale" campaign, "Women 25-45 France" ad set.
Use my brand page "My Store". Headline: "Summer Sale - Up to 50% Off".
Primary text variants:
1. "Shop our biggest sale of the year. Free delivery on all orders."
2. "Don't miss out on summer savings. Limited time only."
Destination URL: https://mystore.com/summer-sale
```

### Using Templates

If you have saved ad templates, apply one to prefill shared settings like page references, copy defaults, and enhancement toggles. Select a template in the `ad_template_id` column or ask the copilot:

```
Apply my "Brand Standard" template to all rows in this sheet.
```

Template values fill each cell you left empty. Anything you typed in the row wins over the template default. See [Ad Templates](/guides/templates/ad-templates).

## Step 4: Review and Validate

Before launching, review the sheet. Each row has a **stage** that tracks its readiness:

| Stage | Meaning |
|---|---|
| **Draft** | You are still editing the row. New rows start here. A failed launch stays at Draft; check the `launch_error` column for details. |
| **Launched** | Meta created the ad. The `meta_ad_id` column holds the Meta ad ID. |

### Validation Checklist

Before you click **Review Ads**, check that:

- Every row has a valid **ad format**.
- Every row points at an existing **campaign** and **ad set**.
- The required **copy fields** (at least one primary text and one headline) have text.
- Each row has a **destination URL**.
- Every creative asset shows as **uploaded and ready**. For videos, check that encoding has finished.
- Each row has a **Facebook Page**. The Instagram account is optional; leave it empty and Adsap uses the Page.
- Carousel rows have complete **carousel card data** with the right number of cards.
- Collection rows have valid **catalog and product set** references.

> **Tip:** Ask the AI copilot for a preview of a row before launching: *"Preview the ad in row 1 of my Summer Sale sheet before creating it."* The preview shows what Adsap would send without creating anything on Meta.

## Step 5: Launch

When your rows pass validation, launch them.

### In the Web Dashboard

1. Click **Review Ads** in the sheet header.
2. Check the **Review & Launch Ads** dialog and confirm.
3. Adsap processes each Draft row and creates the matching ad in Meta.
4. Watch the stage column update: Draft changes to Launched. A failed row stays at Draft.

### What Happens During Launch

For each row, Adsap:

1. **Reads the template's enhancement settings** (if the row has a template). Template copy and identity values went into empty cells when you applied the template.
2. **Validates** the payload against Meta's requirements.
3. **Creates the ad** in Meta through the Marketing API.
4. **Records the result**: on success, fills in `meta_ad_id`, `meta_creative_id`, and `launched_at`. On failure, fills in `launch_error`.

Adsap creates every ad in **PAUSED** status by default. The ads do not spend until you activate them in Meta Ads Manager or through Adsap.

### Handling Errors

If a row fails to launch:

1. Read the `launch_error` column.
2. The usual causes:
   - A missing required field (like destination URL or Facebook Page).
   - An invalid creative reference (asset not found or video still encoding).
   - A Meta policy violation (Meta's review flagged the copy or creative).
   - A budget or billing problem on the ad account.
3. Fix the row (it stays at **Draft**) and run **Review Ads** again.

> **Note:** The `launch_error` column shows Adsap's translated error message. For the raw Meta error, ask the AI copilot: *"What went wrong with row 3 of my Summer Sale sheet? Show the full error."*

## Practical Workflow Example

A typical batch launch:

1. **Create the sheet**: "Q2 Product Launch - France"
2. **Set up the campaign and ad sets** first (in the dashboard or with the AI copilot) so you have IDs to reference.
3. **Fill 10 rows** with copy and creative variations, all pointing at the same campaign and ad set.
4. **Apply a template** for consistent page references and enhancement settings.
5. **Review** the sheet and check that every required field has a value.
6. **Click Review Ads** and launch.
7. **Watch** the stage column. Rows move to Launched within a few seconds.
8. **Fix any errors** and relaunch the failed rows.
9. **Activate** the ads when you are ready to spend.
