Generating Product Feeds for Pinterest Catalog
Pinterest Catalog allows you to upload your product catalog and use it in Product Pins, Shopping Ads, and Shopping Spotlights. Pinterest accepts feeds in CSV, TSV, or XML format compatible with Google Shopping. If your store already has a working Google Merchant Center feed — connecting to Pinterest takes minimal time.
Required Fields
| Field | Note |
|---|---|
id |
unique product identifier |
title |
up to 500 characters |
description |
up to 10,000 characters |
link |
product page URL |
image_link |
min. 200×200 px, recommended 1000×1500 px (vertical) |
price |
format 19.99 USD |
availability |
in_stock / out_of_stock / preorder |
google_product_category |
numeric ID |
condition |
new / used / refurbished |
Pinterest works best with vertical images in 2:3 ratio. Square and horizontal photos take up less space in feed and get fewer clicks.
TSV Feed Generator
class PinterestCatalogFeedGenerator
{
public function generate(string $path): void
{
$fp = fopen($path, 'w');
$headers = [
'id', 'title', 'description', 'link', 'image_link',
'additional_image_link', 'price', 'sale_price',
'availability', 'condition', 'brand',
'google_product_category', 'color', 'size',
'gender', 'age_group', 'material', 'pattern',
];
fputcsv($fp, $headers, "\t");
Product::with(['images', 'brand'])
->where('is_active', true)
->chunk(300, function ($products) use ($fp) {
foreach ($products as $p) {
$additionalImages = $p->images->skip(1)
->pluck('cdn_url')
->take(9)
->implode(',');
$row = [
$p->sku,
mb_substr($p->name, 0, 500),
mb_substr(strip_tags($p->description), 0, 10000),
route('products.show', $p->slug),
$p->mainImage()?->cdn_url ?? '',
$additionalImages,
number_format($p->price, 2, '.', '') . ' RUB',
$p->sale_price
? number_format($p->sale_price, 2, '.', '') . ' RUB'
: '',
$p->stock > 0 ? 'in_stock' : 'out_of_stock',
'new',
$p->brand?->name ?? '',
$p->google_category_id ?? '',
$p->color ?? '',
$p->size ?? '',
$p->gender ?? '',
$p->age_group ?? '',
$p->material ?? '',
$p->pattern ?? '',
];
fputcsv($fp, $row, "\t");
}
});
fclose($fp);
}
}
Connecting Feed in Pinterest Business Hub
- Pinterest Business Hub → Catalogs → Create Catalog
- Specify feed URL (feed must be publicly accessible)
- Select country and language
- Configure update schedule (recommended daily)
- After initial processing, check Issues section
Pinterest automatically creates Product Groups from catalog categories. Product Groups are used for grouping in Shopping Ads and bid assignment.
Pinterest Tag for Product Pins
For correct attribution and retargeting, add a tag with events:
// Product view
pintrk('track', 'pagevisit', {
product_id: 'SKU-12345',
value: 4990,
currency: 'RUB',
});
// Add to cart
pintrk('track', 'addtocart', {
product_id: 'SKU-12345',
value: 4990,
currency: 'RUB',
quantity: 1,
});
Timeline
Setting up feed generator and connecting catalog — 1–2 working days. If using existing Google Shopping feed — just register URL in Pinterest Business Hub: a few hours.







