Advantage+ catalog ads: catalog, Pixel and ROAS setup for online stores

Advantage+ catalog ads: catalog, Pixel and ROAS setup for online stores

metaNovember 14, 2026
By Antonio Fernandez

TL;DR

  • Advantage+ catalog ads were formerly called dynamic ads, and Meta's business pages now label the option Products from your catalog inside sales campaigns.
  • The setup needs a catalog in Commerce Manager plus ViewContent, AddToCart and Purchase events whose product IDs match the catalog id exactly.
  • Meta's documentation says ads do not deliver when a retargeting audience is smaller than 20 people and advises longer retention windows for low-traffic sites.
  • ROAS can only be calculated when the Purchase event sends value and currency, and Pixel plus Conversions API events must be deduplicated.
  • A store that sells only on Shopee or Lazada cannot send purchase events from marketplace pages, so the route there is Collaborative Ads (CPAS).

Advantage+ catalog ads are Meta ads that pull each product's image, name and price from a store's catalog, assemble the ad automatically, and choose which products each person sees based on behaviour on the store's website or app. The format used to be called dynamic ads, and advertisers still refer to it as Dynamic Product Ads or DPA. A store with many products does not have to build a separate creative for each one.

The naming is worth settling first, because the labels in the interface have changed several times. Meta's business pages currently describe the catalog as working across all sales campaigns, not tied to one ad format, and say Advantage+ catalog ads is "now Products from your catalog". Meta's Help Center calls the same thing ads with product media, chosen as Product media under Creative source during ad setup. The name Advantage+ catalog ads still appears in help pages and developer documentation. All of these refer to the same mechanism. If the labels in an account's Ads Manager do not match this article, follow the mechanism.

What Meta catalog ads (formerly Dynamic Product Ads) are

A catalog ad has three parts, following the way Meta's documentation divides it. The first is the catalog: a list of products with images, descriptions, prices and links. The second is the event data source, meaning the Meta Pixel, the Conversions API or the app SDK, which tells Meta who viewed, added to cart or bought which product ID. The third is delivery. The system matches products in the catalog to people likely to be interested and builds the ad from that product's data.

The result is that someone who looked at one pair of shoes on the site sees an ad for that pair or a similar one, while another person sees different products from the same campaign. When a price or stock level changes in the catalog, the ad changes with it and nobody edits a creative.

How to set up the catalog and the Pixel or Conversions API

The setup has an order that cannot be skipped, because each step depends on the one before.

  1. Create a catalog in Commerce Manager and add products in one of the available ways: enter them manually, upload a data feed, or connect the ecommerce platform the store already uses.
  2. Check that each product carries the main fields, such as id, title, description, availability, price, link and image_link.
  3. Install the Meta Pixel on the website and send the standard events ViewContent, AddToCart and Purchase.
  4. Include the product ID in every event through the content_ids or contents parameter. That ID must match the id in the catalog character for character.
  5. If content_type is used, its value must match the kind of ID: product for individual product IDs and product_group for product group IDs.
  6. Confirm in Events Manager that the events arrive correctly, then confirm in Commerce Manager that the catalog recognises the Pixel as an event data source. Meta notes that the event data sources tab can take up to 24 hours to show tracked events.
  7. Create a campaign in Ads Manager with the Sales objective, check that the catalog is selected under Product data at campaign level, and at ad level choose Product media as the Creative source.

The Conversions API sends the same set of events from the store's server instead of the browser. Meta lists the Pixel, the Conversions API and the app SDK as usable data sources. A store that sends from both the Pixel and the Conversions API has to send the same event name and event ID through both routes so the system can remove duplicates. Otherwise one purchase is counted twice and ROAS reads higher than it is. The table below summarises the events required.

How to set up the catalog and the Pixel or Conversions API
EventWhen it firesWhat must be sent with it
ViewContentSomeone opens a product pageProduct ID in content_ids or contents
AddToCartSomeone adds a product to the cartProduct ID in content_ids or contents
PurchasePayment succeeds and the order confirmation page loadsProduct ID, plus value and currency so ROAS can be calculated

How retargeting and a broad audience differ

Catalog ads can run to two kinds of audience, and each serves a different point in the purchase.

Retargeting shows a product to people who have already interacted with it on the store's website or app, for example viewed it or added it to the cart without buying within a set time window. The store can define its own inclusion and exclusion rules, such as including people who added to cart and excluding people who already bought. This audience is only as large as the site's traffic, so a low-traffic store has a small one. Meta's documentation advises low-traffic sites to use longer retention windows, and states that ads do not deliver when the audience is smaller than 20 people.

A broad audience shows products to people who have never visited the site or bought from the store but show signs of interest in similar products. The system chooses both the people and the products from the product set the store defines. This audience does not depend on the store's traffic, so it can scale further, but it still needs purchase events from the store so the system knows which kinds of people buy.

Meta's business pages currently say that in sales campaigns the budget can go to both finding new customers and retargeting. A store that wants to control the split can still separate ad sets. Separation is useful when the profit from new and returning customers differs, or when the two groups need different ad copy. Stores that want to plan this structure in detail can start from the remarketing service page.

What to watch in a Thai-language product feed

