Halı markasının katalogunda yaklaşık 4.760 satılabilir varyant vardı. Bunlar 420 ana modelin ölçü, renk ve varyasyon kombinasyonlarından oluşuyordu.
Hepsi tek bir Google Shopping yapısı ve tek bir geniş Meta katalog kampanyası altında yönetiliyordu.
Sorun şuydu: aynı halı modelinin 80×150 ve 200×290 varyantı reklam algoritması açısından benzer ürün görünüyor. Oysa biri 1.490 lira, diğeri 5.990 lira. Ve küçük ölçü daha hızlı satın alma sinyali ürettiği için bütçe kendiliğinden oraya akıyordu.
Başlangıçta reklam bütçesinin %64'ü küçük ve entry ölçülere gidiyordu. Büyük ve premium ürünler bütçenin sadece %10'unu alırken cironun %18'ini üretiyordu.
16 ay sonunda ortalama sepet 2.500 liradan 3.700 liraya, sipariş maliyeti 600 liradan 336 liraya indi. Ama en çarpıcı rakam şu: reklam bütçesi sadece %21 arttı, aylık ciro %221 arttı.
Başlangıç ve 16. ay
| Metrik | Başlangıç | 16. ay |
|---|---|---|
| Aylık reklam bütçesi | 180.000 TL | 218.400 TL |
| Aylık ciro | 750.000 TL | 2.405.000 TL |
| Aylık MER | 4,17x | 11,01x |
| Aylık sipariş | 300 | 650 |
| Ortalama sepet | 2.500 TL | 3.700 TL |
| Sipariş maliyeti | 600 TL | 336 TL |
| Aylık trafik | 30.000 | 50.000 |
| Dönüşüm oranı | %1,00 | %1,30 |
| Yüksek sepetli ürün ciro payı | %18 | %46 |
| Ölçü kaynaklı iade | %7,4 | %3,1 |
16 ayın toplamı 22,7 milyon lira ciro ve 3.289.855 lira harcama. Karttaki 6,9x dönem ortalaması; son ayın kendi MER'i 11,01x. MER'in ROAS'tan neden daha önemli olduğunu ayrı yazıda anlattım.
Bütçe %21, ciro %221
Bu vakanın tek cümlelik özeti bu orandır.
Büyüme daha fazla reklam satın almaktan gelmedi. Aynı bütçenin daha değerli varyantlara yönlendirilmesinden geldi.
16 aylık seyir de bunu gösteriyor. Son dört ayda harcama azalırken ciro artmaya devam etti:
| Ay | Ciro | Harcama | MER |
|---|---|---|---|
| 1 | 750.000 TL | 180.000 TL | 4,17x |
| 5 | 1.080.000 TL | 195.000 TL | 5,54x |
| 10 | 1.520.000 TL | 220.000 TL | 6,91x |
| 13 | 1.820.000 TL | 225.000 TL | 8,09x |
| 15 | 1.935.000 TL | 190.000 TL | 10,18x |
| 16 | 2.405.000 TL | 218.400 TL | 11,01x |
| Toplam | 22.700.000 TL | 3.289.855 TL | 6,90x |
15. ayda harcama 190 bin liraya inerken ciro 1,935 milyona çıktı. Bu, sistemin olgunlaştığının en net göstergesi.
Algoritma en değerli halıyı değil en kolay satılanı ölçekliyordu
Bu vakanın teknik özü burada ve sebebi ihmal değil, optimizasyon tanımı.
Örnek bir model ailesinde ölçü bazında fiyat yapısı şöyleydi:
| Ölçü | Fiyat |
|---|---|
| 80×150 | 1.490 TL |
| 120×180 | 2.290 TL |
| 160×230 | 3.990 TL |
| 200×290 | 5.990 TL |
Dört varyant görsel olarak neredeyse aynı. Ama fiyat dört katına çıkıyor.
Purchase optimizasyonu dönüşüm sayısını takip ediyor, dönüşüm değerini değil. 1.490 liralık varyant daha hızlı satılıyor, daha düşük CPA gösteriyor, daha fazla sinyal topluyor. Sistem doğal olarak oraya yığınıyordu.
Başlangıç bütçe dağılımı şöyleydi: küçük ve entry ölçüler %64, orta ölçüler %26, büyük ve premium %10.
Purchase sayısı küçük ölçüleri işaret ediyordu, purchase value ise büyük ölçüleri. Sistem birinciyi optimize ediyordu.
Bu, çeyiz vakasındaki paket-tekil ürün problemiyle aynı ailedendir. Katalogda hem ucuz hem pahalı ürün varsa algoritma her zaman ucuz olanı bulur, çünkü ondan daha çok satılıyor. Hangi ürünlerin ayrı kampanyaya alınması gerektiğini ayrı yazıda ele aldım.
Ölçü segmentasyonu: dört eksenin en etkilisi
Merchant Center feed'i beş custom label ile yeniden kuruldu ve aynı sınıflandırma Meta ürün setlerine taşındı. Böylece iki kanal aynı merchandising mantığını kullanmaya başladı.
- Oda tipi: salon, oturma odası, yatak odası, mutfak, çocuk odası, koridor, balkon
- Ölçü segmenti: XS (80×150 ve altı), S (100×200 / 120×180), M (140×200 / 160×230), L (200×290), XL (240×340 ve üzeri)
- Fiyat segmenti: Entry, Core, Premium, High Value
- Kullanım özelliği: yıkanabilir, kaymaz taban, leke tutmaz, çocuk/pet friendly, dış mekân, yoğun trafik
- Ticari skor: Test, Scale, High Margin, High Stock, Low Stock, Return Risk
Dört segmentasyon katmanı içinde tek başına en büyük ticari etki ölçü katmanından geldi.
Bunu altı haftalık kontrollü testle ölçtük. Kreatif, landing page ve oda segmentleri sabit tutuldu; yalnızca ölçü grupları ayrı bütçe havuzlarına alındı.
| Metrik | Sonuç |
|---|---|
| 160×230 ve üzeri harcama payı | %13 → %28 |
| Ortalama sepet | +%17 |
| CPA | −%24 |
| Purchase value / harcama | +%38 |
Tek değişkenli test olduğu için bu etki doğrudan ölçü segmentasyonuna atfedilebilir. Custom label'ın nasıl kullanıldığını ayrı yazıda anlattım.
Varyant seviyesi feed mimarisi. Her satılabilir ölçü ayrı SKU olarak işlendi ama model ailesi item_group_id ile korundu:
HALI-847-80X150 · HALI-847-120X180 · HALI-847-160X230 · HALI-847-200X290
Başlık standardı da değişti: "Modern Krem Salon Halısı 200×290 – Leke Tutmaz." Model, renk, ölçü ve kullanım niteliği birlikte yer aldı.
Ölçüyü başlığın sonuna koymak denendi ve yüksek niyetli ölçü sorgularında eşleşmeyi zayıflattı. Ürün başlığının Shopping performansına etkisini ayrıca yazdım.
Variant Price Bias raporu. Standart ürün ROAS raporu bu problemi göstermiyordu, çünkü model seviyesinde raporlama yapıyordu.
Model bazlı bakıldığında 80×150'nin başarısı aynı modelin 200×290 performansını gizliyordu.
Bunun için ayrı bir rapor kuruldu ve model ailesi içindeki dağılımı beş boyutta gösterdi: gösterimlerin ölçü dağılımı, harcamanın, siparişlerin, net cironun ve brüt katkının.
Kural basitti: bir modelde harcamanın %70'i küçük ölçüye gidiyor ama net cironun sadece %38'i küçük ölçüden geliyorsa o model "price biased" olarak işaretlendi. Küçük varyantın bütçe tavanı düşürüldü, büyük ölçüler ayrı test aldı.
Bu rapor olmadan sorunu görmek mümkün değildi.
Ortalama sepet +%48 nereden geldi
| Kaynak | Katkı | Pay |
|---|---|---|
| Daha büyük ölçü karması | +690 TL | %57,5 |
| Premium materyal ve model karması | +330 TL | %27,5 |
| Tamamlayıcı ürün, runner, kaydırmaz taban | +180 TL | %15 |
| Toplam | +1.200 TL | %100 |
Artışın %85'i ürün karmasından geldi, yalnızca %15'i çapraz satıştan.
Ve hiçbir kısmı fiyat yükseltmekten gelmedi. Yapılan tek şey algoritmanın küçük ölçü ağırlığını kırıp daha yüksek değerli ölçülere gerçek görünürlük vermekti. Sepet ortalamasının nasıl büyütüldüğünü ayrı yazıda ele aldım.
Oda Ölçü Asistanı
Kullanıcıdan sadece ölçü seçmesini istemek yerine üç kısa soruyla bağlam oluşturuldu:
- Odanız yaklaşık kaç m²?
- Halı hangi mobilyanın altında veya önünde olacak?
- Halının mobilyaların altına girmesini istiyor musunuz?
Sistem "Bu oda için önerilen ölçü: 160×230 veya 200×290" gibi bir sonuç üretti. Salon için ayrıca üç görsel ölçek senaryosu sunuldu: yalnızca ön ayaklar halıda, tüm oturma grubu halıda, sadece orta alan kaplı.
Ekonomik etkisi iki taraflı oldu:
| Metrik | Başlangıç | 16. ay |
|---|---|---|
| Ölçü kaynaklı iade | %7,4 | %3,1 |
| Toplam iade oranı | %13,6 | %8,7 |
Büyük halıda yanlış ölçü iadesi sadece satış kaybı değil. Ters lojistik, hacimli kargo, ambalaj yenileme, hasar riski ve yeniden satış gecikmesi üretiyor.
Bu yüzden CRO çalışması yalnızca dönüşüm oranını değil net satış kalitesini de iyileştirdi.
Tam kapsamlı AR ilk çözüm yapılmadı. Bunun yerine standart salon şablonlarında koltuk genişliği, oda boyutu ve halı ölçüsünün değiştirilebildiği hafif bir görselleştirme modülü kuruldu. Amaç dekoratif etki değil, yanlış ölçü siparişini azaltmaktı.
Room Intent event sistemi. Standart ViewContent event'i "halı sayfasını ziyaret etti" seviyesinde kalıyordu. Ürün niyetini ayrıştıran birinci taraf event seti kuruldu:
room_type_select · rug_size_select · price_band_filter · washable_filter · roomfit_complete · size_guide_open · variant_change
Bu sinyaller sayesinde ilgi analizi "halı sayfasını gördü" seviyesinden "salon için 200×290 premium halı arıyor" seviyesine yaklaştı.
Kullanıcılar toplulaştırılmış ürün ilgisi segmentleriyle yeniden pazarlama ve kreatif seçiminde kullanıldı. E-ticaret event kurulumunun nasıl yapıldığını ayrı yazıda anlattım.
Google ve Meta: iki farklı görev
16 aylık bütçe dağılımı Google Shopping ₺2.006.812 (%61), Meta ₺1.283.043 (%39).
Google'ın görevi yüksek satın alma niyetini varyant seviyesinde yakalamaktı. Önceliklendirilen sorgular ölçü ve kullanım özelliği içeriyordu: "160×230 salon halısı", "200×290 modern halı", "yıkanabilir mutfak halısı", "kaymaz koridor halısı".
Shopping yapısı altı segmente ayrıldı: Small/Entry, Core Size, Large Size, Premium, Washable/Functional, New/Test. Her segmentin ROAS hedefi, bütçesi ve stok kuralı ayrı yönetildi.
Meta'nın görevi hazır ölçü sorgusunu yakalamak değil, ihtiyacı görselleştirmekti. Aynı model farklı oda büyüklüklerinde ve farklı ölçülerde gösterildi.
En güçlü kreatif formatı "aynı oda, üç ölçü" karşılaştırmasıydı: 120×180, 160×230, 200×290 yan yana.
Bu format ürün satmaktan önce şu soruyu cevapladı: "Benim odaya hangi ölçü olur?" Ve büyük ölçülerin karar bariyerini azalttı.
Oda tipi de sadece katalog etiketi değil, kreatif ve landing page mesajını değiştiren bir niyet değişkeni oldu: salonda büyük ölçü ve koltuklarla oran, mutfakta yıkanabilirlik ve kaymazlık, çocuk odasında kolay bakım, koridorda ince form ve yoğun trafik dayanımı. Katalog ve kreatifin birlikte nasıl kullanıldığını ayrıca yazdım.
PMax neden ana sistem olmadı. Performance Max kontrollü olarak test edildi. Tam katalog açıldığında üç sorun çıktı: marka talebini ve yeniden pazarlamayı fazla topluyor, düşük fiyatlı varyantlara yeniden yoğunlaşıyor ve varyant kontrolünü azaltıyordu.
Yani çözmeye çalıştığımız problemi geri getiriyordu. Segmentlenmiş Shopping ve kontrollü Meta katalog yapısı daha şeffaf kaldı. PMax'in hangi durumda işe yaradığını ayrı yazıda ele aldım.
Cross-Channel Product Score
Google ve Meta'nın aynı ürünün başarısını birbirinden bağımsız yeniden keşfetmesini engellemek için ortak bir ürün skoru oluşturuldu.
| Bileşen | Ağırlık |
|---|---|
| Net katkı | %30 |
| Dönüşüm oranı | %20 |
| Stok kapsaması | %15 |
| Ortalama sepet | %15 |
| İade riski | %10 |
| Kreatif ve etkileşim sinyali | %10 |
75 puan üzeri Scale, 55-74 Watch/Test, 54 altı Suppress.
Skor iki yönlü çalıştı: Google'da güçlü niyet yakalayan ama Meta kreatifi olmayan ürün kreatif üretim kuyruğuna, Meta'da güçlü ilgi sinyali veren ürün Shopping varyant testine taşındı.
Net katkı, ROAS değil. Yüksek fiyatın otomatik olarak yüksek kâr anlamına gelmediği kabul edildi. Büyük halılarda ürün maliyeti, kargo ve iade riski daha yüksekti.
Net Katkı = Net satış − ürün maliyeti − kargo provizyonu − tahmini iade maliyeti
Bunun pratik sonucu: 10x ROAS gösteren ama yüksek iade ve kargo maliyeti taşıyan SKU, 8x ROAS üreten ve daha yüksek net katkı bırakan SKU'nun otomatik olarak önüne geçirilmedi.
Stok kapsaması ölçeklemenin koşulu oldu. Her varyant için mevcut stok bölü son 14 günlük satış hızı ile stok kapsaması hesaplandı.
| Kapsama | Aksiyon |
|---|---|
| 21+ gün | Scale |
| 10-20 gün | Normal |
| 5-9 gün | Reduce |
| 5 günden az | Suppress |
Özellikle 200×290 gibi değerli varyantlarda reklam başarılı olur olmaz stok tükenmesinin önüne geçildi.
Stok biten varyant feed'den çıkarıldı ama model sayfasında alternatif ölçüler gösterilmeye devam etti — kullanıcı boş sayfayla karşılaşmadı.
Ürün sayfasında ölçü seçimi. Eski dropdown yapısı oda bağlamıyla yeniden tasarlandı:
| Ölçü | Bağlamsal kullanım |
|---|---|
| 80×150 | Antre veya küçük alan |
| 120×180 | Küçük oturma alanı |
| 160×230 | Standart salon |
| 200×290 | Geniş salon |
Her ölçünün yanında oda içi ölçek görseli, güncel fiyat, stok ve tahmini teslimat gösterildi. Ölçü değiştiğinde görsel ölçek de değişti.
Kullanıcıya yalnızca santimetre göstermek denendi ve yetersiz kaldı — çünkü ölçünün oda içinde ne anlama geldiğini açıklamıyordu. Varyant seçimini kolaylaştırmanın yollarını ayrı yazıda anlattım.
Renk ve doku tarafında da belirsizlik azaltıldı: yakın plan doku, farklı ışıkta görüntü, hav yüksekliği, malzeme, alt taban, kenar dikişi, robot süpürge uyumluluğu ve bakım bilgileri standartlaştırıldı. En çok satan 60 üründe kısa "dokuyu göster" videosu standart hale getirildi.
Ölçü bazlı remarketing. 200×290 görüntüleyen kullanıcıya rastgele 80×150 varyant gösterilmedi.
Remarketing feed'i dört kriterle sınırlandı: görüntülenen ölçü, yakın ölçü, aynı oda tipi ve benzer fiyat bandı.
Örneğin 200×290 premium salon ürünü görüntüleyen kullanıcıya 160×230 salon, 200×290 alternatif model veya benzer premium tasarım gösterildi. Remarketing kurgusunun nasıl olması gerektiğini ayrı yazıda ele aldım.
Bütçe dağılımı nasıl değişti
| Ürün grubu | Başlangıç | 16. ay |
|---|---|---|
| Küçük ve entry varyantlar | %64 | %28 |
| Orta ölçüler | %26 | %38 |
| Büyük ve premium | %10 | %34 |
Bu değişim "yüksek fiyatlı ürüne zorla bütçe vermek" anlamına gelmedi.
Büyük varyantlar ancak yeterli dönüşüm oranı, net katkı, stok kapsaması ve düşük iade riski gösterdiğinde ölçek aldı. Sadece pahalı oldukları için değil.
Küçük halılar da tamamen kapatılmadı — yeni müşteri ve küçük alan talebini karşılamaya devam ettiler.
Karar süresi kısaldı.
| Metrik | Başlangıç | 16. ay |
|---|---|---|
| İlk görüntülemeden satın almaya medyan | 9,8 gün | 6,1 gün |
| Satın alma öncesi ortalama ziyaret | 4,1 | 2,8 |
Kısalmayı üreten şeyler birlikte çalıştı: ölçü önerisi, oda görselleştirme, net varyant fiyatı, taksit, teslimat bilgisi ve doku videoları.
Taksit reklamın ana hook'u yapılmadı. Kararın son aşamasındaki finansal sürtünmeyi azaltan destekleyici unsur olarak kullanıldı.
Kırılma beşinci ayda oldu
İlk dört ay altyapı dönemiydi: varyant temizliği, parent-variant yapısı, ölçü fiyat bias analizi, Merchant Center custom label sistemi ve büyük varyantların stok/iade ekonomisi tamamlandı.
Beşinci ayda ölçü bazlı Shopping, oda bazlı Meta kreatifleri, büyük/premium bütçe havuzu, Oda Ölçü Asistanı, stok kapsaması ve Cross-Channel Product Score aynı anda çalışmaya başladı.
Bu dönemden sonra ortalama sepet ve sipariş maliyeti kalıcı biçimde iyileşti.
Denedim, tutmadı
- Tüm varyantları tek Shopping kampanyasında bırakmak. Küçük ölçüler purchase sayısıyla sistemi domine etti.
- Model seviyesinde ROAS raporlamak. 80×150 başarısı aynı modelin 200×290 performansını gizledi.
- PMax'e tüm kataloğu bırakmak. Varyant ve marka kontrolünü azalttı.
- Sadece büyük halıları zorla ölçeklemek. Stok ve dönüşüm oranı yeterli olmayan pahalı varyantlarda verimsizlik yarattı.
- Ürün başlığında ölçüyü sona koymak. Yüksek niyetli ölçü sorgularında eşleşme zayıfladı.
- Kullanıcıya yalnızca santimetre göstermek. Ölçünün oda içinde ne anlama geldiğini açıklamadı.
- Tam AR'ı ilk çözüm yapmak. Ölçü problemini gereğinden büyük teknolojiyle çözmeye çalışıyordu.
- Küçük halıları tamamen kapatmak. Yeni müşteri ve küçük alan talebini gereksiz kaybettirdi.
Sık sorulan sorular
Aynı ürünün farklı ölçüleri neden ayrı yönetilmeli?
Çünkü reklam ekonomileri tamamen farklı. Bu vakada aynı modelin 80×150 varyantı 1.490 lira, 200×290 varyantı 5.990 liraydı — görsel olarak neredeyse aynı ürünler ama fiyat dört katı. Purchase optimizasyonu dönüşüm sayısını takip ettiği için ucuz varyant daha hızlı sinyal üretiyor ve bütçe oraya akıyor. Başlangıçta bütçenin %64'ü küçük ölçülere gidiyordu; büyük ve premium ürünler bütçenin %10'unu alırken cironun %18'ini üretiyordu.
Varyant bazlı bütçe dağılımı nasıl kurulur?
Custom label ile. Merchant Center feed'ini beş eksende etiketledik: oda tipi, ölçü segmenti, fiyat segmenti, kullanım özelliği ve ticari skor. Aynı sınıflandırmayı Meta ürün setlerine de taşıdık, böylece iki kanal aynı merchandising mantığını kullandı. Her satılabilir ölçüyü ayrı SKU olarak işlerken model ailesini item_group_id ile koruduk. Altı haftalık kontrollü testte yalnızca ölçü gruplarını ayrı bütçe havuzlarına aldık: ortalama sepet %17 arttı, CPA %24 düştü.
Model bazlı ROAS raporu neden yeterli değil?
Çünkü model içindeki varyant farkını gizliyor. 80×150'nin başarısı aynı modelin 200×290 performansını görünmez kılıyor. Bunun için ayrı bir rapor kurduk ve model ailesi içindeki dağılımı beş boyutta gösterdik: gösterim, harcama, sipariş, net ciro ve brüt katkının ölçü dağılımı. Bir modelde harcamanın %70'i küçük ölçüye gidiyor ama net cironun sadece %38'i oradan geliyorsa o model işaretlendi ve küçük varyantın bütçe tavanı düşürüldü.
Halıda yanlış ölçü iadesi neden bu kadar maliyetli?
Çünkü sadece satış kaybı değil. Ters lojistik, hacimli kargo, ambalaj yenileme, hasar riski ve yeniden satış gecikmesi üretiyor. Bu vakada Oda Ölçü Asistanı ile ölçü kaynaklı iade %7,4'ten %3,1'e, toplam iade %13,6'dan %8,7'ye indi. Asistan üç soru soruyordu: oda kaç m², halı hangi mobilyanın altında olacak, mobilyaların altına girmesini istiyor musunuz. Tam AR'a gerek kalmadı; hafif bir görselleştirme modülü yeterli oldu.
Yüksek ROAS'lı varyant her zaman ölçeklenmeli mi?
Hayır. Büyük halılarda ürün maliyeti, kargo ve iade riski daha yüksek. Bu yüzden net katkıyı hesapladık: net satış eksi ürün maliyeti, kargo provizyonu ve tahmini iade maliyeti. 10x ROAS gösteren ama yüksek iade ve kargo maliyeti taşıyan SKU, 8x ROAS üreten ve daha yüksek net katkı bırakan SKU'nun önüne otomatik geçirilmedi. Ayrıca stok kapsaması kontrol edildi — 21 günün altındaki varyantlar ölçeklenmedi.
Çıkarım
Bu hesapta reklam bütçesi %21 arttı, aylık ciro %221 arttı.
Aradaki farkı üreten şey daha iyi hedefleme, daha iyi kreatif veya daha fazla bütçe değildi. Aynı paranın hangi varyanta gittiğini değiştirmekti.
Yüksek sepetli ürünlerin ciro payı %18'den %46'ya çıktı. Bütçe payları da buna paralel değişti: küçük ölçüler %64'ten %28'e, büyük ve premium %10'dan %34'e.
Buradaki asıl ders varyant ekonomisiyle ilgili. Bir katalogda görsel olarak aynı görünen ama fiyatı dört katı olan ürünler varsa, reklam sistemi bunları aynı ürün gibi değerlendirir ve her zaman kolay satılanı seçer.
Bu bir algoritma hatası değil. Purchase optimizasyonu tanımı gereği dönüşüm sayısını maksimize eder. İşletmenin ticari önceliği farklıysa, o öncelik sisteme ayrı bir bütçe ekonomisi olarak tanıtılmak zorunda.
Aksi halde ölçekleme kararlarını algoritma değil, en ucuz ürün verir. Shopping ürün segmentasyonunun nasıl kurulduğunu ayrı yazıda anlattım.