social media how toAre you familiar with Facebook dynamic product ads?

Facebook dynamic product ads allow you to reach customers with relevant offers by automatically showing them ads for the products they’re interested in.

In this article I’ll share how to set up and best utilize Facebook Dynamic Product ads.

What Are Facebook Dynamic Product Ads?

Despite the recent buzz about Facebook dynamic product ads, there is surprisingly little detailed information available, largely due to their limited availability and the highly technical documentation provided by Facebook.

Plus, these ads are being regularly confused with Facebook’s multi-product ads, which may look similar but offer very different capabilities.

set up facebook dynamic product ads

Discover how to set up Facebook’s Dynamic Product Ads.

Listen to this article:

So before I get started, let me define what these ads are. With Facebook dynamic product ads, you can:

  • Automatically generate ads based on your product catalog and an ad template you create
  • Show specific product ads based on what users have viewed on your website
  • Use lookalike audiences to find more people who may be interested in a specific product

It’s important to note that Facebook dynamic product ads are currently only available using the Facebook API, but they’re expected to be added to Power Editor soon.

Also, unlike other ad types, they require prep work such as uploading a product catalog before you can start creating ads.

Below are the steps for setting up your new Facebook dynamic product ads.

#1: Establish a Facebook Business Manager Account

If you’ve never set up a Facebook business manager account, it’s similar to an MCC account in Google AdWords. You have the ability to manage multiple accounts and control user access, making it helpful if you manage multiple businesses, pages and employees.

To set one up, visit, and follow the steps provided on-screen. Once complete, you’ll see a screen like the one below.

facebook business manager overview

Get started with a Facebook business manager account.

#2: Create a Product Catalog

There are two ways to import your product feed into Facebook. You can either point to a dynamically generated feed file or you can upload a .csv file with your product data.

Since these dynamic product ads are new, your ecommerce platform probably doesn’t support a native feed file designed for Facebook yet, so we’ll focus on generating a .csv file you can upload.

csv image shutterstock 188692712

Use a .csv file to build your catalog. Image: Shutterstock.

When you create your .csv file, include the following fields to import it:

ID: A unique identifier with a maximum of 100 alphanumeric characters.
Availability: You must include one of the following preset values or you will generate an error:

  • In stock (item will ship immediately)
  • Out of stock (no plan to restock)
  • Preorder (will be available in future)
  • Available for order (ships in 1-2 weeks)

Condition: Another field that requires a preset value: new, refurbished or used.
Description: This can be a maximum of 5,000 characters.
Image_link: Images will be displayed at 1200 x 630 pixels and should maintain an aspect ratio of 1.91:1. The field has a maximum of 100 characters, so if you have a long link, use a shortened URL.
Link: A direct link to buy the product. Again, there is a maximum of 100 characters, so you may need to use a shortened URL.
Title: This is the product title. You can use up to 100 characters.
Price: The required format is as follows: 9.99 USD.
Gtin: This is the global trade number. The following formats are acceptable: UPC, EAN, JAN and ISBN. You can use a maximum of 70 characters.
Mpn: This is the manufacturer’s number. You can use a maximum of 70 characters.
Brand: This is the name of the product’s brand. You can use a maximum of 70 characters.

Facebook offers a ton of additional fields that are optional. You can view them under the Optional Field section on Facebook’s product catalog setup page.

Here’s an example of a completed Excel spreadsheet for a product catalog:

product csv sheet

Create a product .csv file to import.

Based on my tests, I’ve found that the following settings work best for uploading your .csv file to Facebook.

csv file settings

Use these settings to import your product .csv file.

Once your file is uploaded, you’ll see the product catalog listed in the main area of your business manager account.

In my tests—and the example Excel sheet above—my product catalog did not actually include traditional products, but blog posts instead. This is important to note because it makes Facebook dynamic product ads incredibly versatile.

Consider that, despite the name, dynamic product ads can simply be “dynamic ads” if you provide different data. For example, if you offer online training courses, you can upload your entire class list. Or a realtor could upload his or her housing inventory. This opens up a world of options as we test what works and what doesn’t.

#3: Set Up the Custom Audience Pixel

The custom audience pixel is what lets you gather information about visitors to your website—and this is where the magic happens. You can learn more about pixel setup here.

There are three mandatory pixel events: ViewContent, AddToCart and Purchase. These allow dynamic product ads to determine who viewed a specific product and also whether that person added it to their cart or ultimately purchased it.

ViewContent Pixel

