# Run your images on Meta

Canonical URL: https://support.optiqube.ai/en/articles/run-your-images-on-meta

On a paid plan, every campaign has product feeds under its **Feeds** tab, until you activate the campaign; after activation the tab disappears. You paste a feed URL into Meta Commerce Manager once; Meta then reads it again on its own schedule, so newly approved images reach your ads without another visit to OptiQube.

[Video: Run your styles on Meta with feeds](https://support.optiqube.ai/demos/meta-feed-connection.html)

## The feeds

| Feed | What is in it | When to use it |
|---|---|---|
| **Supplementary feed** (one per style) | Only the product ID and the AI image, plus `custom_label_1` = the style's name. | You already have a Meta catalog. It swaps the image of the products it names and leaves the rest alone. |
| **Style feed (Full)** | Your full product details with the AI image as the product image. | You want a catalog that shows this style straight away. |
| **Main feed** | Your whole catalog with the original photos. | You have no Meta catalog yet and want to create one. |

## If you already have a Meta catalog

1. In OptiQube open **Campaigns**, pick your campaign and open the **Feeds** tab.
2. Under **Product identifier**, paste the data feed URL your Meta catalog already uses and click **Check which id matches**. If it suggests switching between **Product ID** and **SKU**, take the suggestion.
3. In Commerce Manager, open your catalog → **Data sources** → your shop's data feed → **Supplementary feeds** → **Add supplementary feed**.
4. Choose **Scheduled feed**, paste the style's supplementary feed URL (click **Copy CSV version (for Meta)** in OptiQube), and set the schedule to hourly.
5. Still under **Data sources**, open **Configure sources** (or **Settings → Data source priority**). For the **Image** field, move the OptiQube feed above your shop's own feed.
6. Wait a few minutes for the first fetch, then check a product in the catalog: it should show the new image.
7. In Ads Manager, create a campaign with the **Sales** objective and choose **Advantage+ catalog ads** with this catalog.

> **Watch out:** Step 5 is easy to miss, and Meta has no way for OptiQube to do it for you. Without it, your shop's original photo keeps winning.

> **Tip:** To run only one style, filter the product set on `custom_label_1` equals the style's name.

## If you have no Meta catalog yet

1. In Commerce Manager choose **Add catalog → E-commerce → Upload product info**.
2. Under **Data sources → Add items → Data feed → Scheduled feed**, paste the **Style feed (Full)** URL to get the styled images straight away, or the **Main feed** URL for your original photos. Set it to hourly.
3. Fix anything Meta flags under **Diagnostics**, usually a missing price or a product page it could not reach.

## Keeping it in sync

- An image you approve reaches Meta on its next pull. One you hide leaves the same way. There is nothing to re-export.
- The feed URLs stay the same, even if you regenerate images or rename the campaign.
- **Request update now** on the data source in Commerce Manager makes Meta read the feed right away.

## If something is off

- **The images did not change:** the priority step is missing, or the IDs do not match. Run **Check which id matches** on the **Feeds** tab.
- **"no content id provided" in Meta's error report:** use the CSV URL for the supplementary feed.
- **Products rejected in Diagnostics:** Meta needs a price with a currency and a stock state for every product.

> **Note:** The same guide is in the app: on the **Feeds** tab, click **Step-by-step guide**.

> **Done when:** a product in your Meta catalog shows the OptiQube creative.

Need a hand? [Contact our team](https://support.optiqube.ai/en/articles/contact-support).