The feed is the file that tells Meta what the store sells. Meta accepts CSV, TSV and XML files. For a Thai-language feed, the two things to check are file format and data consistency.

  • Save the file as UTF-8 so Thai characters do not turn into unreadable symbols on upload.
  • The column delimiter must match the one selected at upload. If product descriptions contain commas or line breaks, wrap the text in quotation marks and enable the quoted fields option. The first line of the file must contain the field names.
  • Field names and system-defined values, such as the values of availability, must be in English as the specification defines them. Product titles and descriptions can be written in Thai.
  • Price needs a currency code, for example 590.00 THB, and must match the price on the product page. If the site is discounted but the feed still carries the old price, the ad shows a price that does not match the page.
  • The product id must stay stable and match the ID the Pixel sends. One mismatch to check for is a feed that uses SKUs while the Pixel sends the store platform's internal IDs, which leaves events unable to match products.
  • Put the most important words of the product title first. Some placements shorten titles, and Thai has no spaces between words, so a title cut mid-word becomes unreadable.
  • Update availability to out of stock when a product sells out and it stops serving on its own. Set scheduled feed fetches often enough to keep up with how fast the store's stock changes.
  • If a Google Merchant Center feed is reused, Meta advises checking the link column and removing Google tracking parameters.

Stores that also sell to foreign customers should decide early which language of product data is shown to which audience, because a Thai product title shown to someone who cannot read Thai wastes the impression.

Whether it works for a website store or a marketplace store

A store on its own website can use the format in full, because it controls the catalog, the Pixel and the product pages. A store with an app can too, by sending events through the SDK.

A store that sells only on a marketplace is a different case. It cannot install a Pixel on a Shopee or Lazada product page, so its own catalog ads receive no purchase events and the system has nothing to learn from or report on. The route Meta designed for this case is Collaborative Ads, known in Thailand as CPAS, where the marketplace shares part of its catalog and supplies the events. Stores that already advertise inside the platform, for example through a Shopee Ads service, should treat the two tools as doing different jobs.

A store that sells through both channels can run catalog ads to its website as normal, with one caveat: reports show only sales that happen on the website. If a shopper sees the ad, searches for the store on a marketplace and buys there, that sale is absent from Meta's reports.

How to measure results with ROAS

ROAS is the purchase value Meta attributes to the ads, divided by ad spend. Four conditions have to hold for the number to be right.

  • The Purchase event sends value and currency every time. Without value the system can count purchases but cannot calculate ROAS.
  • Value is defined the same way throughout, for example including or excluding shipping and tax. If the method changes midway, the numbers before and after cannot be compared.
  • Nothing is double counted between the Pixel and the Conversions API.
  • Whoever reads the report knows the account's attribution setting, because it decides how many days after a click or view a purchase is still counted.

An illustrative example to show the reasoning: an ad set spends 10,000 baht and Ads Manager reports 45,000 baht of purchase value, so ROAS is 4.5. If the store's gross margin after product cost and shipping is 40%, break-even ROAS is 1 divided by 0.40, or 2.5, and this ad set is still profitable. All of these numbers are an example, not a standard for catalog ads.

Retargeting ROAS can read higher than broad audience ROAS, because those people had already shown interest in the product and some would have bought without seeing an ad. Moving the whole budget to retargeting because the number looks good therefore does not grow total sales to match. Read total sales from the store back end alongside ROAS by audience, and compare order counts in Ads Manager with the back end from time to time. If the gap widens unexpectedly, check the events before changing the campaign.

What online stores in Thailand should know

Many Thai online stores sell through several channels at once: a website, marketplaces, and chat on LINE or Messenger. Catalog ads can measure only the points that send events back. A store that closes sales in chat and takes bank transfers has no Purchase event on the website, so reported ROAS sits below real sales and the system learns from incomplete signals. A store like this has to choose between moving payment to the website and sending sales data back to Meta another way before expecting results from catalog ads.

Sale periods are the other issue. Prices and stock change quickly on campaign days. If the feed updates once a day, ads may show an old price or a sold-out product for hours. Increase the feed fetch frequency before the period starts. Stores that are rebuilding their back end and sales channels should include the feed and the events in their ecommerce marketing plan from the start, because fixing them later is much harder.

Frequently asked questions about Advantage+ catalog ads

Are Advantage+ catalog ads different from Dynamic Product Ads?

Not in mechanism. Dynamic Product Ads, or dynamic ads, is the earlier name and Advantage+ catalog ads is the name Meta used afterwards. Meta's business pages now call it Products from your catalog, and the Help Center calls it ads with product media, selected as Product media under Creative source.

Do you need both the Pixel and the Conversions API?

You need at least one data source that can send product events. Meta lists the Pixel, the Conversions API and the app SDK as usable sources. If both the Pixel and the Conversions API are used, they must be set up so the system can remove duplicates.

Why does a retargeting audience show as zero?

Meta's documentation gives three causes: inclusion and exclusion rules that conflict, a product set that does not belong to the catalog linked to the Pixel, or too little traffic for the time window chosen. Also check that the product ID the Pixel sends matches the id in the feed.

Do out-of-stock products still appear in ads?

No, provided the catalog marks availability as out of stock, in which case the product stops serving on its own. Problems come when the feed updates more slowly than real stock, so set feed fetches often enough.

Can a store that sells only on Shopee or Lazada use them?

Not usefully in the standard form, because the store cannot send purchase events from marketplace pages. The alternative is Collaborative Ads, which requires the marketplace to share a catalog first.

Catalog ads perform only as well as the data fed into them. A feed that matches the website and events that match products in full are the two things to finish before thinking about budget. The Relevant Audience team handles setup and management of Meta campaigns through its Facebook Ads service for stores that want to start using a catalog with sales campaigns.

Antonio Fernandez

Antonio Fernandez

Founder and CEO of Relevant Audience. With over 15 years of experience in digital marketing strategy, he leads teams across southeast Asia in delivering exceptional results for clients through performance-focused digital solutions.

Share to:
Copy link:

Read us often? Add Relevant Audience as a preferred source so our articles surface more in your Google results.