Anasayfa/ Blog /GEO

ChatGPT Product Feed Nasıl Hazırlanır?

Turan Doğan
Turan Doğan
SEO & GEO Uzmanı
GEO 20 Eylül 2026 13 dk okuma
ChatGPT Product Feed Nasıl Hazırlanır?
ÖZET
ChatGPT ürün akışı, bir satıcının ürün kataloğunu OpenAI'ın işleyebileceği yapıda ileten yapılandırılmış dosyadır. Akışın zorunlu alanları ürün kimliği, başlık, açıklama, ürün adresi, görsel adresi, marka, fiyat ve stok durumudur. Akışa erişim, OpenAI'ın satıcı başvurusunu onayladığı ortaklara açılan kapalı bir katılım sürecidir.

Ürün Akışı ChatGPT'ye Ne Anlatır?

Ürün akışı, bir mağazanın kataloğunu OpenAI'ın okuyabileceği alan adlarıyla tarif eden veri dosyasıdır. ChatGPT ürünün fiyatını ve stok durumunu sayfadan çıkarım yaparak tahmin etmek yerine akıştaki değerleri okur. Bu yüzden akış bir tanıtım metni değil envanter bildirimidir. Dosyadaki her satır tek bir satılabilir birimi temsil eder ve o satırdaki fiyat yanlışsa kullanıcıya gösterilen fiyat da yanlış olur.

Akışın iki ayrı işlevi vardır ve OpenAI bunları şemada iki bayrakla ayırır. is_eligible_search alanı ürünün ChatGPT içindeki alışveriş sonuçlarında aday olarak değerlendirilmesini açar. is_eligible_checkout alanı ise kullanıcının ChatGPT'den çıkmadan sipariş verebildiği akışa katılımı belirtir ve yalnızca is_eligible_search değeri true iken kullanılabilir. Bir mağaza sadece keşifte görünmek isteyip satın alma entegrasyonuna girmeyebilir; bu iki karar birbirinden bağımsızdır.

Akış içerik tarafındaki çalışmanın yerine geçmez. Marka ve kategori sorgularında ChatGPT'nin metinsel kaynak olarak sizi kullanması ayrı bir konudur ve ChatGPT görünürlüğü çalışması ile ilerler. Ürün akışı yalnızca katalog verisini besler.

Akışa Erişim Başvuruyla Açılır

ChatGPT ürün akışı herkese açık bir yükleme arayüzü değildir. OpenAI, akış katılımının onaylı ortaklara açık olduğunu belirtiyor ve erişim için satıcıların bir başvuru formu doldurmasını istiyor. Onay verilmeden dosya gönderilecek bir uç nokta da oluşmuyor. Bu yüzden teknik hazırlık ile katılım izni iki ayrı adımdır ve akış dosyasını hazırlamış olmak tek başına ürünlerin ChatGPT'de görüneceği anlamına gelmez.

Pratikte doğru sıra şudur: başvuruyu yapıp beklerken katalog verisini şemaya uygun hale getirmek. Onay geldiğinde eksik alanları toplamaya başlamak, gecikmenin en pahalı biçimidir; çünkü GTIN toplamak ya da görsel adreslerini düzeltmek altyapı tarafında haftalar sürebilen işlerdir.

Zorunlu Alanlar ve Her Birinin İşlevi

Aşağıdaki alanlar olmadan bir satır işlenmez. Her alanın karşısındaki kural, satırın doğrulamadan geçmesi için gereken biçimi gösterir.

Alan Ne taşır Kural
item_id Satıcı tarafındaki ürün kimliği Alfanümerik, en fazla 100 karakter, zaman içinde değişmemeli
title Ürün başlığı Düz metin, en fazla 150 karakter, tamamı büyük harf olmamalı
description Ürün açıklaması Düz metin, en fazla 5.000 karakter
url Ürün detay sayfası adresi HTTP 200 dönmeli
image_url Ana ürün görseli JPEG veya PNG, HTTPS tercih edilir, adres 200 dönmeli
brand Marka adı En fazla 70 karakter
price Liste fiyatı Tutar ve ISO 4217 para birimi kodu birlikte verilir
availability Stok durumu in_stock, out_of_stock, pre_order, backorder veya unknown
seller_name Satıcı adı En fazla 70 karakter
target_countries Hedef ülke ISO 3166-1 alpha-2 kodu
is_eligible_search Aramada gösterilme izni true veya false
is_eligible_checkout Satın alma akışına katılım true veya false, true ise is_eligible_search da true olmalı

