Shopify Sepet Terk E-postası: AI ile Kişisel Hatırlatma
E-ticaret sektörüne ait araştırmalar, alışveriş sepeti terk oranının ortalama %70 civarında olduğunu gösteriyor. Yani mağazanıza gelen her 10 müşterinin 7'si ödeme sayfasına bile ulaşmadan ayrılıyor. Bu müşterilere gönderilen zamanlı ve kişiselleştirilmiş bir hatırlatma e-postası, bu oranı ciddi ölçüde geri çekebilir.
Peki ya o e-postaları elle yazmak? Mümkün değil. "Sepetinizde ürün bıraktınız" gibi jenerik şablonlar ise artık kimseyi durduramıyor.
Bu yazıda, Shopify webhook'larından tetiklenen ve AI'nın her müşteriye özel bir hatırlatma metni yazdığı bir n8n iş akışı inşa edeceğiz. Bütün bunları, API anahtarına gerek duymadan ve AI maliyetlerini ayrıca ödemeden yapacaksınız.
Akış Mimarisi: Ne Yapıyor?
Kurulumun mantığı şu: Shopify'da biri sepetini terk ettiğinde bir webhook ateşleniyor → n8n bu veriyi alıp müşteri ve ürün bilgilerini çıkarıyor → AI düğümü bu bilgileri kullanarak kişiselleştirilmiş e-posta metni oluşturuyor → Gmail veya SMTP üzerinden e-posta gidiyor.
Sonuç olarak, her müşteri "Ahmet, deri cüzdanı sepetinde bekliyordu" gibi, kendi adına ve seçtiği ürüne atıfla yazılmış bir mesaj alıyor; jenerik şablon değil.
Adım Adım Kurulum
1. Shopify Webhook'unu Tetikleyici Olarak Kurun
n8n editörünüzde yeni bir iş akışı açın. İlk düğüm olarak Webhook düğümünü ekleyin.
- HTTP Method: POST
- Path:
/shopify-abandoned-cart - Authentication: Header Auth (Shopify HMAC doğrulaması için)
n8n size otomatik olarak bir public HTTPS URL üretir, örneğin:
https://abc123.agentroost.app/webhook/shopify-abandoned-cart
Shopify admin panelinde Settings → Notifications → Webhooks bölümüne gidin ve şu ayarı yapın:
- Event: Checkout abandoned
- URL: Yukarıdaki webhook URL'nizi yapıştırın
- Format: JSON
Shopify artık biri sepetini terk ettiğinde bu URL'ye bir POST isteği atacak.
2. Gelen Veriyi Temizleyin (Set Düğümü)
Shopify'ın gönderdiği JSON oldukça geniş. Sadece işimize yarayacak alanları Set düğümüyle çıkaralım:
{
"customerName": "{{ $json.customer.first_name }}",
"customerEmail": "{{ $json.email }}",
"lineItems": "{{ $json.line_items | map('title') | join(', ') }}",
"cartValue": "{{ $json.total_price }} {{ $json.currency }}",
"abandonedAt": "{{ $json.updated_at }}"
}
Bu alanları belirginleştirmek, AI düğümüne vereceğiniz prompt'u çok daha temiz yapıyor.
3. Bekleme Süresi Ekleyin (Wait Düğümü)
Müşteri checkout'u bırakır bırakmaz e-posta göndermek agresif kaçabilir. Küçük bir bekleme ekleyin:
- Wait düğümünü ekleyin
- Resume: After time interval
- Interval: 1 saat (veya deneyimlerinize göre 30 dakika)
Bu sayede müşteri bu süre içinde geri dönüp siparişini tamamlarsa akış gereksiz yere devam etmez — bir sonraki adıma IF düğümüyle sipariş durumu kontrolü ekleyebilirsiniz.
4. Sipariş Kontrolü (IF Düğümü — Opsiyonel ama Tavsiye Edilir)
Bekleme süresinde müşteri zaten alışveriş yaptıysa e-posta göndermemek lazım. Bunun için:
- HTTP Request düğümüyle Shopify API'sine sorgu atın:
GET /admin/api/2023-10/checkouts/{token}.json - IF düğümüyle
status == "completed"kontrolü yapın - Tamamlandıysa akışı sonlandırın, tamamlanmadıysa AI adımına geçin
5. AI Düğümüyle Kişiselleştirilmiş Metin Üretin
İşte asıl sihir burada. AI/LLM düğümünü ekleyin (n8n'de "Basic LLM Chain" veya "Chat Model" olarak geçer):
System Prompt:
Sen bir e-ticaret müşteri ilişkileri uzmanısın. Samimi, baskıcı olmayan ve kişisel bir dille hatırlatma e-postaları yazıyorsun. Türkçe veya İngilizce yaz — müşteri adına göre karar ver.
User Prompt:
Şu bilgilerle kişiselleştirilmiş bir sepet hatırlatma e-postası yaz:
Müşteri adı: {{ $json.customerName }}
Sepette bırakılan ürünler: {{ $json.lineItems }}
Toplam tutar: {{ $json.cartValue }}
E-posta kısa (3-4 cümle), samimi ve doğal olmalı. Ürün adlarını mutlaka kullan. Konu satırı da yaz, "Konu:" ön ekiyle başlat.
Model olarak gpt-4o-mini veya claude-3-haiku gibi seçenekleri kullanabilirsiniz — hem hız hem maliyet açısından bu kullanım senaryosuna biçilmiş kaftan. AgentRoost'ta 350'den fazla model arasından istediğinizi seçebilirsiniz. Ve buradaki kritik nokta: bu AI çağrıları için ayrı bir API anahtarınız veya hesabınız olmak zorunda değil.
6. Konu Satırını Ayırın (Code Düğümü)
AI'nın çıktısı şuna benzer bir şey olacak:
Konu: Ahmet, deri cüzdanın seni bekliyor
Merhaba Ahmet, dün sepetine eklediğin Premium Deri Cüzdan hâlâ seni bekliyor...
Küçük bir Code düğümüyle konu ve gövdeyi ayırın:
const output = $input.first().json.text;
const subjectMatch = output.match(/Konu:\s*(.+)/);
const subject = subjectMatch ? subjectMatch[1].trim() : "Sepetinizde ürün bıraktınız";
const body = output.replace(/Konu:.+\n?/, '').trim();
return [{ json: { subject, body } }];
7. E-postayı Gönderin (Gmail veya SMTP Düğümü)
Gmail düğümünü ekleyin (veya Send Email ile SMTP):
- To:
{{ $('Set').item.json.customerEmail }} - Subject:
{{ $json.subject }} - Email Type: Text veya HTML
- Body:
{{ $json.body }}
Akışı kaydedin ve aktif edin. Artık Shopify'da biri sepetini terk ettiğinde, 1 saat sonra kendi adına ve seçtiği ürüne özel bir hatırlatma e-postası alıyor.
Olası Geliştirmeler
Temel akışı çalışır hale getirdikten sonra şunları ekleyebilirsiniz:
- İkinci e-posta (24 saat sonra): Wait düğümü + sipariş kontrolü döngüsü. Bu sefer küçük bir indirim kodu ekleyin.
- Ürün kategorisine göre ton: "Takı" kategorisinde AI'a daha romantik bir ton, "elektronik" kategorisinde daha teknik bir ton verin.
- Dil tespiti: Müşteri adından veya ülke kodundan dil tahmin edip prompt'u Türkçe/İngilizce olarak yönlendirin.
- Slack bildirimi: Yüksek değerli sepetler için IF düğümüyle ayırın ve Slack kanalınıza anlık bildirim gönderin.
AgentRoost'ta Bu Akışı Çalıştırın
Bu tür bir iş akışını kendi makinenizde veya bir sunucuda çalıştırmak isteseydiniz şunlara ihtiyacınız olurdu: Docker, SSL sertifikası, public IP, bir LLM sağlayıcısında API anahtarı ve bu anahtarın aylık faturası.
AgentRoost'ta ise şöyle işliyor:
- agentroost.app'te hesap oluşturun — e-posta/şifre, Google, Microsoft veya Discord ile.
- n8n framework'ünü seçin, instance'ınıza bir isim verin.
- Yaklaşık 2 dakika içinde kendi n8n editörünüz
https://<sizin-id>.agentroost.appadresinde açılıyor. - Yukarıdaki adımları bu editörde uygulayın — Webhook düğümü zaten public HTTPS URL'siyle hazır.
- AI/LLM düğümlerini ekleyin; API anahtarı girme adımı yok, krediler dahil.
Fiyatlandırma $19,99/ay'dan başlıyor ve AI kullanımı bu fiyata dahil. 14 gün içinde fikriniz değişirse tam iade. Planları karşılaştırın.
Not: Shopify webhook'larında HMAC imzası doğrulaması yapmayı ihmal etmeyin. n8n'nin Webhook düğümündeki "Header Auth" seçeneğiyle Shopify'ın
X-Shopify-Hmac-Sha256başlığını doğrulayabilirsiniz. Bu adım olmadan, webhook URL'nizi bilen herhangi biri sahte veri gönderebilir.
Sıkça sorulan sorular
Shopify için ayrı bir API anahtarı almam gerekiyor mu?
Shopify tarafında Webhook ayarını yapmak için Shopify admin panelinize erişmeniz yeterli — ek bir ücretli plan veya API anahtarı satın almanız gerekmiyor. Sipariş durumunu sorgulamak istiyorsanız (adım 4) bir Shopify Admin API erişim anahtarı gerekir; bu anahtarı Shopify'ın kendi panelinden ücretsiz oluşturabilirsiniz.
AI e-postaları için OpenAI veya başka bir servis aboneliği lazım mı?
Hayır. AgentRoost aboneliğinizde AI/LLM kredileri dahildir. n8n akışınızdaki AI düğümlerine herhangi bir API anahtarı girmenize gerek yoktur; krediler zaten hazır ve çalışır durumda.
Müşteri zaten siparişi tamamlamışsa yine de e-posta gider mi?
Yazıdaki adım 4'ü (IF düğümü + Shopify sipariş sorgusu) uyguladığınızda, bekleme süresi dolduktan sonra sipariş durumu kontrol edilir. Sipariş tamamlanmışsa akış orada durur ve e-posta gönderilmez.
Bu akış kaç müşteriye kadar ölçeklenir?
n8n, her webhook tetiklemesini ayrı bir iş olarak çalıştırır. Düşük-orta hacimli mağazalar (günde yüzlerce terk) için herhangi bir ek yapılandırma gerekmez. Çok yüksek hacimlerde Plus veya Pro planındaki daha fazla kaynaktan yararlanabilirsiniz.
İstemezsem aboneliği iptal edebilir miyim?
Evet. AgentRoost aylık abonelik modeliyle çalışır, yıllık taahhüt yoktur. İptal ettiğinizde dönem sonuna kadar erişiminiz devam eder. İlk 14 gün içinde memnun kalmazsanız tam iade talep edebilirsiniz.