Below is a side-by-side comparison of the standard custom audience pixel and the new ViewContent pixel. You will notice that they are almost identical with the exception of the highlighted area.

viewcontent pixel

ViewContent Pixel code.

When you add the ViewContent pixel to a product page, you need to insert that product’s specific ID manually or via a tag from your ecommerce platform.

You must match the specific ID with the ID you uploaded in your catalog spreadsheet because it serves as the link between the products viewed on your website and the ones Facebook shows in ads.

AddToCart Pixel

There are two ways to add this pixel depending on how your shopping cart handles adding items to the cart.

If you have a dedicated Add to Cart page, then you can simply put in the AddToCart Page pixel provided below. However, if you have a dynamic cart without a dedicated Add to Cart page, you must fire the pixel when the Add to Cart button is clicked, which requires changes to the JavaScript or AJAX code.

Remember, you must dynamically add that specific product’s ID when they are fired in either scenario, so you may require developer assistance.

addtocart pixel

AddToCartButton code.

Purchase Pixel

This pixel is important because it will prevent you from marketing a product if a customer has already purchased it. (Or you have the opportunity to market it to them again, if it’s something they may want to purchase again.)

Unlike the other pixels, you’re not just adding a single product ID but a list of IDs for all products purchased. Remember, just because a product is added to the cart doesn’t mean it will ultimately be purchased, so you may require the help of your developer to concatenate all of the product IDs into a list.

purchase pixel

Purchase Pixel code.

When you’ve completed this step, you should have the regular custom audience pixel throughout your website, but you’ll replace your existing custom audience pixels on your product and cart pages with the new modified pixels.

#4: Build Dynamic Ad Templates

This is where you customize the messaging for each product. Dynamic ad templates allow you to map data fields in your product catalog to specific places in the text of your Facebook ads.

Essentially, you are pulling data (such as product name and price) out of that catalog and adding it to the ad. It’s similar to how Merge Fields works in Microsoft Word and Excel.

There are three fields where you can do this: the message of your ad, the name (or title) of your ad or the description of your ad.

dynamic ad template

Build your dynamic ad template to suit your needs.

Currently, the template items (variables) available to merge are:

  • Brand
  • Description
  • Name
  • Price (e.g., $1,234.56)
  • Current_price (the formatted sale price if the product has one and is currently on sale)

To add a variable, use double brackets around the field type. For example, you could write “All {{brand}} on Sale Today Only” as the name of your ad. Facebook would then automatically grab the brand value from your product catalog and add it to the text for your ad.

So let’s say you sell toys and you create a variable like the one above that pulls the brand in. An ad for one product might read, “All Fisher-Price on Sale Today Only” while an ad for another product might read “All Melissa & Doug on Sale Today Only.”

Remember, you can use each of those template items in the message, name and title of the ad, so you’ll want to A/B test different ideas to see what performs best across your ad set.

Prepare for Dynamic Product Ads Release in Power Editor

Most marketers don’t have the ability to create dynamic templates yet since they’re only available through the Facebook API—but the feature is being rolled out to Power Editor. It’s a good idea to take steps now to get ready.

plan image shutterstock 123085243

Get prepared for Facebook Dynamic Ads. Image: Shutterstock.

  1. Prepare your product catalog. If you have the technical resources available, start creating your dynamically generated feed file. If not, you can put together your Excel spreadsheet and optimize the data: the file format, images, image sizes and text lengths. Then upload them and test the import.
  2. Get your custom audience pixel instrumented. By doing it now, you won’t have to wait 30 days to get your audience completely targeted. You’ll be ready to start as soon as dynamic product ads hit general availability, putting you ahead of the competition.
  3. Build your product templates. Determine how you want to position and market your products using the merged data fields. In fact, you can likely hard-code this in normal product ads now and test the creative. That way you’ll have a library of ad copy that works immediately with the merged fields once they’re available.
  4. Develop your marketing tactics. With the ability to target based on a whole new set of behaviors, consider what new opportunities are available for promotions, tactics, cross-selling, interest targeting and more that can help you outperform competitors.

Those using Facebook dynamic product ads already report positive results, so it may pay to prepare now to get ahead of the curve. Jumping immediately on your ability to dynamically and more accurately target ads to your customers’ specific needs can make a big difference for your ad campaign’s ROI.

What do you think? Do you have access to Facebook dynamic product ads? What tactics are you excited to test with the new capabilities available to you? Share your thoughts in the comments below.

CSV icon photo and Plan prepare perform photo from Shutterstock.
Tags: , , , , , , , ,

