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.
Important: The plugin works with Global Attributes. It doesn’t work with Custom Attributes (defined at a product level) or with Custom Fileds. We decided to make it this way because Global Attributes are the correct way to add additional data for all, or part of your products. They are quite flexible and you can show or hide them on the product page. They are build in and they can be imported or exported easely. It’s is also a matter of resources optimization, because gathering informations from custom attributes or custom fileds would increase the burden on your server. Keep that in mind and if you need additional data (likely for the Google Feed), make sure it’s added as a Global Attribute.
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
Show main variable product item – Pro Option
Default configuration will include the main item of a variable product. If you need to, this option will exclude it from the feed.
Show main grouped product item – Pro Option
Default configuration will include the main item of a group product. If you need to, this option will exclude it from the feed.
Show main bundle product item – Pro Option
Default configuration will include the main item of a variable bundle. If you need to, this option will exclude it from the feed.
Remove Capital Letters from Product Title
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
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.
Image Optimization for Facebook Product Catalog
One of the biggest problems our clients have when trying to promote a Product Catalog (Dynamic Ads) is that the product images don’t look good with the ads. They are either too big, or too small, they don’t fit well and they make the ads look awkward.
Because of this, we come up with a few solutions that you can use.
Yoast Image: this is probably the most popular SEO plugin out there. You can also use it to upload a social image for each of your products. We make this image available for the mapping, so you can select it when you create or edit a feed.
MashShare Social Media Image: this is another popular plugin that lets you add images for your products. You can use them for the feed as well.
Additional Product Images – Pro Option
The plugin will add two additional buttons for each WooCommerce product and each variation. Wen you create or edit a WooCommerce product you will see the new buttons under “Product Catalog Feed Ads Images”.
You can add 2 separate images:
- for carousel ads (600X600 px)
- for single image ads (1200X628 px)
These images will be available for mapping and you can use them for your feed.
This option let’s you define a second rule for the product image, that will be used the if main image is missing.
Example: The main image linked is mapped to the Yoast Image and the fallback image is mapped to the Product Image (WooCommerce default picture). If a product doesn’t have a Yoast image, then the product image will be used.
The Facebook Feed has a limited number of additional fields: custom_label 0 to 4. You can map each of them to anything you want and use each custom label for your Dynamic Ads template (they will be available as dynamic keywords).
The Google Feed has a much larger number of additional fields. Most of them are required in some countries and optional in others. For the vast majority, you will have to do the appropriate mapping manually since there are no default settings in WooCommere for them.
Important: The plugin supports mapping to any Global Attribute. It doesn’t work with Custom Attributes (created at the product level) and with custom fields.
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.