Creating WooCommerce XML feeds compatible with Facebook Dynamic Product Ads is a simple and straight forward process with Product Catalog by PixelYourSite plugin. Most of the process is automated and will be executed out of the box, but there are also key features giving you the possibility to personalize the feed according to your needs.
Auto Refresh Interval
The plugin will auto-refresh all the XML feeds in a given interval. This way the feed will synchronize with the WooCommerce real time stock.
You can select between hourly, twice daily, daily and once a week.
The autorefresh is based on WordPress cron. If you are not familiar with how the cron works, this is the basic stuff:
- A visitor comes to any page on your WordPress website.
- WordPress Cron checks each cron event to see whether the scheduled time has passed.
- If the scheduled time for that event has passed, then WordPress Cron executes any actions tied to that event.
Depending on the number of products you have, a smaller interval can put weight on your server resources.
Important: You will also have an option to Schedule Updates when you upload the Product Feed for the Product Catalog in the Facebook Business admin area. This will tell Facebook when to reload the feed data again. It can be daily at a certain hour, or weekly on a specific day at a specific hour.
How to Create WooCommerce Feeds
- Click the New Feed tab
- Name the feed – give each feed a unique name
- Select Google Product Taxonomy – This is not a mandatory field, but ignoring it will give a warning when adding feeds to Product Catalog. It can be useful if you need to create Product Sets. Choose the best matching category.
- Click on “Generate the feed” button
Map the Fields:
- The mapping is done automatically. You just need to check if everything goes where you want it to go and make any changes that you consider necessary.
Tips for Dynamic Ads Feeds:
- Using product description in your Dynamic Ads template will be almost impossible because of the size of it. You can use keywords to create a personalize description when you create the template. If there are problems when uploading the feed because of the description content, you can map it to title or some other field that all your products have. Remember, products with no description value will be rejected.
- Product ID: Facebook will match the products based on the product ID. Make sure that both the feed and the Facebook pixel code on your site are using the same rule. The default setting will use the ID (WordPress allocated id) and this does the job well in the vast majority of users.
If you want you can personalize the feed according to your needs.
Filters – Pro Option
Decide what products should go in each feed. You can filter by:
- WooCommerce Product Categories
- Product Tags: add tags separated by comma
- Sale: select all products, only products on sale, only products not on sale
- Product Type
- Stock Status
Variable Products Price – Pro Option
Select “Variable products price” – This will tell the plugin what price to use for the main product ID in case of variable products.
Why is this useful: “Price” is a mandatory field and Facebook will not take into consideration a product without a price. It can happen that a variable product has only prices for each variation, but not for the main product ID. In this case, the plugin will use the prices based on this rule. You can select the smaller price, the bigger price or the price for the first variation.
You can select the smaller price, the bigger price or the price for the first variation.
Remove Product Variations – Pro Option
If you want, you can remove product variations from the feed and show only the main product ID in the case of variable products
Remove Capital Letters from Product Title (coming soon)
Facebook will reject products if the title has only capital letters. Check this option to clean up product title and remove the capital letters.
“MY PRODUCT NAME. SUPER GOOD” will be transformed into: “My product name. Super good”
Use Variation Description (coming soon)
You can select to use the variation description when this is present. If there is no description for a variation, the main description will be used.
The default settings will use the main description only.
Brand Option – Pro Option
WooCommerce doesn’t have by default an option to manage product brands, so you are probably using a dedicated plugin to achieve this. Our mapping is smart enough to detect this kind of settings and select the correct data for brands. If that’s not the case, you can modify the settings by mapping the brand to a different field.
Additionally, you can define a value to be used for products with no brand. This can be anything that makes sense, like your site or store name for example. This way all your products will have a meaningful value for brand.
You can also define a global brand value, that will be used for all your products regardless of the data from your store.
Condition Option – Pro Option
Condition is a required field and Facebook will reject products with no condition. The problem is that WooCommerce doesn’t have a built-in condition option. If you are adding it by other means, you will have to select the correct value to be used.
Additionally, you can define a condition for the products that don’t have it, or a global value to be used for all your products.
How to Manage Feeds
If you have any feeds created they will be visible under the Manage Feeds tab. For each feed, you will have a few key data, like feed name, WooCommerce categories and the last time the feed was updated (including the last auto-refresh).
- View: this will open the XML feed. You can use this URL with the Facebook Product Catalog
- Edit: you can change feed settings here
- Regenerate: you can regenerate each feed
Export the feeds
You can export each feed in XML or CSV format. They will be compatible with Facebook Product Catalog.
TIP: Most of the time the best option is to use the XML URL to upload your products. The data will be updated automatically and your ads will be synchronized with the inventory of your store.