> ## 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 Single Image Ad

> Create single image ads or bulk upload multiple image ads in Meta Ads

The **Create Single Image Ad** node lets you create professional image ads for Facebook and Instagram campaigns. Supports both single ad creation and bulk uploads using Google Sheets templates with multi-asset capabilities.

***

## When to Use It

* Create individual image ads for specific campaigns
* Bulk upload multiple image ads at once with multi-asset support
* Create placement-specific creatives (Stories, Feed, Right Column)
* Test multiple ad copy variations simultaneously
* Automate ad creation based on product catalogs or data
* Scale ad creation for A/B testing different creatives
* Generate dynamic ads from AI-generated content or images

***

## Inputs

| Field               | Type           | Required | Description                                        | Creation Mode  |
| ------------------- | -------------- | -------- | -------------------------------------------------- | -------------- |
| **Account**         | Select         | Yes      | Select a Meta Ads account                          | All modes      |
| **Creation Type**   | Tabs           | Yes      | Choose "Single Ad" or "Bulk Ads"                   | All modes      |
| **Page**            | Dynamic-select | Yes      | Select Facebook page for the ads                   | All modes      |
| **Structured Data** | Dynamic-text   | Yes      | Data source containing ad information              | Bulk Ads only  |
| **Ad Set ID**       | Dynamic-select | Yes      | Select the ad set for this ad                      | Single Ad only |
| **Ad Name**         | Dynamic-text   | Yes      | Name of the ad                                     | Single Ad only |
| **Ad Image**        | Image          | Yes      | Upload or select an image for the ad               | Single Ad only |
| **Primary Text**    | Text-area      | Yes      | The main body text of the ad                       | Single Ad only |
| **Headline**        | Dynamic-text   | No       | The headline of the ad                             | Single Ad only |
| **Description**     | Dynamic-text   | No       | Additional text below the headline                 | Single Ad only |
| **Website URL**     | Dynamic-text   | Yes      | URL where people go when they click the ad         | Single Ad only |
| **Call to Action**  | Dynamic-select | Yes      | Call-to-action button for the ad                   | Single Ad only |
| **Ad Status**       | Select         | Yes      | Initial status (ACTIVE or PAUSED, default: PAUSED) | Single Ad only |
| **URL Parameters**  | Dynamic-text   | No       | UTM or tracking parameters                         | Single Ad only |

### Bulk Upload Template