Get Social Media Examiner’s Future Articles in Your Inbox!

Join 480,000+ of your peers! Get our latest articles delivered to your email inbox and get the FREE Social Media Marketing Industry Report (56 pages, 90 charts)!

More info...
  • Larry Kim

    thanks tom!

  • Wow, thank you for such a detailed guide!

    Dynamic Product Ads are still very new and there’s little information available on them. I wonder, are there any plugins already that could help businesses generate the product catalogs and add the necessary pixels automatically?

    And Tom, could you share any results of running dynamic product ad campaigns?

  • Thomas Fanelli

    You are very welcome Larry!

  • Thomas Fanelli

    Adomas, I looked all over and there are limited tools out there. I did find a couple ad platforms that supported dynamic ads. I will dig those up and repost. Since this is so new I don’t have any statistically relevant stats to share on performance. Thanks for commenting!

  • Thomas Fanelli

    Ok, here is the ad platform, SticherAds, that has integration. They report on this page they have at 50% lower cost per sale using dynamic product ads.

  • Tom, great info… going to test it out later today.

  • Griffin

    Nice guide!!! Do you have any case studies you can share?

  • Oscar

    It seems that setting this up could be complicated for a newbie but this article is great with a amazing detail making it straightforward.

  • Thomas Fanelli

    Thanks Daryl, at the moment no case studies, other than the sticherAds link above.

  • Thomas Fanelli

    Oscar, yes right now it is, but that’s due to Facebook having not released all the tools needed for DIY. Setting it up in the current state is only for those who want to tackle it! Of course, those who can and do take advantage of it, get the jump on the competition!

  • Thomas Fanelli

    Thanks Brandon, Don’t get discouraged if you cannot get through all the steps, the tools are not fully released in FB. Please share any progress you have! Good luck!

  • Dale Brose

    Thanks Tom. This went straight to my Evernote. I tried to work with that Facebook Business Manager several months ago and just did not find it to be a pleasant experience. Looks like I will need to make my peace with it.

  • Thomas Fanelli

    Thanks Dale, yeah I think its here to stay! Good Luck and thanks for sharing!

  • Dale Brose

    Thanks Tom. Did you guys ever do a “how to” on the Business Manager? I’m thinking you did. The hardest part is that I need to get my clients to move over to using the FB Business Manager before I can since the need to “assign an agency” from their account.

  • SimplySocialMedia

    Hi Tom; With the business manager can you still have multiple credit cards being used? All of my clients utilize their own credit cards hence the multiple log ins.

  • Thomas Fanelli

    Great question, facebook business manager allows you to be a 3rd party managing all those accounts in a central place. In addition, you can control who has access to those accounts in your organization. The benefit of this is you don’t have to go back to the client to have them add people to their ads account. They can still use their existing FB ads account, with existing payment methods but you have management capabilities.

  • Tam

    wondering if this feature is available in Australia

  • SimplySocialMedia

    Great! So you don’t have to log into the other account to boost or create an ad?

  • StitcherAds

    Hi Thomas,

    We really appreciate that you’ve mentioned StitcherAds!
    Have a wonderful day!

  • very informative article tom. have been searching for this since last couple of days. found a website but they wanted me to sign up for some annual package! you shared everything for free and in detail… awsm! 🙂

  • To make the administration easier, you could either ask the client to assign you as an agency through the Business Manager, or you can ask them to add you as an admin to their current ad account.

    For example, the client has an ad account with a payment method set up. If they go to the Ads Manager dashboard and click on the ‘Settings’ on the sidebar, they will find a section ‘Ad Account Roles’ – they can add you as an Advertiser there by using your email address, and you won’t need to be logging in or out from different accounts, you will be able to manage them from one account, your personal Facebook account.

    In addition to giving you the rights on the Ad Account, they’ll also need to give you at least the ‘Advertiser’ rights on their Facebook page, so that you can create the ads for them.

  • SimplySocialMedia


  • Thomas Fanelli

    Glad I could help Mahin!

  • Thomas Fanelli

    I have been searching but not found any reliable data on Australia availability. I will keep an eye and report back if anything pops up.

  • Aaron Parnes

    According to the Facebook rep I chatting with yesterday, product ads are either available both in the Power Editor and API, or on neither. It is an account-based availability, not regional.
    Can you clarify this for me?

  • Thomas Fanelli

    Aaron, I agree with that statement mostly. Yes I agree it’s not regional, roll outs like this have always been account based. I am not sure on the statement about it being in both or neither. It could be but will have to research. From reading the docs there is nothing saying its restricted in the Api docs that I read, which makes me believe it’s universally available through the API. Also I believe solutions like the various supported ad platforms use your account and therefore thier feature would be only available if your account was enabled. Seems like a very bad position to put developers in who build solutions that only work on certain accounts based on internally selection criteria. I will see if I can track down an answer and share what I find.

  • Koraan Kenner

    Perfect Audience has also integrated Facebook dynamic product ads…

  • Thomas Fanelli

    Thanks Koraan, I checked Perfect Audience and it was really unclear if it was a similar type of feature or they were integrating with Facebook’s New Dynamic Product feature. PA talks about “Dynamic Product Retargeting” and shows a picture of Google Product Listing screen, so it’s really unclear whether they have this as a feature they built that creates the ads or whether they integrated to the new FB feature. If you have any details please share a link so we can get more data! Thanks for sharing!

  • Andrea

    This is a fantastic article and very helpful. I am trying to launch this with our companies Facebook but am having trouble understanding all the directions. Is there anyway you could help me?

  • Andrea

    Hello Tom,
    Are you able to help me with some questions I have about finishing up the set-up of my Dynamic Product Ad?

  • johnfranklin68

    How do you get to the screen indicated in the attachment?

  • Guest

    Tom how do you get to the page indicated in the attached file? Thanks!

  • Thomas Fanelli

    You have to go to Facebook Business Manager and Create a new catalog.

  • Thomas Fanelli

    Andrea, shoot me a direct message on twitter, facebook, or linkedin and I will try to assist.

  • johnfranklin68

    Got it thanks!

  • johnfranklin68


    Thanks for sharing this excellent info. I have created my product catalog and uploaded a product feed. One of the fields that I used in the feed was the google_product_category. Is this field used to target those folks in the target market that are interested in the products that I am advertising? Thanks!

  • Jason Rockenbach

    Are the 3 new pixels added in addition to the standard pixel?

  • Loan Vũ

    I can not do Build Dynamic Ad Templates
    Can you step by step guide through the show?

  • Cheky Phung

    What is the number series of “ad account id” in ViewContent Pixel? is it the same with the Custom Audience Pixel. I’ve already add the addtocart pixel (with no product id) and checkout pixel (with no product id). Do I need add the addtocart pixel (with product id) and checkout pixel (with product id) to use dynamic product ads?

  • Kirsy

    Hi there Tom,

    In the example .csv file I don’t see the Gtin and Mpn fields/columns. Do you know if these are mandatory? Thank you for thr great post. I’ll probably have some more questions once I get started 🙂

  • Thomas Fanelli

    Hi Kirsy, the documentation states: Note: Either gtin, mpn, or brand are required. Hope that helps.

  • Thomas Fanelli

    Cheky, that should be your advertising account ID, same in all pixles.

  • Thomas Fanelli

    Loan, The dynamic templates have not been released in power editor last I checked. So the only way to do this is to use a 3rd party tool or have a developer use the API to create them. If you hang tight a little while longer I am sure they will be releasing an ad builder. (disclaimer: not sure when it will be)

  • Thomas Fanelli

    John, you have to go into the Facebook Business Manager and add a catalog.

  • checky phung

    opp, ad account id must different between addtocart pixel and checkout pixel?

  • Michael at

    Has anyone had success using this with Big Commerce? Having a real hard time with it

  • Nahida Shaikh


    Thank you for this write up. While there is already information available about how this works, there is lot yet to be explained about generating the product feed. I want to know whether we have anything like the google merchant centre on facebook where the feed could automatically pull in new products on our website with the margins we want?
    I usually extract the pla feed from google merchant centre make some link related changes for tracking the performance in the finance order report; get it converted into an xml feed which is then uploaded on the server for the link that automatically checks stocks availibility. Am i right? But what we do not have is automatic updates of new products. DO you now of any such provision. I am quite eager to know. Appreciate your help

  • edison1944

    Tom, you mentioned using lookalike audiences to extend the reach of dynamic product ads, however you didn’t really cover that in your article. I’ve experimented with this and can’t see to get it working.

    Any advice?

  • Peetocus

    This: When you add the ViewContent pixel to a product page, you need to insert that product’s specific ID manually or via a tag from your ecommerce platform.

    Any ideas on how to do it in woocommerce?

  • Christy Han

    Hello, I plan to use this ads recently, but today when I upload products feed, it always show me errors, any suggestions ?
    Thanks in advance

  • Thomas Fanelli

    Nahida, Thanks for commenting on the post. At this time I do not know of a stand alone solution that does what you are asking. Keep in mind, we are at the very early days of product feeds in FB and I am sure as time progresses we will see tools like this from companies like Shopify as FB.

  • Thomas Fanelli

    What specifically are you having issues with? For a custom audience you do need to have a minimal amount of people in your list, anything over a few hundred should not be an issue. Let me know where you are running into issues and thanks for commenting.

  • Thomas Fanelli

    Without seeing the exact format, based on the error I think you may have an issue where you are missing a comma in the CSV format for this specific product. Does this products name or any other field in it have a special character that could be throwing off the CSV format?

  • Nahida Shaikh

    it is a good method. i work for an ecommerce company. try carousel Dynamic product ads on mobile and separate ad set for desktop. If you want to make profit- test high margin products.

  • Nahida Shaikh

    but you really have to check if your organic sales have dipped after dynamic product ads… Because there is a probability that the products sold through dynamic ads would anyway sell organically. I ams aying this because a product yopu viewed follows you on facebook. Again, You have an option to target customers who viewed that particular product nad customer who added that product to the cart but did not buy

  • Tom – You showing using a .csv file to upload your product catalog. When I read the FB documentation just now, it says to use a .tsv or XML file. Do you know if the .csv file will still work? FB also lists many more data field in the header than the 11 you have. Any thoughts on if yours will still work, have you tried it lately? Thanks.

  • Thomas Fanelli

    Thanks for asking Ken! csv did work for sure when I tested it and I do recall the docs mentioning it, so its odd you are reporting it may be changed. Regarding the fields, there are many fields, but they are not all required fields. The ones I listed were the required ones to get the import to work. Hope that helps.

  • Minsoo Kim

    Hello there. I am very new to this and I am glad I found your blog. I followed the steps above but I got an error saying that “No valid column names” “The first line in the feed file is expected to contain the name of the fields. The first line of the uploaded file did not contain any valid field names.”
    I am guessing there is something wrong with the line #1 where I write Id, link, title and stuff. Can you tell me how I should fix the problem? My excel looks something like this. I just copied your example.

  • Thomas Fanelli

    Hi Minsoo, are you making sure to save this as a csv file and upload that format? One issue could be the format of the file and possibly your international language characters in column F. I would try to remove those and then make sure you are putting the file format into CSV. Let us know if that works.

  • Amelie

    Hello Tom.
    This was very useful article – thank you.
    But what i cant understand – how to load the csv feed, there is regular issue, says that first line doesnt contain any feild names.
    please see my screenshot, what do i do wrong?
    i tried different variants, nothing work out with

  • Amelie

    Hello again)
    Here is a little speech, how i solved my problem
    first of all – read the issues, that facebook show you, if it says like “No Valid Column” like it was in my case, then you should check your delimeter (separate) methods used in your csv.
    So i found out that my csv file (office 2003 mac os) wasnt read by facebook at all. So i used inline tool to convert my csv to TSV format (same csv but with delimiter)

    after that facebook can read your file and show you the issues, which you can solve step by step.

  • karolos

    Hello Tom and all of you guys!

    This is a great guide. I understand that the dynamic remarketing that we can do depends on the product set we set up. Can we do dynamic remarketing for individual products? For example if i see a specific dress then to see that dress in an ad?

  • Thomas Fanelli

    Actually you can do that with normal remarketing pixels on Facebook. You can specify in your audience setup that you want to segment the audience based on the specific pages they visit in your site. So the audience would be based on them visiting X product page, then you setup your ads to reflect that specific product. If you want to do this at scale there are tools in the market place that will help you set this up and run these ads as the example I just gave you would be labor intensive for a shop with a lot of products. Hope that helps!

  • Melanie

    Does anyone know how to set up categories on my business page and also how to allow others to post and how to set my rules

  • LisaDJenkins

    Hi Melanie,

    It looks like you might find what you’re look for in this article “How to Set Up a Facebook Page for Business”

    Best of luck!

  • As always very good guide Tom. I was wondering if you can share a csv template so that everyone can use it?

  • Gulab Chandra

    Hi can anyone tell me how to create Dynamic Product Ads i means in one ad i can create multiple add and create shop now button.

  • Grace Duffy
  • Harry Davidson

    We offer private, commercial and personal loan amount ranging from $5000 to $20 million with 3% interest for a period of 1 year to 50 years.

    Apply to this email address if interested:

  • CreaDescuentosTM

    could you provide the csv template please?