Google Ads's Match Rates: Retail is 0%

I have been passing this array:
items: [
{
id: item_id_google,
item_id: item_id_google,
name: product.title,
item_name: product.title,
item_category: product.type,
item_brand: product.vendor,
item_variant: productVariant.title,
price: amount,
quantity: 1,
google_business_vertical: “retail”,
},
],

The data is correct. I’m using this for both ecommerce on GA4 and Google Ads Remarketing. However, it seems like the match rates: retail has been 0. I’m using client-side for Google Ads Remarketing right now. Should I also implement this on server-side?

I can assume that you have different product IDs in the catalogue and those that you send, it should be checked first of all.

I found out why. I use the same ecommerce object for Google Ads and Google Analytics. Google Analytics prefer item_id while Google Ads prefer id for the product’s ID. I have now included both, and the rate is going up!