Bu alanların çoğu tanıdık gelir, ancak iki tanesi klasik alışveriş akışlarında bulunmaz. item_id alanının kalıcı olması, ürünün zaman içinde aynı kayıt olarak tanınmasını sağlar; her katalog dışa aktarımında yeni kimlik üreten bir sistem, ChatGPT tarafında her seferinde yeni ürün yaratır ve birikmiş sinyali sıfırlar. Uygunluk bayrakları ise sizin kararınızdır; akışa koyduğunuz her ürünü aramaya açmak zorunda değilsiniz.

Ürün Kimliği Alanlarının Kuralı

GTIN, ürünün üretici tarafından verilen küresel numarasıdır ve barkodun altındaki rakam dizisidir. Şema, ürün başına ya geçerli bir gtin değeri ya da boş olmayan bir mpn değeri bekler. GTIN 8 ile 14 hane arasında olmalı, boşluk ve tire içermemelidir. Üretici parça numarası olan mpn en fazla 70 karakterdir.

Üçüncü seçenek identifier_exists alanını no yapmaktır, fakat bu yalnızca ürünün gerçekten kimlik numarası yoksa geçerlidir. El yapımı bir ürün ya da kendi ürettiğiniz bir hizmet paketi bu tanıma girer; barkodu olan ama sizin veri tabanınızda bulunmayan bir ürün girmez. Alan hiç gönderilmezse sistem geçerli bir kimlik bekler ve satır elenir. Toplu kataloglarda en sık görülen elenme nedeni budur.

Satın Alma Uygunluğu İçin Gereken Ek Alanlar

is_eligible_checkout değerini true yapan satıcıların iki adres alanını da doldurması gerekir: seller_privacy_policy ve seller_tos. Bu alanlar gizlilik politikası ve kullanım koşulları sayfalarını gösterir. İade tarafında accepts_returns, return_deadline_in_days ve return_policy alanları zorunlu değildir ancak kullanıcı kararını doğrudan etkilediği için boş bırakılmaması mantıklıdır.

Akış Nereden Üretilir?

Akışı sıfırdan yazmak nadiren gerekir. Üç kaynaktan biri kullanılabilir: e-ticaret altyapısının kendi dışa aktarma modülü, mevcut Google Merchant Center akışı ya da veri tabanından doğrudan üretilen bir dışa aktarım işi. Hangisi seçilirse seçilsin çıktı UTF-8 kodlamalı olmalıdır.

Dosya biçimi tarafında OpenAI parquet, jsonl.gz, csv.gz ve tsv.gz kabul ediyor. Parquet için zstd sıkıştırma tercih ediliyor. Büyük kataloglar parçalara bölünür; her parça dosyası en fazla 500.000 satır içermeli ve yaklaşık 500 MB'ın altında kalmalıdır. Dosya adlarının sabit tutulması ve her döngüde yeni dosya oluşturmak yerine mevcut dosyanın üzerine yazılması bekleniyor.

Merchant Center Akışını Yeniden Kullanmak

Google Merchant Center için hazırlanmış bir akışınız varsa işin büyük kısmı bitmiş demektir. OpenAI, Google uyumlu sınırlandırılmış dosyaları (csv, tsv ve txt uzantılarını) kabul ediyor ve sütun adlarını kendi şemasına eşliyor. Eşleşmenin karar verdiren kısımları şunlardır:

  • id alanı item_id olur, link alanı hem url hem de seller_url için kaynak olarak kullanılır.
  • image_link alanı image_url olur, additional_image_link ise virgülle ayrılmış additional_image_urls listesine dönüşür.
  • availability değerlerinden preorder, şemadaki pre_order karşılığına çevrilir; diğer değerler olduğu gibi kalır.
  • sale_price_effective_date tek bir aralık olarak gelir ve sale_price_start_date ile sale_price_end_date olarak ikiye ayrılır.
  • item_group_id alanı group_id olur ve ürünü varyantlı listeleme olarak işaretler.
  • product_type doluysa product_category için o kullanılır, boşsa google_product_category devreye girer.
  • color, size, material, age_group, gender ve pattern gibi alanlar hem kendi karşılıklarına yazılır hem de variant_dict içine eklenir.

