# Building the Ads

Build ads in an ad sheet, one row per ad, with the five Meta formats and bulk actions for anything the rows share.

Canonical: https://adsap.ai/docs/guides/launch/ads
Updated: 2026-09-13

You do not build ads on a form. You build them in an **ad sheet** at **Ad Launcher, then Ad Sheets**, where each row is one ad.

That is the right shape for the job: the campaign and the ad set are decisions you make once, and the ads are the part you make many of.

Full detail is in the [Ad Sheets](/guides/ad-sheets) guide. This page covers what matters when you are launching.

## Pointing rows at a campaign and ad set

Each row carries its own **Campaign** and **Ad Set**. They do not have to be the same across the sheet, which lets one sheet feed more than one ad set at once.

Set them one row at a time, or select rows and use **Bulk Edit** to apply a campaign, ad set, product set or schedule to every selected row at once.

## The five ad formats

| Format | What it is |
|---|---|
| **Single Image or Video** | One asset. Image and video are the same format, not two |
| **Carousel** | More than one card, each with its own creative, headline, description, URL and call to action |
| **Collection** | A cover asset over a product set |
| **Catalog** | Products from a catalog, with headlines and descriptions built from product macros |
| **Flexible** | Mixed assets Meta assembles per placement |

**Collection and Catalog need the catalog bound at campaign level.** That is the **Advantage+ Catalog Ads** toggle on the [campaign form](/guides/launch/campaign-settings), and you cannot add it to a campaign afterwards. The product set itself travels on the ad row.

## Getting creatives onto rows

**Load Creatives** opens your creative library and creates a row per creative, already paired. Filter by type, and by coverage, meaning whether a creative comes as a single asset, a pair, or a triple of aspect ratios.

This is where consistent filenames pay off. Adsap pairs assets into groups by filename, so a well-named set of ratios lands as one row instead of three. See [Creatives](/guides/creatives).

## Columns

Always present: ad name, format, campaign, ad set, creative, primary text, headline, call to action, destination URL, status.

Optional, toggled on when you need them: **Partner FB Page**, **Partner Instagram**, **Display Link**, **Descriptions**, **Thread Profile**, **Instant Form**, **Product Tags**.

Instant Form appears when you are running a Leads campaign whose conversion location is instant forms. You create the forms in Meta, and Adsap reads them from your account.

## Applying a template

**Apply Template** fills rows from a saved [ad template](/guides/templates/ad-templates): copy, call to action, destination, Facebook Page and Instagram account, URL parameters and enhancement settings.

Templates carry no images or videos. They are the settings around the creative, not the creative itself.

A template beats your [account defaults](/guides/account-defaults). Anything you have typed by hand beats both.

## Writing the copy

Type the text, pull it from a template, or draft it with [AI ad copy](/guides/ai-ad-copy) from the row's destination URL and creative.

Two things Meta enforces that the sheet does not warn you about until launch:

- **Carousel card headlines must be unique across the cards.** Meta rejects duplicates at creation.
- The sheet does not enforce character limits. Meta's guidance is 125 characters for primary text, 40 for headlines and 25 for descriptions.

## Naming

Ad names come from your [naming convention](/guides/launch/naming-conventions). Typing a name by hand locks that row's name so later edits do not overwrite it.

## Saving

The sheet saves itself as you work, with a **Saved** indicator in the header. No save button to forget.

## Next

When the rows are ready, **[Review and launch](/guides/launch/review-publish)** them.
