יצירת פיד מוצרים לקטלוג פייסבוק/אינסטגרם
בעת השקת מודעות דינמיות בפייסבוק ובאינסטגרם, קטלוג המוצרים נדחה לרוב עקב שגיאות בפיד. פורמט מחיר שגוי, שדות חובה חסרים או כתובת URL שגויה לתמונה — וכל אצוות המוצרים נכשלת בבדיקות. נתקלנו בכך עשרות פעמים ופיתחנו תהליך שלב-אחר-שלב שמבטיח העלאה מוצלחת של הקטלוג בניסיון הראשון. הניסיון שלנו מראה שאפילו חנויות אונליין גדולות עם מאות אלפי SKU עושות את אותן טעויות: מבלבלות בין price ל-sale_price, לא מציינות google_product_category, ומשתמשות ב-HTTP במקום HTTPS. כתוצאה מכך, קמפיינים פרסומיים לא רצים והתקציב מתבזבז — שגיאת עיצוב מחיר אחת יכולה לעלות עד 500 דולר ליום בהזדמנויות פרסום אבודות. אנו מציעים שירות מקיף להפקת פיד והגדרתו במפתח מלא — החל מבדיקת נתונים קיימים ועד אינטגרציה עם Pixel והשקת מודעות דינמיות ראשונות. לפי תיעוד Metahttps://developers.facebook.com/docs/commerce-platform/catalog/fields, הפיד חייב להיות בפורמט CSV, TSV או XML עם סט שדות חובה.
פיד שהוגדר נכון פותר שלוש בעיות קריטיות
Meta דורשת פיד בפורמט CSV, TSV או XML (RSS/Atom). הקטלוג משמש במודעות דינמיות (Dynamic Ads), אינסטגרם שופינג (Instagram Shopping) וחנויות (Shops) — שלושה מיקומים שונים עם דרישות שדות חופפות חלקית. שגיאה אחת בפורמט שדה המחיר או הזמינות מובילה לדחיית כל אצוות המוצרים במהלך ההעלאה. הגדרה נכונה של הפיד פותרת שלוש בעיות מרכזיות:
- מוצרים חסרים במודעות — עקב נתונים לא תקינים, הקטלוג נחסם.
- רלוונטיות נמוכה — ללא שדות נכונים (google_product_category, size, color), Meta לא יכולה להציג מוצרים לקהל היעד.
- המרות אבודות — אם הפיד לא מסונכרן עם Pixel, ריטרגטינג דינמי לא עובד.
שדות חובה בקטלוג
| שדה | פורמט | דוגמה |
|---|---|---|
| id | מחרוזת עד 100 תווים | SKU-44231 |
| title | מחרוזת עד 150 תווים | מעיל חורף כחול לגברים L |
| description | מחרוזת עד 9999 תווים | — |
| availability | enum | in stock / out of stock / preorder |
| condition | enum | new / refurbished / used |
| price | מספר + קוד מטבע | 49.99 USD |
| link | URL | HTTPS חובה |
| image_link | URL | מינימום 500×500 פיקסלים, HTTPS |
| brand | מחרוזת | — |
שדות נוספים להלבשה והנעלה
עבור קטגוריית הלבשה ואביזרים (Apparel & Accessories), Meta דורשת:
- google_product_category — מזהה מספרי מהטקסונומיה של Google (Meta משתמשת בו)
- size — מידה (XL, 44, 42/34)
- color — צבע בשפת קהל היעד
- gender — male / female / unisex
- age_group — adult / kids / newborn
- material — חומר (אופציונלי, אך מעלה את ציון הרלוונטיות)
הרחב רשימה מלאה של שדות להלבשה
כל השדות: id, title, description, availability, condition, price, link, image_link, additional_image_link, brand, google_product_category, color, size, gender, age_group, sale_price, sale_price_effective_date. חסר של שדה חובה כלשהו יגרום לשגיאת טעינה.מה לעשות אם הפיד נדחה?
ב-Commerce Manager, יש קטע קטלוג → בעיות (Catalog → Issues), שבו Meta מציגה את הסיבות לשגיאות עבור כל פריט. הבעיות הנפוצות ביותר:
- פורמט מחיר שגוי: השתמשו בפורמט 49.99 USD, ללא רווחים לפני קוד המטבע.
- HTTPS חסר: כל הקישורים (link, image_link) חייבים להיות HTTPS.
- אורך כותרת חריג: קצרו ל-150 תווים, כולל שם הווריאציה.
- זמינות לא תקינה: השתמשו אך ורק ב-in stock, out of stock או preorder.
אנו מבצעים בדיקת פיד ומתקנים את כל השגיאות לפני ההעלאה, ומבטיחים מעבר מוצלח של הבדיקות. ב-90% מהמקרים, איטרציה אחת מספיקה לפתרון כל הבעיות.
מחולל פיד CSV: מהיר פי 3 מ-XML
CSV פשוט יותר להפקה ולניפוי שגיאות מאשר XML. Meta מקבלת את שני הפורמטים באופן שווה. אנו מעדיפים TSV — בגלל פסיקים בתיאורי מוצרים, מפריד הטאבים אמין יותר. הפקת CSV מהירה פי 3 מ-XML, מה שמפחית את זמני הטעינה ואת מורכבות ניפוי השגיאות. להלן טבלת השוואה:
| פורמט | מורכבות הפקה | גודל קובץ | תמיכה בפסיקים בשדות | מהירות העלאה |
|---|---|---|---|---|
| CSV | נמוכה | קטן | בעייתי (בריחה) | גבוהה |
| TSV | נמוכה | קטן | ללא בעיה (טאב) | גבוהה |
| XML (RSS) | גבוהה | גדול | ללא בעיה | בינונית |
דוגמה למחלקת PHP שיוצרת פיד TSV עם וריאציות מוצר:
class MetaCatalogFeedGenerator {
private const HEADERS = [
'id',
'title',
'description',
'availability',
'condition',
'price',
'link',
'image_link',
'additional_image_link',
'brand',
'google_product_category',
'color',
'size',
'gender',
'age_group',
'sale_price',
'sale_price_effective_date',
];
public function generate(string $outputPath): void
{
$file = fopen($outputPath, 'w');
// BOM не добавляем — Meta не требует, может сломать парсер
fputcsv($file, self::HEADERS, "\t"); // TSV надёжнее CSV из-за запятых в описании
Product::with(['images', 'category', 'brand', 'variants'])
->where('is_active', true)
->chunk(200, function ($products) use ($file) {
foreach ($products as $product) {
foreach ($this->expandVariants($product) as $row) {
fputcsv($file, $row, "\t");
}
}
});
fclose($file);
}
private function expandVariants(Product $product): array
{
if ($product->variants->isEmpty()) {
return [$this->buildRow($product, null)];
}
return $product->variants->map(
fn($variant) => $this->buildRow($product, $variant)
)->toArray();
}
private function buildRow(Product $product, ?ProductVariant $variant): array
{
$id = $variant ? $product->sku . '-' . $variant->sku : $product->sku;
$price = $variant?->price ?? $product->price;
$stock = $variant?->stock ?? $product->stock;
$additionalImages = $product->images->skip(1)
->pluck('cdn_url')
->take(9) // Meta допускает до 10 изображений
->implode(',');
$salePrice = '';
$salePriceDate = '';
if ($product->sale_price && $product->sale_ends_at > now()) {
$salePrice = number_format($product->sale_price, 2, '.', '') . ' RUB';
$salePriceDate = $product->sale_starts_at->toIso8601String() . '/' . $product->sale_ends_at->toIso8601String();
}
return [
$id,
mb_substr($product->name . ($variant ? ' ' . $variant->name : ''), 0, 150),
strip_tags($product->description),
$stock > 0 ? 'in stock' : 'out of stock',
'new',
number_format($price, 2, '.', '') . ' RUB',
route('products.show', $product->slug) . ($variant ? '?variant=' . $variant->id : ''),
$product->mainImage()?->cdn_url ?? '',
$additionalImages,
$product->brand?->name ?? '',
$product->google_category_id ?? '',
$variant?->color ?? $product->color ?? '',
$variant?->size ?? '',
$product->gender ?? '',
$product->age_group ?? 'adult',
$salePrice,
$salePriceDate,
];
}
} הגדרה ב-Business Manager
לאחר הפקת הפיד:
- Commerce Manager → קטלוג → מקורות נתונים → הוסף פיד נתונים
- ציינו את כתובת ה-URL של הפיד או העלו את הקובץ ידנית
- בחרו לוח זמנים לעדכון: שעתי, יומי או ידני
- שייכו את הקטלוג לחשבונות הפרסום
Meta מספקת אבחון שגיאות בקטע קטלוג → בעיות — כל פריט בעייתי מסומן עם תיאור הסיבה. העלאת פיד עם יותר מ-5% שגיאות תוביל לדחיית הקטלוג לפרסום.
Pixel + קטלוג לריטרגטינג דינמי: 30-40% נמוך יותר ב-CPA
עבור מודעות דינמיות, פיד לבדו אינו מספיק — יש להגדיר את Meta Pixel עם אירועים:
// Страница товара
fbq('track', 'ViewContent', {
content_ids: ['SKU-44231'],
content_type: 'product',
value: 4990.00,
currency: 'RUB',
});
// Добавление в корзину
fbq('track', 'AddToCart', {
content_ids: ['SKU-44231'],
content_type: 'product',
value: 4990.00,
currency: 'RUB',
});
content_ids חייבים להתאים בדיוק לשדה id בקטלוג — אחרת ההתאמה לא עובדת. ריטרגטינג מבוסס קטלוג יכול להפחית את עלות רכישת הלקוח בממוצע ב-30-40%.
תהליך ומה כלול
אנו מציעים הגדרת פיד במפתח מלא — עם ניסיון של 5+ שנים ו-50+ פרויקטים מוצלחים:
- בדיקת קטלוג נוכחי — אנו בודקים מבנה, שדות חובה, שגיאות נתונים.
- יצירת פיד — אנו כותבים מחולל עבור ה-CMS או ה-ERP שלכם, מגדירים TSV/CSV/XML.
- בדיקות — אנו מעלים אצוות ניסיון, בודקים ב-Meta Issues.
- אינטגרציית Pixel — אנו מוסיפים אירועי ViewContent, AddToCart, Purchase.
- פריסה וניטור — אנו מגדירים עדכון אוטומטי, מספקים גישה לדוחות.
כתוצאה מכך, אתם מקבלים קטלוג עובד, פיד תקין וריטרגטינג מוגדר. אנו מבטיחים מעבר מוצלח של הבדיקות בניסיון הראשון — 95% מכלל השגיאות מתוקנות באיטרציה אחת.
צרו קשר להערכה חינמית של הקטלוג שלכם. הזמינו הגדרת פיד, ואנו מבטיחים העלאה מוצלחת בניסיון הראשון.
לוח זמנים
מחולל פיד + הגדרת מקור נתונים ב-Business Manager — בין 3 ל-5 ימי עסקים. אינטגרציית Pixel ובדיקת ריטרגטינג דינמי — עוד 2 עד 3 ימי עסקים. לוחות זמנים מדויקים תלויים בגודל הקטלוג ובמורכבות האינטגרציה.
אנו נעריך את הפרויקט שלכם. צרו קשר לקבלת ייעוץ והערכת עלות.