Merchant Center akışında bulunmayan tek kritik şey uygunluk bayraklarıdır. is_eligible_search ve is_eligible_checkout sütunlarının akışa elle eklenmesi gerekir; mevcut dosyayı olduğu gibi göndermek bu yüzden yetmez.

Ürün Akışı Hazırlama Adımları

  1. Katılım başvurusunu yapın. Onay gelmeden aktarım bilgileri tanımlanmaz, dolayısıyla teknik hazırlıkla başvuru paralel yürütülür.
  2. Aktarım yöntemini seçin. Dosya yükleme ve API iki ayrı yoldur. OpenAI'ın önerdiği karma model, günde bir kez tam katalog dosyası göndermek ve gün içi değişiklikleri API üzerinden iletmektir.
  3. Satır birimini varyant düzeyine indirin. Kırmızı ve mavi aynı tişörtün iki ayrı satırıdır. Her satırın kendi item_id değeri, kendi fiyatı ve kendi stok durumu olur.
  4. Zorunlu alanları eşleyin. Tablodaki on iki alanı katalogdaki karşılıklarıyla eşleştirin ve boş kalan alanları eksik veri listesine yazın.
  5. Kimlik alanlarını doldurun. Ürün başına gtin ya da mpn değerini üretin. Gerçekten kimliksiz ürünler için identifier_exists alanını no yapın.
  6. Varyantları gruplayın. Aynı ürünün varyantlarına ortak bir group_id verin, ayırt edici özellikleri color ve size alanlarına ve variant_dict içine yazın.
  7. Fiyat ve indirim mantığını kurun. sale_price değeri price değerinden büyük olamaz ve aynı para biriminde olmalıdır. İndirim tarihleri ISO 8601 biçiminde verilir.
  8. Koşullu alanları kontrol edin. availability değeri pre_order veya backorder ise availability_date zorunlu hale gelir ve gelecek bir tarih olmalıdır. expiration_date kullanılıyorsa saat dilimi içermelidir.
  9. Yaklaşık 100 ürünlük örnek dosyayla doğrulayın. Tüm katalogla başlamak, tek bir biçim hatasının yüz binlerce satırda tekrarlanması demektir.
  10. İlk tam anlık görüntüyü kontrol edip düzenli teslimata geçin. Örnek dosya temiz döndükten sonra tam katalog gönderilir, sonuç incelenir ve akış otomatik hale getirilir.

Güncelleme Sıklığı ve Teslim Biçimi

Dosya yükleme tarafı tam anlık görüntü mantığıyla çalışır. Yani her gönderim kataloğun o andaki bütün halidir, fark dosyası değildir. Önerilen sıklık en az günde birdir ve yayın saatinin öngörülebilir olması bekleniyor.

API tarafında ise kısmi güncelleme yapılır. Ürünler id ile eşleştirilir ve istekte yer almayan ürünler değişmeden kalır. Bu yüzden API üzerinden ürün silinmez; katalogdan çıkan bir ürün ya tam anlık görüntüde artık bulunmayarak ya da expiration_date alanıyla düşürülür. Fiyat değişikliği ve stok tükenmesi gibi gün içinde olan olaylar için API doğru araçtır, çünkü ertesi günkü dosyayı beklemek stokta olmayan ürünün gösterilmeye devam etmesi anlamına gelir.

Stok gecikmesi bu işin en görünmez hatasıdır. Günde bir kez gönderilen dosya, hızlı tükenen bir katalogda ortalama on iki saatlik bir yanlışlık payı taşır. Kampanya dönemlerinde bu pay tamamen kabul edilemez hale gelir.

Yayına Almadan Önce Doğrulama

Doğrulama iki katmanlıdır. Birinci katman biçim kontrolüdür: alan adları doğru mu, zorunlu alanlar dolu mu, sayılar beklenen aralıkta mı? Bu kontrolü küçük bir betikle akışı göndermeden önce yapmak, elenen satırları sonradan raporlardan okumaktan hızlıdır.

İkinci katman içerik kontrolüdür ve akış dosyasının dışına çıkar. Akıştaki her url ve image_url adresinin gerçekten 200 döndüğü, yönlendirme zincirine girmediği ve adreslerdeki boşlukların kodlandığı doğrulanmalıdır. Ürün sayfalarının erişilebilirliğini toplu görmek için site içi SEO analizi aracı gibi bir tarayıcıdan geçirmek pratik bir yöntemdir.

