Petshop e-ticaret hesabını devraldığımda markanın sorunu reklamların çalışmaması değildi. Reklamlar satış getiriyordu. Sorun, sistemin yalnızca yeni müşteri satın almasıydı.
Müşteri bir kez mama veya kum aldıktan sonra tekrar satın alma döngüsüne hiç alınmıyordu. Düzenli tüketilen ürün satan bir marka, tek seferlik alışveriş yapılan bir moda markası gibi yönetiliyordu.
16 ayın sonunda reklam ROAS'ı 3,0x'ten 7,2x'e, 90 günlük tekrar satın alma oranı %19'dan %30'a çıktı, yeni müşteri edinme maliyeti %32 düştü. Toplam 19,6 milyon TL e-ticaret cirosu üretildi.
Bu yazıda petshop e-ticaret reklam yönetimini adım adım anlatıyorum. Ölçüm denetiminden persona kurgusuna, Meta ve Google yapısından işe yaramayan testlere kadar ne yaptığımı ve neyi neden yaptığımı gösteriyorum.
Devraldığım tablo
| Metrik | Devraldığım dönem |
|---|---|
| Aylık reklam bütçesi | 118.000 TL |
| Meta Ads bütçesi | 82.000 TL |
| Google Ads bütçesi | 36.000 TL |
| Reklam kaynaklı aylık ciro | 354.000 TL |
| Reklam ROAS | 3,0x |
| Toplam aylık site cirosu | 690.000 TL |
| Aylık trafik | 52.000 oturum |
| Aylık sipariş | 430 |
| Dönüşüm oranı | %0,83 |
| Ortalama sepet | 1.605 TL |
| Yeni müşteri CPA | 324 TL |
| 90 günlük tekrar satın alma | %19 |
| Aktif kampanya | 14 |
Meta tarafında dokuz, Google tarafında beş kampanya vardı. Kampanyaların önemli bölümü birbirinin kitlesini tüketiyor, aynı müşteriye farklı kampanyalardan tekrar tekrar reklam gösteriyordu.
Yeni müşteri, site ziyaretçisi ve geçmiş satın almacılar net biçimde ayrılmamıştı. Bir müşteriye ilk siparişinden üç gün sonra hâlâ "ilk alışveriş" reklamı gösterilebiliyordu.
Google tarafında marka araması, kategori araması ve Shopping trafiği aynı başarı kriteriyle değerlendiriliyordu. Markayı zaten bilen kullanıcıdan gelen satış ile "yetişkin kedi maması" aramasından gelen yeni müşteri aynı ROAS tablosunda görünüyordu.
İlk analizde üç temel sorun gördüm.
- Kampanyalar müşteri yaşam döngüsüne göre ayrılmamıştı. Yeni müşteri, mevcut müşteri ve tekrar satın almaya yaklaşan müşteri aynı sisteme giriyordu.
- Ürün tüketim süreleri veriye dönüştürülmemişti. On kilogramlık köpek maması alan müşteriyle on litrelik kedi kumu alan müşteriye aynı gün, aynı mesajla reklam gösteriliyordu.
- ROAS yüksek görünse de gerçek kârlılık bilinmiyordu. Ürün marjı, kargo maliyeti, iskonto ve müşteri edinme maliyeti birlikte ölçülmüyordu.
İlk gün kampanya açmadım
Önce veriye güvenip güvenemeyeceğimi kontrol ettim. Yanlış ölçülen satın alma verisiyle yapılan optimizasyon, hatalı pusulayla daha hızlı yürümeye benziyor. Hız artıyor ama yön yanlış.
İlk yedi günde Meta Pixel, Conversion API, GA4, Google Ads dönüşümleri, ürün kataloğu ve sipariş sistemi arasındaki eşleşmeyi denetledim. Üç kritik hata çıktı.
- Satın alma olaylarının yaklaşık %12'si tarayıcı ve sunucu tarafından çift sayılıyordu.
- Katalogdaki ürün kimliklerinin %17'si site üzerindeki ürün kimlikleriyle eşleşmiyordu.
- Google Ads marka araması satışları, yeni müşteri performansını olduğundan güçlü gösteriyordu.
Çift sayım, tarayıcı ve sunucu tarafının aynı satın almayı iki ayrı olay sanmasından kaynaklanıyordu. Meta'nın Conversions API dokümantasyonunda tanımlandığı gibi, her olaya ortak bir kimlik verilerek tekilleştirme yapılması gerekiyor. Yapıyı bu şekilde düzelttim. Pixel ve CAPI denetimini nasıl yaptığımı ayrı yazıda anlattım.
Sonrasında GA4, Meta ve Google Ads için ortak UTM standardı kurdum. Ürün ID, stok kodu ve katalog ID eşleşmesini tek formata indirdim. Yeni müşteri ve mevcut müşteri siparişlerini ayrı raporlamaya başladım. İptal ve iade edilen siparişleri reklam raporlarından ayrıştırdım. Ürün bazında brüt kâr, kargo ve iskonto sonrası katkı payı tablosu oluşturdum.
Ana raporlama metriği platform ROAS'ı olmaktan çıktı. Yeni müşteri CPA'sı, mevcut müşteri ROAS'ı, 30/60/90 günlük tekrar satın alma oranı, müşteri yaşam boyu değeri ve katkı payı sonrası reklam getirisini birlikte izlemeye başladık. MER'in ROAS'tan neden daha önemli olduğunu ayrı yazıda ele aldım.
Ürünleri kategoriye değil tüketim süresine göre ayırdım
Sekiz ürün grubu tanımladık: kedi maması, köpek maması, kedi kumu, yaş mama, ödül maması, vitamin ve bakım, hijyen, oyuncak ve aksesuar.
Ama asıl iş grup adında değildi. Her ürün için ortalama tüketim süresi, tekrar satın alma günü, brüt kâr oranı, kargo maliyeti, birlikte satın alınan ürünler ve stok devamlılığı alanlarını çıkardık.
Kedi kumu müşterisinin tekrar sipariş zamanı ortalama 21–30 gün arasındaydı. Büyük paket köpek mamasında bu süre köpeğin ağırlığına göre 30–50 güne çıkıyordu.
Bu yüzden "30 gün sonra bütün müşterilere reklam göster" yaklaşımını kaldırdık. Tekrar satın alma penceresi ürün bazında ayrıldı.
Dört persona kurduk
| Persona | Davranış | Çalışan mesaj |
|---|---|---|
| Planlı mama alıcısı | 28-45 yaş, aynı markayı uzun süre kullanır, içeriğe önem verir | Maman bitmeden hazır et, beslenme düzenini bozma |
| Çoklu kedi sahibi | Yüksek kum ve mama tüketimi, paket büyüklüğüne duyarlı | Çoklu paket avantajı, mama ve kum birlikte |
| Hassasiyet odaklı | Alerjik, kısırlaştırılmış, veteriner önerili ürün kullanır | İçerik açıklaması, orijinal ürün, mama geçiş rehberi |
| Acil ihtiyaç | Mobilden gelir, ürün bitmek üzereyken hızlı karar verir | Net teslimat tarihi, stok durumu, önceki siparişi tekrarla |
Buradaki en önemli bulgu şuydu: hassasiyet odaklı ve planlı alıcı personalarında indirim çalışmadı, güven çalıştı. İçerik açıklaması, ürün karşılaştırması ve kullanım miktarı hesaplama aracı, yüzde on indirimden daha fazla dönüşüm üretti.
14 kampanyayı 8'e indirdim
İlk ayın ikinci yarısında kampanya sayısını sekize düşürdüm. Amaç tasarruf değildi; bütçeyi öğrenme aşamasını tamamlayabilecek büyüklükte parçalara toplamaktı. Öğrenme aşamasının ne zaman bozulduğunu ayrıca yazdım.
Aynı dönemde site tarafında hızlı sonuç verecek dönüşüm işlerini başlattık.
Ürün sayfası. Sayfalarda yalnızca ürün adı, fiyat ve açıklama vardı. Satın alma kararındaki temel sorular cevapsızdı. Hangi yaş ve hayvan tipi için uygun olduğu, günlük önerilen tüketim miktarı, paket büyüklüğüne göre tahmini kullanım süresi, içerik ve besin değerleri, ürün karşılaştırma tablosu, tahmini teslimat tarihi, stok bilgisi ve önceki siparişi tekrar alma butonu eklendi.
Sepet. Rastgele ürün önermeyi bıraktık. Satın alınan ürüne göre tamamlayıcı gösterdik: kuru mama alana yaş mama, kedi kumu alana koku giderici, köpek maması alana ödül maması. Yüksek fiyatlı ürünü zorlamak yerine düşük karar maliyetli tamamlayıcıları kullandık.
Mobil. Trafiğin yaklaşık %78'i mobildendi ama mobil dönüşüm oranı masaüstünün yarısından düşüktü. Yüklenme süresini 3,8 saniyeden 2,2 saniyeye düşürdük. Sabit sepete ekle butonu koyduk, varyasyonları tek ekranda görünür yaptık, üyelik zorunluluğunu kaldırıp misafir ödeme açtık ve form alanlarını azalttık.
ABO ile test ettim, CBO ile ölçekledim
Temel prensibim buydu. Birbiriyle rekabet eden çok sayıda kampanya yerine her kampanyaya net bir görev verdim. Olgunlaşan yapıda Meta tarafında beş ana kampanya kaldı.
| Kampanya | Yapı | Kitle |
|---|---|---|
| Yeni müşteri ölçekleme | CBO | Geniş hedefleme ve yüksek değerli müşteri benzerleri, son 180 gün satın alanlar hariç |
| Katalog yeni müşteri | CBO | Marj bazlı ürün setleri |
| Retargeting | ABO | Ürün gören, sepete ekleyen, ödeme başlatan ayrı ayrı |
| Tekrar satın alma | ABO | Ürün tipine göre tahmini tükenme penceresi |
| Kreatif test | ABO | Tek değişken testi |
Yeni müşteri kampanyasında farklı ürün kategorilerini aynı reklam setine yığmadım. Kedi ve köpek sahiplerinin ihtiyaçları ve satın alma motivasyonları farklı olduğu için kreatifleri kategori bazında ayırdım. Algoritmaya yüzlerce küçük kitle vermek yerine güçlü kreatif sinyali ve doğru ürün verisi verdim.
Katalog kampanyasında ürün havuzunu tek parça kullanmadım. Düşük marjlı, stok riski yüksek veya ağır kargo maliyeti oluşturan ürünleri ayrı setlere aldım. Bütçenin kolay satan ama az kâr bırakan ürünlere kaymasını böyle engelledik. Meta katalog reklamlarının nasıl çalıştığını ayrı yazıda anlattım.
Tekrar satın alma kampanyasında ürün tipine göre ayrı zaman pencereleri kullandık.
| Ürün tipi | Pencere |
|---|---|
| Kedi kumu | 18-30 gün |
| Küçük mama paketleri | 18-28 gün |
| Büyük kedi maması | 25-40 gün |
| Büyük köpek maması | 30-50 gün |
| Bakım ürünleri | 45-90 gün |
Müşteriye rastgele ürün göstermedik. Daha önce aldığı ürünü ya da aynı ihtiyaca uygun alternatifi gösterdik.
Kreatif testinde tek kural vardı: her testte yalnızca bir temel değişken değişti. Açılış cümlesi, video formatı, fayda mesajı, teklif, görsel düzen veya kullanıcı yorumu. Kazanan kreatifleri test kampanyasında bırakmadık, ana CBO kampanyasına taşıyıp daha yüksek bütçeyle ölçekledik. Katalog ve kreatif reklamları birlikte nasıl kullandığımı ayrıca yazdım.
| Meta bütçe kalemi | Pay |
|---|---|
| Yeni müşteri kazanımı | %65 |
| Retargeting | %20 |
| Tekrar satın alma | %15 |
Bu dağılım sabit değildi. Stok, kategori talebi, edinme maliyeti ve tekrar satın alma havuzunun büyüklüğüne göre haftalık değiştirdik.
Google'ı alternatif değil tamamlayıcı olarak konumlandırdım
Meta talep oluştururken Google mevcut talebi yakalıyordu. İkisini aynı başarı kriteriyle ölçmeyi bıraktık.
Marka arama kampanyasını markayı rakiplere kaptırmamak için kullandık ama bu kampanyanın ROAS'ını yeni müşteri performansına dahil etmedik. Bu ayrım yapılmadığı sürece gerçek edinme maliyetini görmek mümkün değil. CPA'yı nasıl yorumlamanız gerektiğini ayrı yazıda anlattım.
Kategori aramalarını niyet seviyesine göre ayırdık: kısırlaştırılmış kedi maması, yavru köpek maması, hassas sindirim köpek maması, topaklanan kedi kumu, tozsuz kedi kumu. Genel "petshop" kelimesi yerine ürün ve problem odaklı sorgulara ağırlık verdik.
Shopping tarafında önce ürün başlıklarını düzelttik. Başlık yapısını marka, ürün tipi, hayvan ve gramaj sırasına çektik. Google'ın ürün verisi optimizasyonu kılavuzu da başlığa marka, yaş grubu ve beden gibi ayırt edici özelliklerin eklenmesini öneriyor. Bu tek değişiklik alakasız aramalardan gelen tıklamaları belirgin biçimde azalttı. Shopping feed optimizasyonunun nasıl yapıldığını ayrı yazıda gösterdim.
Bütün ürünleri tek Performance Max kampanyasına koymadım. Ürünleri kategori, marj, stok devamlılığı, fiyat rekabeti ve tekrar satın alma sıklığına göre ayırdım. Düşük kâr bırakan ürünlerin yüksek ROAS görüntüsüyle bütçe tüketmesini katkı payı raporlamasıyla engelledik. PMax'in hangi durumda işe yaradığını ayrı yazıda ele aldım.
| Google bütçe kalemi | Pay |
|---|---|
| PMax ve Shopping | %45 |
| Non-brand arama | %30 |
| Marka arama | %15 |
| Remarketing | %10 |
Olgun dönemde toplam medya bütçesinin yaklaşık %72'si Meta'ya, %28'i Google Ads'e ayrılıyordu.
Kırılma dördüncü ayda geldi
İlk üç ayda ölçüm, kampanya yapısı ve site dönüşümü iyileşti. Ama asıl sıçrama, reklam hesabını müşteri yaşam döngüsüyle birleştirdiğimizde oldu.
Dördüncü ayda üç sistemi aynı anda devreye aldık: ürün bazlı tahmini tükenme tarihi, CRM ve reklam kitlesi senkronizasyonu, önceki siparişi tek tıkla tekrar alma sayfası.
Yani 15 kilogram köpek maması alan her müşteri otomatik olarak 30 gün sonra reklama alınmadı. Paket büyüklüğü, önceki sipariş aralığı ve ürün kategorisi kullanılarak herkesin kendi tahmini tarihi hesaplandı.
Müşteriye üç aşamalı iletişim gösterildi: ürün bitmeden hatırlatma, tahmini bitiş tarihinde tekrar sipariş mesajı, geciken müşteriye alternatif ürün önerisi.
Sonraki iki ayda şunlar oldu:
- Reklam ROAS'ı 4,2x seviyesinden 6,3x'e çıktı.
- Yeni müşteri CPA'sı %22 geriledi.
- Mevcut müşteriden gelen aylık ciro %41 arttı.
- E-posta ve SMS kaynaklı gelir toplam cironun %4'ünden %11'ine yükseldi.
- İkinci siparişe geçiş süresi ortalama 47 günden 34 güne düştü.
Kırılmayı yalnızca tekrar satın alma reklamı yaratmadı. Mevcut müşterileri yeni müşteri kampanyalarından çıkardığımız için prospecting verisi de temizlendi.
Meta artık kolay satış almak için eski müşterilere yönelmek yerine gerçek yeni müşteri bulmak zorunda kaldı. Yeni müşteri CPA'sı ile tekrar satın alma ROAS'ı ilk kez ayrı ayrı yönetilebilir hale geldi. Edinme maliyetini düşürmenin diğer yollarını ayrıca yazdım.
Denedim, tutmadı
Karışık katalog Advantage+ testi. Bütün ürünleri tek katalog ve tek geniş kampanya içinde çalıştırdık. İlk hafta platform ROAS'ı güçlü görünüyordu. Detaylı analizde bütçenin büyük bölümünün ağır kargo maliyeti olan, düşük marjlı ve mevcut müşterilerin zaten bildiği ürünlere gittiğini gördük. Kampanya 3,8x ROAS getirirken kontrol kampanyası 6,2x getiriyordu. Testi durdurup kataloğu kategori, marj ve stok devamlılığına göre böldük. Advantage+ Shopping'in ne zaman mantıklı olduğunu ayrı yazıda ele aldım.
Site genelinde %10 indirim. İlk siparişi artırmak için siteyi kapsayan indirim denedik. İlk satın alma dönüşüm oranı %13 yükseldi ama brüt kâr düştü, indirimsiz alışveriş yapan müşteriler kupon beklemeye başladı ve indirimle gelen müşterilerin 60 günlük tekrar satın alma oranı normal müşterilerden %9 daha düşük kaldı. Genel indirimi kaldırdık. Yerine çoklu paket avantajı, kategori setleri, sepete göre tamamlayıcı ürün ve sadakat puanı kullandık.
Aşırı parçalanmış ilgi alanı kampanyaları. Kedi severler, köpek sahipleri, veteriner sayfaları ve belirli mama markaları için çok sayıda küçük reklam seti açtık. Setler yeterli dönüşüm verisi toplayamadı, CPM yaklaşık %18 yükseldi, aynı kullanıcı farklı setlerde tekrar tekrar hedeflendi ve kampanyalar sürekli öğrenme sınırlamasına girdi. Bu yapıyı geri aldık. Öğrenme aşaması sorunlarını nasıl tespit ettiğimi ayrıca yazdım.
16. ay sonuçları
| Metrik | Başlangıç | 16. ay |
|---|---|---|
| Aylık reklam bütçesi | 118.000 TL | 285.000 TL |
| Reklam kaynaklı aylık ciro | 354.000 TL | 2.050.000 TL |
| Toplam aylık site cirosu | 690.000 TL | 2.380.000 TL |
| Reklam ROAS | 3,0x | 7,2x |
| Aylık trafik | 52.000 | 88.000 |
| Aylık sipariş | 430 | 1.280 |
| Dönüşüm oranı | %0,83 | %1,45 |
| Yeni müşteri CPA | 324 TL | 220 TL |
| 90 günlük tekrar satın alma | %19 | %30 |
| Ortalama sepet | 1.605 TL | 1.859 TL |
16 aylık dönemin toplamında 19,6 milyon TL e-ticaret cirosu üretildi. Bunun yaklaşık 15,9 milyon TL'si reklam kaynaklıydı ve karşılığında 2,24 milyon TL medya harcaması yapıldı. Ortalama 7,1x ROAS anlamına geliyor.
Buradaki asıl nokta ROAS'ın 3,0x'ten 7,2x'e çıkması değil. Asıl nokta bunun bütçe 118 bin TL'den 285 bin TL'ye çıkarken olması.
Normal şartlarda bütçe büyüdükçe ROAS düşer, çünkü daha geniş ve daha soğuk kitleye gidersiniz. Ölçeklemede ROAS düşüşünün sebeplerini ayrı yazıda ele aldım. Burada tersi oldu; çünkü büyümenin bir kısmı yeni müşteriden değil, aynı müşterinin ikinci ve üçüncü siparişinden geldi. LTV'yi neyin artırdığını ayrı yazıda ele aldım.
Bugün sistem nasıl çalışıyor
Çalışma devam ediyor ama sistem artık tek kişinin reklam hesabındaki günlük müdahalelerine bağımlı değil.
Markaya bıraktığım operasyon yapısı şu parçalardan oluşuyor: haftalık medya performans toplantısı, haftalık stok ve kampanya eşleştirmesi, aylık müşteri cohort raporu, kategori bazlı kârlılık tablosu, kreatif test takvimi, CRM iletişim takvimi, kampanya açma kapatma kuralları ve stok azaldığında reklamı durduran otomasyon.
Bütçe artırma kuralı. Bütçe yalnızca ROAS yüksek diye artırılmıyor. Dört koşul birlikte aranıyor: yeni müşteri CPA hedef aralıkta olmalı, ürünün stok devamlılığı en az 21 gün olmalı, katkı payı reklam maliyetini karşılamalı, kreatif frekansı ve dönüşüm oranı bozulmamış olmalı. Dördü birden sağlanıyorsa kampanya bütçesi 48–72 saatlik aralıklarla %15–20 yükseltiliyor.
Güvence mekanizmaları. En büyük riskler stok tükenmesi, kreatif yorgunluğu, ölçüm hatası ve indirime bağımlı müşteri kitlesi oluşmasıydı. Stok verisini reklam kataloğuyla senkronize ettik ve düşük stoklu ürünleri otomatik olarak ürün setinden çıkardık. Stok, reklam ve kâr marjının birlikte nasıl yönetildiğini ayrı yazıda anlattım. Platform ROAS'ını toplam ciro ve katkı payıyla doğruladık. CRM satışlarının gerçekten ek satış üretip üretmediğini holdout testleriyle ölçtük.
Kampanya sonuçlarını iptal ve iadeler düşüldükten sonra değerlendirdik. Reklam panelindeki ciro ile bankaya giren para arasındaki farkı görmeden alınan hiçbir bütçe kararı güvenilir değil.
Sık sorulan sorular
İlk 30 günde neden hiç kampanya açmadınız?
Çünkü hangi veriye güvenebileceğimi bilmiyordum. Denetim sonunda satın alma olaylarının %12'sinin çift sayıldığını, katalogdaki ürün kimliklerinin %17'sinin site verisiyle eşleşmediğini ve marka aramasının yeni müşteri performansını şişirdiğini buldum. Bu üç hata düzeltilmeden yapılacak her optimizasyon yanlış veriye dayanacaktı. Petshop e-ticarette ölçüm hatası, kampanya hatasından daha pahalıdır.
Satın alma olaylarının %12'si neden çift sayılıyordu?
Tarayıcı tarafındaki piksel ile sunucu tarafındaki Conversions API aynı satın almayı iki ayrı olay olarak gönderiyordu. Her iki tarafa ortak bir olay kimliği verilmediği için sistem bunları tekilleştiremiyordu. Sonuç olarak ROAS olduğundan yüksek görünüyor, platform da hangi kullanıcının gerçekten satın aldığını öğrenemiyordu. Ortak kimlik yapısını kurarak düzelttik.
14 kampanyayı 8'e indirirken hangilerini kapattınız?
Kararı duyguya değil kurala bağladık. Son 30 günde yeterli dönüşüm toplayamayan, başka bir kampanyanın kitlesini tüketen ve görevi başka bir kampanyayla çakışan kampanyalar kapandı. Kapatılanların bütçesi kalanlara dağıtıldı, toplam bütçeye dokunulmadı. Amaç tasarruf değil, bütçeyi öğrenme aşamasını tamamlayabilecek büyüklükte parçalara toplamaktı.
Dördüncü aydaki kırılmayı tam olarak ne yarattı?
Tek bir kampanya değil, aynı anda devreye aldığımız üç sistem: ürün bazlı tahmini tükenme tarihi, CRM ile reklam kitlesi senkronizasyonu ve tek tıkla tekrar sipariş sayfası. Ama asıl etken bunların yan ürünüydü. Mevcut müşterileri yeni müşteri kampanyalarından çıkarınca prospecting verisi temizlendi ve Meta kolay satış için eski müşteriye yönelmek yerine gerçek yeni müşteri bulmak zorunda kaldı.
Karışık katalog Advantage+ testini neden durdurdunuz?
İlk hafta platform ROAS'ı iyi görünüyordu ama detaya inince bütçenin ağır kargo maliyetli, düşük marjlı ve mevcut müşterilerin zaten bildiği ürünlere gittiğini gördük. Test kampanyası 3,8x getirirken kontrol kampanyası 6,2x getiriyordu. Katkı payı sonrası kârlılık da beklenenin altındaydı. Testi durdurup kataloğu kategori, marj ve stok devamlılığına göre böldük.
Çıkarım
Bu büyümeyi tek bir reklam kampanyası yaratmadı.
Büyümeyi sağlayan şey, reklam hesabını ürün tüketim süresi, müşteri davranışı, CRM, stok, kârlılık ve site dönüşüm oranıyla aynı sistem içinde yönetmekti.
Marka başlangıçta her ay yeniden müşteri satın almak zorundaydı. On altıncı ayın sonunda yeni müşteri reklamları büyümeyi, tekrar satın alma sistemi kârlılığı besliyordu.
Düzenli tüketilen ürün satan her e-ticaret işletmesinde en büyük kaldıraç aynı yerde duruyor: elde zaten var olan müşteride. Sadık müşteri oranını nasıl artırdığımı ayrıca yazdım. Tekrar satın alma oranını neyin belirlediğini ayrı yazıda ele aldım.