Product Feed Match Rates

Match Rate

The match rate for your product feed shows you the health of your integration for dynamic ads.

Before running dynamic ads, we'll need to make sure your site traffic sends us product views that match the products in your feed. Is your pixel passing data that matches your product feed? 

Match Rate = (# of product views that match products in your feed) / (# of total product views)

For example:

  • 1000 site visitors view 1000 product pages
  • Of those 1000 product page views, only 600 product IDs match products that appear in your most current feed
  • Therefore, your match rate is 600/1000 = 60%

When match rates dip under a certain percentage, performance may decrease because we may not be able to retarget a visitor with the most relevant products if those products don’t appear in the feed. 

Daily Match Rate and Activity

After you configure your feed, we’ll parse (download) your product metadata daily. This way, we can keep your product feed updated to serve the most current products and prices.

For each daily parse, you’ll see a point on your match rate graph.

Your match rate should be above 40% and remain relatively constant. Dramatic (+20%) dips are typically a sign that something is misconfigured. For example, this could happen if you feature new products on your site without including them in your product feed. This means that site visitors are potentially clicking on new products, but you can’t retarget them with these products if they aren’t in the feed. 


There are a few common reasons for why your match rate can drop. Here are some tips to boost your match rate.

If Your Match Rate is 0%

This requires immediate attention. If we have previously parsed your products successfully,  then your active dynamic ads could be running with default products (a product stream that consists of top-clicked and random products). We’ll retain the last successfully parsed products in our cache and use them to serve your ads, but these ads will not perform as well since we won’t be able to show the visitor their previously viewed or recommended products. 

Possible causes and ways to fix this: 





How to Verify

Pixel is broken or removed

If the full pixel and/or the custom_data snippet isn’t passing visitors’ product views to AdRoll, then we won’t be able to retarget with previously-viewed products.

Ads will only show top and random products instead of products viewed/recommended.

Troubleshoot and reinstall your pixel

Go to the landing page and verify PixelPal is firing the Adv EID and Pixel EID.

Feed URL is broken

If your feed URL is broken, our feed parser can’t download all of your products, which can break match rate.

Parse fails, Dynamic creative Ad shows failsafes.

Go to Settings > Product Feeds and fix the product feed URL.

New “feed downloadable” API will surface an error.

Feed parser not whitelisted

The server that hosts your feed can have a whitelist. If AdRoll’s feed parser isn’t on the whitelist, we can’t parse your products. This scenario is only applicable if you host your own feed (you provide us with the feed URL). If AdRoll is hosting your feed (you provided us with a feed file), then this isn’t an issue.

AdRoll’s feed parser can’t download products

Ask your website developer to whitelist AdRoll’s feed parser machine:
user agent string : AdRoll Dynamic Creative Feed Parser bot (
ip-address (to be whitelisted) : ''

New “feed downloadable” API will surface error:

If Match Rate is Under 40%

We’ve found that as long as your match rate is above 40%, click and conversion performance of dynamic ads won’t suffer significantly. But when match rate drops below this threshold, we tend to see click/conversion performance drop.

Any match rate around this threshold tends to lower performance, because we can’t fully recommend the products that are most likely to convert. Here are some common troubleshooting tips for low match rate: 





How to Verify

Product IDs in the feed have changed

If the product IDs in the supplied feed don’t match the passed product IDs, this can cause low match rate. The most common reason for this is if the feed’s product IDs have changed.

Any products that have new product IDs not included in the feed, will not be served in ads.

Update product IDs in feed to match site product IDs

Go to the product page, and in the dev console, type in “adroll_custom_data”. The product_id returned should equal the product ID provided in the feed

Pixel is not passing product IDs (part 1)

There are two ways that a pixel can pass product IDs:

adroll_custom_data object: this method is far preferred because it passes a consistent product ID value back to AdRoll.

Low match rate

Fix the adroll_custom_data parameter so that it passes the right product IDs

Go to the product page, and in the dev console, type in “adroll_custom_data”. The product_id returned should equal the product ID provided in the feed

Pixel is not passing product IDs (part 2)

Scrape for product id from html or url: this method is not advised because it easily breaks. A common reason for low match rate is when your product page’s URL or HTML changes, and the rules that have been preset to scrape for product ID don’t work anymore. We highly recommend explicitly passing product ID via the pixel.

Low match rate

use adroll_custom_data parameter within your javascript pixel to pass product IDs explicitly

Go to the product page, and in the dev console, type in “adroll_custom_data”. The product_id returned should equal the product ID provided in the feed

Mismatch for product group

A product group can be used to separate your products for a different locale/geo/language or type of product. Each product group requires a product group key. If the pixel is passing a different product group key than is configured in your, then we will be unable to match products

Low match rate

Ensure product_group parameter is being passed correctly

Go to the product page, and in the dev console, type in “adroll_custom_data”. The product_group returned should equal the product group provided to you by a support agent

Mismatch for actions

A product action is passed in addition to product id, as usually looks like “cart” or “added_to_cart” or “success” or “thank_you”. These actions need to be mapped to product streams if they deviate from the default, recommended values.

Lower performance due to lack of cart product recommendations and continued targeting of converters

Always use user  "AddToCart" action and "Purchased" for your product actions, more information here

Go to the product page, and in the dev console, type in “adroll_custom_data”. The product_action matches "AddToCart" and "Purchased" verbatim

Feed configuration is broken

Example: wrong info is displayed due to feed format changing or regex not working

Product metadata (price, description, etc…) now displaying correctly in ads, Onsite, Emails

Go to Settings/ Product Feeds/ “Edit Configuration” for the feed which contains the product displaying the wrong data/ then click the gear icon for the field that is wrong, and check the “Custom Rules”

Save your changes, and then check the products page after the parse completes to make sure the new custom rule fixed the issue.

Other circumstances

You might have a low match rate due to the Intentional exclusion of products. In many cases, match rate might hover under 40%, which may be the highest possible match rate. The most common reason for this would be if you only want to feature a subset of your products in ads, and you purposefully omit that subset of products from your feed. Your match rate is expected to be low in this case, since lots of product views are not matching products in your feed. 

If you can’t troubleshoot the issue based on this article, please contact

Was this article helpful?

We're sorry to hear that!

Please tell us why.