For bulk ad creation with multi-asset support, use the [Google Sheets template](https://docs.google.com/spreadsheets/d/1yAE2JDqxLFGCyHjjIQsvxn240B-ekg0B3eqcsssMQOQ/edit?gid=0#gid=0) with these columns:

#### Required Columns

| Column                                    | Description                                                                                                           | Required |
| ----------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | -------- |
| **adset\_id**                             | Ad set ID where the ad will be created                                                                                | Yes      |
| **ad\_name**                              | Name for the ad                                                                                                       | Yes      |
| **ad\_status**                            | ACTIVE or PAUSED                                                                                                      | Yes      |
| **image\_url** OR **default\_image\_url** | Main image for all placements. Use `image_url` for simple bulk uploads or `default_image_url` for multi-asset uploads | Yes      |
| **website\_url**                          | Landing page URL                                                                                                      | Yes      |
| **call\_to\_action**                      | CTA button type (LEARN\_MORE, SHOP\_NOW, etc.)                                                                        | Yes      |
| **primary\_text** OR **primary\_text\_1** | Main ad copy. Use `primary_text` for simple uploads or `primary_text_1` for multi-asset                               | Yes      |

#### Optional Multi-Asset Columns (New Feature)

| Column                                             | Description                                                                | Usage    |
| -------------------------------------------------- | -------------------------------------------------------------------------- | -------- |
| **story\_image\_url**                              | Dedicated image for Stories and Reels placements on Facebook and Instagram | Optional |
| **right\_column\_image\_url**                      | Specific image for Facebook Right Column and Search placements             | Optional |
| **primary\_text\_2** to **primary\_text\_5**       | Additional primary text variations (up to 5 total)                         | Optional |
| **headline** OR **headline\_1** to **headline\_5** | Single headline or multiple headline variations (up to 5 total)            | Optional |
| **description**                                    | Additional text below the headline                                         | Optional |
| **url\_parameters**                                | UTM tracking parameters                                                    | Optional |

### Multi-Asset Benefits

When you provide multiple assets in the bulk upload:

* **Placement Optimization**: Different images for Stories vs Feed vs Right Column
* **Text Variations**: Up to 5 primary text and headline variations per ad
* **Automatic Testing**: Meta's system will test different combinations to find the best performers
* **Enhanced Performance**: Placement-specific creatives typically perform better than one-size-fits-all assets

***

## Output

Returns the created ad IDs and count:

```json theme={"dark"}
{
  "ad_ids": ["120210543987640123", "120210543987640124"],
  "created_count": 2
}
```

**Single Ad Output:**

* `ad_ids`: Array containing the new ad ID
* `created_count`: Number of ads created (1)

**Bulk Ads Output:**

* `ad_ids`: Array of all successfully created ad IDs
* `created_count`: Total number of ads created

***

## Credit Cost

* **Cost per run**: 2 credit per ad created (single ad = 2 credits, 10 bulk ads = 20 credits)

***

## FAQs

<Accordion title="What image requirements should I follow?">
  Meta Ads image requirements:

  **Design Specifications:**

  * **File type**: JPG or PNG
  * **Aspect ratio**: 1.91:1 to 4:5
  * **Recommended resolution**:
    * 1:1 ratio: 1440 x 1440 pixels
    * 4:5 ratio: 1440 x 1800 pixels

  **Technical Requirements:**

  * **Maximum file size**: 30 MB
  * **Minimum width**: 600 pixels
  * **Minimum height**:
    * 1:1 ratio: 600 pixels
    * 4:5 ratio: 750 pixels
  * **Aspect ratio tolerance**: 3%

  💡 **Pro Tip**: Use the **AI Generate Image** node to create custom images for your ads based on text prompts. This works great for generating product shots, lifestyle images, or creative visuals that match your brand.
</Accordion>

<Accordion title="How do I create effective ad copy?">
  Best practices for Meta Ads copy:

  **Text Length Recommendations:**

  * **Primary text**: 50-150 characters (optimal performance)
  * **Headline**: 27 characters (maximum visibility)
  * **Description**: 27 characters (additional context)

  **Copy Guidelines:**

  * Keep primary text engaging and benefit-focused
  * Make headlines clear and compelling
  * Choose the most relevant CTA for your goal
  * Match your brand voice and audience
  * **Minimize text overlay** on images for better reach
</Accordion>

<Accordion title="Should I create ads as ACTIVE or PAUSED?">
  **PAUSED** (default) is recommended because:

  * Allows you to review the ad before it goes live
  * Prevents accidental spend on unreviewed ads
  * Gives time to set up proper tracking
  * Lets you coordinate with other campaign elements

  Switch to **ACTIVE** only when you want immediate ad serving.
</Accordion>

<Accordion title="What's the difference between headline and description?">
  * **Headline**: Bold text that appears prominently, usually above or below the image
  * **Description**: Smaller text that provides additional context
  * **Primary text**: Main body copy that appears above the image

  Not all ad placements show all text elements, so prioritize your most important message in the primary text.
</Accordion>

<Accordion title="How do I track ad performance with URL parameters?">
  Add UTM parameters to track ad performance:

  * **Basic tracking**: `utm_source=facebook&utm_medium=cpc&utm_campaign=spring_sale`
  * **Detailed tracking**: Include `utm_content` for ad variations
  * **Tools**: Use Google Analytics, Facebook Pixel, or your analytics platform
  * **Format**: Separate parameters with `&`, no spaces
</Accordion>

<Accordion title="Can I create ads for both Facebook and Instagram?">
  Yes! The ads you create will be eligible to show on both Facebook and Instagram based on your ad set's placement settings. The ad set determines where your ads appear, not this creation node.
</Accordion>

<Accordion title="Does this node support carousel ads?">
  No, this node only creates **single image ads**. For carousel ads (multiple images in one ad), you'll need to:

  * Use a different ad creation method outside of Markifact
  * Create multiple single image ads instead
  * Consider using video ads if you want to showcase multiple products

  Each execution of this node creates one ad with one image, regardless of single or bulk mode.
</Accordion>

<Accordion title="Can I customize ads for specific placements (Instagram vs Facebook)?">
  No, this node doesn't support placement-specific customization. All ads created will use the same image and copy across all placements where your ad set is configured to show.

  **Current limitation**: You cannot create:

  * Different images for Instagram Stories vs Facebook Feed
  * Specific creative for Facebook Reels
  * Placement-optimized versions within the same ad
</Accordion>

<Accordion title="What Call to Action options are available?">
  Popular CTA options include:

  * **LEARN\_MORE**
  * **SHOP\_NOW**
  * **ORDER\_NOW**
  * **CONTACT\_US**
  * **SUBSCRIBE**
  * **APPLY\_NOW**
  * **SIGN\_UP**
  * **DOWNLOAD**
  * **GET\_OFFER**
  * **BUY\_NOW**
  * **CALL\_NOW**
  * **INSTALL\_APP**
  * **NO\_BUTTON**

  For the complete list, see the [Meta Marketing API documentation](https://developers.facebook.com/docs/marketing-api/reference/ad-account/adcreatives).
</Accordion>

<Accordion title="How do I create Meta image ads in bulk with multiple assets?">
  To create ads with multiple assets and text variations:

  1. **Access the template**: Use the [Google Sheets bulk upload template](https://docs.google.com/spreadsheets/d/1yAE2JDqxLFGCyHjjIQsvxn240B-ekg0B3eqcsssMQOQ/edit?gid=0#gid=0)

  2. **Fill required columns**:
     * `adset_id`: Your target ad set ID
     * `ad_name`: Unique name for each ad
     * `ad_status`: PAUSED or ACTIVE
     * `default_image_url`: Main image (required)
     * `website_url`: Landing page URL
     * `call_to_action`: CTA button type
     * `primary_text_1`: Main ad copy

  3. **Add placement-specific images** (optional):
     * `story_image_url`: For Stories and Reels (9:16 aspect ratio recommended)
     * `right_column_image_url`: For Facebook Right Column (1:1 aspect ratio recommended)

  4. **Include text variations** (optional):
     * `primary_text_2` to `primary_text_5`: Additional copy variations
     * `headline_1` to `headline_5`: Multiple headline options
     * `description`: Additional context text

  5. **Connect and run**: Select "Bulk Ads" mode and connect your Google Sheet as structured data

  **Example row:**

  ```
  adset_id: 120xxxxxxxx
  ad_name: "Summer Sale - Product A"
  ad_status: PAUSED
  default_image_url: "https://drive.google.com/..."
  story_image_url: "https://drive.google.com/..."
  primary_text_1: "Save 30% on summer essentials!"
  primary_text_2: "Limited time: 30% off everything!"
  headline_1: "Summer Sale"
  headline_2: "Big Savings"
  website_url: "https://mystore.com/sale"
  call_to_action: SHOP_NOW
  ```

  **Pro tip**: Meta's system will automatically test different combinations of your assets to find the best performers.
</Accordion>

<Accordion title="What are the image requirements for different placements?">
  Each placement has specific image requirements:

  **Default Image (required):**

  * **Aspect ratio**: 1.91:1 to 4:5
  * **Recommended**: 1:1 (1440 x 1440px) for best compatibility
  * **Use**: Facebook Feed, Instagram Feed, and most standard placements

  **Story Image (optional):**

  * **Aspect ratio**: 9:16 (vertical)
  * **Recommended**: 1080 x 1920px
  * **Use**: Facebook Stories, Instagram Stories, Instagram Reels

  **Right Column Image (optional):**

  * **Aspect ratio**: 1:1 (square)
  * **Recommended**: 1200 x 1200px
  * **Use**: Facebook Right Column, Facebook Search results

  **Universal Requirements:**

  * **File type**: JPG or PNG
  * **Maximum file size**: 30 MB
  * **Minimum width**: 600 pixels

  💡 **Pro Tip**: Use the **AI Generate Image** node to create placement-specific images with the correct dimensions for optimal performance.
</Accordion>

<Accordion title="How many text variations should I include?">
  **Best practices for text variations:**

  **Primary Text (up to 5 variations):**

  * Include 2-3 variations minimum for testing
  * Vary the angle: benefit-focused, urgency-driven, feature-highlighting
  * Keep each under 150 characters for optimal performance

  **Headlines (up to 5 variations):**

  * Test 2-4 different headlines
  * Mix emotional and rational appeals
  * Keep under 27 characters for maximum visibility

  **Example variations:**

  ```
  Primary Text 1: "Transform your morning routine with our premium coffee blend"
  Primary Text 2: "Start your day right - premium coffee delivered fresh to your door"
  Primary Text 3: "Limited time: 25% off our bestselling coffee subscription"

  Headline 1: "Premium Coffee"
  Headline 2: "Fresh Daily"
  Headline 3: "Save 25%"
  ```

  Meta's algorithm will automatically test combinations and optimize for the best performing assets.
</Accordion>

<Accordion title="How do I use Google Drive images in bulk uploads?">
  Using Google Drive images in your bulk uploads is simple:

  **Steps to prepare Google Drive images:**

  1. **Upload your image** to Google Drive
  2. **Right-click** on the image file
  3. **Select "Share"** from the menu
  4. **Set access** to "Anyone with the link" (Viewer permissions)
  5. **Click "Copy link"** and paste it directly into your template

  **That's it!** You can use the regular Google Drive sharing link directly in your bulk upload template. Markifact automatically converts it to the proper format for Meta Ads.

  **Example of what you can paste directly:**

  ```
  https://drive.google.com/file/d/11j-rCp9wgrV44y4G33emLY-VVcLFlSgN/view?usp=sharing
  ```

  **No conversion needed** - just make sure the file is shared publicly with "Anyone with the link" permissions.

  **Pro tip**: You can also use this method for images in Google Drive folders. Just make sure each individual image file has the proper sharing permissions.
</Accordion>

<Accordion title="Can I upload images directly in the bulk template?">
  Yes! You have several options for providing images:

  **Direct Upload:**

  * Use the image uploader within the ad creation node
  * Generate publicly accessible URLs automatically
  * Most convenient for new images

  **External URLs:**

  * Google Drive public links
  * Cloud storage URLs (Dropbox, OneDrive, etc.)
  * Your website's image URLs
  * CDN-hosted images

  **Requirements for external URLs:**

  * Must be publicly accessible (no login required)
  * Direct link to the image file
  * HTTPS recommended for security
  * Stable URLs that won't expire

  **Pro tip**: For Google Drive, make sure to use the direct image URL, not the sharing link. Right-click the image and select "Copy image address" for the correct URL format.
</Accordion>

<Accordion title="How do I create Meta image ads in bulk?">
  To create multiple image ads at once:

  1. **Access the template**: Use the [Google Sheets bulk upload template](https://docs.google.com/spreadsheets/d/1yAE2JDqxLFGCyHjjIQsvxn240B-ekg0B3eqcsssMQOQ/edit?gid=0#gid=0)

  2. **Choose your format**:
     * **Simple bulk upload**: Use `image_url`, `primary_text`, `headline` (same as before)
     * **Multi-asset upload**: Use `default_image_url`, `primary_text_1`, `headline_1` + additional variations

  3. **Fill required columns**: Add adset\_id, ad\_name, ad\_status, image\_url (or default\_image\_url), website\_url, call\_to\_action, and primary\_text (or primary\_text\_1) for each ad

  4. **Connect template**: In the node, select "Bulk Ads" mode and connect your Google Sheet as structured data

  5. **Run the workflow**: The node will create all ads simultaneously

  **Pro tip**: Start with 2-3 ads to test your setup before scaling to larger batches. You can mix simple and multi-asset formats in the same sheet.
</Accordion>