Üçüncü bir kontrol de sayfadaki yapılandırılmış veriyle akışın çelişmemesidir. Ürün sayfasında Product ve Offer işaretlemesi 199 TL derken akış 249 TL diyorsa iki farklı kaynak iki farklı gerçek anlatıyor. Sayfa tarafındaki işaretlemeyi AI Schema Doktoru ile kontrol edip akışla aynı değerleri taşıdığından emin olmak, bu tutarsızlığı erken yakalar.

Sık Yapılan Hatalar

  • Kimlik alanının boş bırakılması. gtin ve mpn boşken identifier_exists alanının da gönderilmemesi, satırın geçerli kimlik beklendiği için elenmesine yol açar.
  • Fiyat biçiminin eksik olması. Tutarın para birimi kodu olmadan gönderilmesi ya da indirimli fiyatın liste fiyatından yüksek olması doğrulamayı durdurur.
  • Bozuk görsel adresi. 200 dönmeyen, desteklenmeyen biçimde olan veya kodlanmamış boşluk içeren görsel adresleri ürünün gösterilebilirliğini doğrudan etkiler.
  • Stok gecikmesi. Yalnızca günlük dosyaya güvenmek, gün içinde tükenen ürünlerin akışta stokta görünmesine neden olur.
  • Değişken ürün kimliği. Her dışa aktarımda yeni item_id üreten sistemler ürünün geçmişini her seferinde sıfırlar.
  • Koşullu alanların atlanması. pre_order ve backorder durumlarında availability_date verilmemesi ya da expiration_date alanına saat dilimi yazılmaması sık görülen biçim hatalarıdır.
  • Açıklamaya HTML gömmek. description alanı düz metin bekler; ürün sayfasındaki kutucuk yapısını olduğu gibi kopyalamak alanı kirletir.
  • Satın alma bayrağını politika sayfaları olmadan açmak. is_eligible_checkout true iken gizlilik politikası ve kullanım koşulları adreslerinin boş kalması satırı geçersiz kılar.

Sıkça Sorulan Sorular

Ürün akışı ile yapılandırılmış veri aynı şey midir?

Hayır. Yapılandırılmış veri, ürün sayfanızın kaynak kodunda duran ve tarayıcıların okuduğu işaretlemedir. Ürün akışı ise sayfanızdan bağımsız olarak OpenAI'a teslim ettiğiniz bir dosyadır. İkisi aynı bilgiyi taşır ama farklı yollardan gider ve birbirinin yerine geçmez. Doğrusu ikisini de tutarlı biçimde beslemektir.

Akıştan bir ürün nasıl kaldırılır?

API üzerinden yapılan kısmi güncelleme silme işlemi yapmaz. Ürünü kaldırmanın iki yolu vardır: bir sonraki tam anlık görüntüde ürünü dosyaya hiç koymamak ya da ürüne expiration_date değeri vererek belirtilen tarihten sonra düşmesini sağlamak.

Aynı ürünün renk ve beden varyantları nasıl gönderilir?

Her satılabilir varyant kendi satırında ve kendi item_id değeriyle gönderilir. Varyantları birbirine bağlayan şey ortak group_id değeridir. Ayırt edici özellikler color ve size alanlarına yazılır ve variant_dict içinde kullanıcıya gösterilecek seçenek adlarıyla eşlenir. Fiyat, stok ve görsel varyantlar arasında farklıysa her satırda kendi değeri bulunur.

Akışı göndermek satın alma entegrasyonu için yeterli midir?

Değildir. Akış katalog verisini iletir; ChatGPT içinden sipariş alınabilmesi için satıcının ayrıca ödeme ve sipariş uç noktalarını kurması, sipariş olayları için imzalı bildirim üretmesi ve güvenlik gereksinimlerini karşılaması gerekir. Bunlar akış dosyasından tamamen ayrı bir teknik iştir ve kendi test sürecine sahiptir.

Bu içerik işine yaradı mı?
Seobaz’ı Google’da tercih ettiğin kaynak yap; aramalarında ve AI yanıtlarında bizi daha sık gör.
Tercih edilen kaynak yap
Bu yazıyı paylaş
Turan Doğan
Kurucu · SEO & GEO Uzmanı
2014’ten beri SEO, GEO ve AEO üzerine güncel rehberler yayımlıyor; markaları hem Google’da hem yapay zeka motorlarında görünür kılıyor.
Sepeti Gör