Brevo Veri Dışa Aktarımı ve Taşıma: Verinizi İçeri veya Dışarı Nasıl Taşırsınız
Brevo'dan kişileri, istatistikleri ve kayıtları dışa aktarın, tam olarak neyin taşınmadığını öğrenin ve her iki yönde taşıma için adım adım bir kontrol listesi izleyin.
“brevo data export migration to another platform” gibi ifadelerdeki arama hacmini tek bir endişe besliyor: biriktirdiğiniz verinin içeri koymasının dışarı çıkarmasından daha kolay olduğu endişesi. Brevo için dürüst yanıt şu: verinin çoğu temiz biçimde çıkar, bir kısmı yeniden kurmanız gereken bir şekilde çıkar ve küçük ama önemli bir bölümü hiç taşınamaz.
Bu kılavuz her iki yönü de kapsıyor. Tam olarak neyin dışa aktarıldığını, neyin aktarılmadığını, arayüz için fazla büyük hesaplarda kullanılacak API çağrılarını ve bastırma listeleriyle gönderim itibarını sonradan akla gelen ayrıntılar değil birinci sınıf konular olarak ele alan bir taşıma kontrol listesini listeliyor.
Brevo’dan gerçekte neleri dışa aktarabilirsiniz
| Veri | Nasıl çıkar | Biçim |
|---|---|---|
| Kişiler ve öznitelikler | Contacts sayfası dışa aktarımı veya POST /v3/contacts/export | CSV |
| Liste üyeliği | Liste başına dışa aktarım veya _listIds meta veri alanı | CSV |
| Abonelik durumu | Dışa aktarım işindeki exportSubscriptionStatus | CSV |
| Kampanya istatistikleri | Kampanya raporu dışa aktarımı veya GET /v3/emailCampaigns | CSV, PDF, JSON |
| İşlemsel olay kayıtları | GET /v3/smtp/statistics/events veya toplu dışa aktarım işi | JSON, CSV |
| Şablonlar | GET /v3/smtp/templates htmlContent döndürür | JSON |
| Şirketler ve anlaşmalar | İlgili CRM sayfasından dışa aktarım | CSV |
Kişiler ve öznitelikler
Arayüz yolu CRM, ardından Contacts şeklindedir. Tüm veritabanını dışa aktarmak için hiçbir listenin veya segmentin yüklü olmadığından ve hiçbir filtrenin uygulanmadığından emin olun. Tek bir listeyi veya segmenti dışa aktarmak için önce “Load a list or segment” seçeneğine tıklayıp seçimi yapın.
Ardından hangi standart ve özel özniteliklerin dahil edileceğini seçersiniz. EMAIL, son değişiklik tarihi ve oluşturulma tarihi varsayılan olarak seçilidir, gerisini siz eklersiniz ve insanların en sık atladığı adım budur. CSV alan ayırıcınızı, noktalı virgül veya virgül olarak seçin ve isterseniz “Send export by email” seçeneğini açarak indirme bağlantısının hesap sahibinin adresine gitmesini sağlayın. “Start export” seçeneğine tıklayın, ardından dosyayı hesap adınızın yanındaki bildirim zilinden indirin.
Listeler ve segmentler
Listeler üyelik olarak dışa aktarılır: her liste için ayrı bir dışa aktarım çalıştırın ya da tek bir tam dışa aktarımda _listIds meta verisini dahil edip dosyayı sonradan bölün. GET /v3/contacts/lists size liste adlarını, kimliklerini ve klasör kimliklerini verir, böylece yapıyı karşı tarafta yeniden oluşturabilirsiniz.
Segmentler farklıdır ve ilk gerçek boşluk buradadır. GET /v3/contacts/segments yalnızca id, segmentName, categoryName ve updatedAt döndürür. Bir segmenti tanımlayan filtre koşulları dışarıya açılmaz. Bir segmentin belirli bir andaki üyelerini dışa aktarabilirsiniz, ancak onları üreten kuralın ekrandan okunup yeni araçta elle yeniden kurulması gerekir. Hesabı kapatmadan önce her segmentin ekran görüntüsünü alın.
Kampanya istatistikleri
Bir kampanya raporundan veriyi CSV olarak dışa aktarabilirsiniz; e-posta ve SMS raporları ayrıca paylaşmak veya yazdırmak için PDF sürümü de sunar. Tam bir tarihsel çekim için GET /v3/emailCampaigns uç noktası globalStats, linksStats veya statsByDomain değerlerini alan bir statistics parametresi ile iki yıla kadar bir aralığı kapsayan startDate ve endDate çiftini kabul eder.
İşlemsel kayıtlar
Farklı pencerelere sahip iki yol var.
GET /v3/smtp/statistics/events türe göre filtrelenmiş tekil olayları döndürür (delivered, opened, clicks, hardBounces, spam, unsubscribed ve diğerleri). Tarih aralığı 90 günü aşamaz ve ne bir aralık ne de days parametresi verirseniz varsayılan olarak son 30 güne düşer.
Toplu iş için POST /v3/webhooks/export, son 7 günlük ham olaylar üzerinde bir dışa aktarım işi oluşturur ve 7 günlük dönem başına 20 dışa aktarım işiyle sınırlıdır. Bir processId döndürür, bittiğinde bildirim URL’nizi çağırır ve date, email, event, message-id, reason, sending_ip, subject, tag ve template_id sütunlarını içeren CSV teslim eder. Büyük hacimler birkaç CSV dosyasından oluşan sıkıştırılmış bir arşiv olarak gelir.
Pratik sonuç: 90 günden fazla işlemsel geçmiş istiyorsanız bunu baştan beri düzenli olarak dışa aktarıyor olmanız gerekirdi. O işi ayrılmaya karar verdiğiniz hafta değil, şimdi kurun.
Sizinle gelmeyenler
Taşıma kılavuzlarının çoğunun atladığı kısım burasıdır.
- Otomasyon iş akışı yapıları. API, otomasyonları olaylar üzerinden tetikleyebilir ancak bir iş akışının dallarını, gecikmelerini ve koşullarını geri okuyan belgelenmiş bir uç nokta yoktur. Her iş akışı yeni platformda elle yeniden kurulur.
- Segment filtre tanımları. Yukarıdaki gibi, yalnızca adlar ve mevcut üyeler alınabilir.
- Kişi başına tam etkileşim geçmişi. Dışa aktarım uç noktasındaki
customContactFilterile belirli bir kampanyanın açanlarını, tıklayanlarını, açmayanlarını, abonelikten çıkanlarını, kalıcı sekenlerini veya geçici sekenlerini dışa aktarabilirsiniz. Çekemeyeceğiniz şey, “bu kişinin şimdiye kadar yaptığı her açma ve tıklama” biçiminde tek ve derli toplu bir dosyadır, çünkü ham olay uç noktaları 90 günle sınırlıdır. - Şablon işleme sadakati.
htmlContenttemiz biçimde dışa aktarılır ama sürükle bırak blokları, birleştirme etiketi söz dizimi ve abonelikten çıkma bağlantısı yer tutucuları platforma özgüdür. Dışa aktardığınız HTML bitmiş bir şablon değil, bir başlangıç noktasıdır. Yeni düzenleyicide her şablonu yeniden test etmek için zaman ayırın. - Teslim edilebilirlik itibarı. Gönderici itibarı, gönderim IP’lerinde ve kimliği doğrulanmış alan adında yaşar. Yeni platform, yeni IP havuzu, yeni ısıtma. Aynı alan adını ve DKIM yapılandırmasını korumak itibarın alan adı tarafını korur ve bu gerçekten yardımcı olur, ancak IP tarafını taşımaz.
- Form, açılış sayfası ve izleme tanımlayıcıları. Kayıt formlarının, açılış sayfalarının ve izleme betiğinin tamamı platforma özgü kimliklere sahiptir. Sitenize gömülü olan her şeyin değiştirilmesi gerekir ve bu kimliklere bağlı her analitik geçiş anında bozulur.
Büyük hesaplar için betikle dışa aktarım
Yaklaşık 100.000 kişinin üzerinde arayüz dışa aktarımı yavaşlar ve hantallaşır, zaten tekrarlanabilir bir işe ihtiyacınız vardır. Kişi dışa aktarım uç noktası eşzamansızdır: bir filtre kabul eder, bir süreç kimliği döndürür ve bittiğinde size bir CSV verir.
curl --request POST \ --url https://api.brevo.com/v3/contacts/export \ --header 'accept: application/json' \ --header 'content-type: application/json' \ --header 'api-key: YOUR_API_KEY' \ --data '{ "customContactFilter": { "actionForContacts": "allContacts" }, "exportMandatoryAttributes": true, "exportAttributes": ["FIRSTNAME", "LASTNAME", "SMS", "COUNTRY"], "exportMetadata": ["_listIds", "ADDED_TIME", "MODIFIED_TIME"], "exportSubscriptionStatus": ["email_marketing", "sms_marketing"], "exportDateInUTC": true, "notifyUrl": "https://example.com/hooks/brevo-export" }'Başarılı bir çağrı HTTP 202 ve içinde processId bulunan bir gövde döndürür. exportMandatoryAttributes varsayılan olarak true’dur ve EMAIL, ADDED_TIME ile MODIFIED_TIME alanlarını kapsar, dolayısıyla özel alanlarınızı adlandırdığınız yer exportAttributes olur. E-posta ve SMS için pazarlama onayı durumunu dosyaya koyan şey exportSubscriptionStatus ayarıdır ve bunu atlamak, insanların uyumlu bir taşıma için işe yaramaz bir dışa aktarım üretmesinin en yaygın yoludur.
Bir iş bitmesini beklemek yerine kayıtlar arasında sayfalamayı tercih ediyorsanız, GET /v3/contacts uç noktası offset ile birlikte 1000’e kadar limit ve artımlı çekimler için modifiedSince ile createdSince kabul eder. Her kişi emailBlacklisted, smsBlacklisted, listIds, listUnsubscribed ve consentGroups alanlarıyla geri gelir; bu da onay durumunu yeniden kurmak için ihtiyacınız olan her şeydir.
Bunu betiğe dökerken hız limitlerine dikkat edin. Kişi uç noktaları standart planlarda saatte 36.000 isteğe ve saniyede 10 isteğe izin verir, Professional ve Enterprise katmanlarında bu iki katına çıkar, buna karşılık diğer uç noktaların çoğu saatte 100 istekte kalır. Bir milyon kişiyi sayfa başına 1000 kayıtla sayfalamak 1000 istek eder ve kişi bütçesinin rahatça içindedir, ama kampanya veya şablon uç noktalarını döngüde dövmek öyle değildir.
Bastırma listeniz neden ilk taşınmalı
Çıkış onaylarını her şeyden önce taşıyın.
Hukuki gerekçe basit. Abonelikten çıkan bir kişi sizin markanızdan rızasını geri çekti. Bu geri çekme, tedarikçi değiştirdiniz diye sıfırlanmaz. GDPR kapsamında rızanın ve geri çekilmesinin kaydı veri sorumlusu olarak sizin yükümlülüğünüzdür ve CAN-SPAM kapsamında bir çıkış talebi on iş günü içinde yerine getirilmeli ve süresiz olarak geçerli kalmalıdır. Listeyi bir taşıma sırasında kaybetmek teknik bir kaza değil, izi size çıkan bir uyumluluk ihlalidir.
Teslim edilebilirlik gerekçesi pratikte daha da ağırdır. Bastırılmış adresler orantısız biçimde şikâyet eden, kalıcı seken veya aktif olarak çıkmak isteyen kişilerden oluşur. Onlara itibarı olmayan yepyeni bir IP’den posta göndermek, yeni bir gönderim kurulumunun ilk haftasında kısıtlanmasının veya engellenmesinin bilinen en hızlı yoludur. Birkaç bin geri dönüştürülmüş spam tuzağı ve şikâyetçi, bir aylık dikkatli ısıtmayı boşa çıkarabilir.
Bu yüzden bastırılmış grupları ima edildiklerini ummak yerine açıkça dışa aktarın. Dışa aktarım uç noktasında actionForContacts parametresi, herhangi bir yolla engellenmiş kişiler için unsubscribed ve belirli bir listeden çıkmış kişiler için unsubscribedPerList değerlerini kabul eder. Kampanya başına hardBounces için ayrı bir geçiş yapın. Yeni platforma girişte o dosyayı postalanabilir bir listeye değil, bastırma listesine aktarın.
Brevo tersi durumu da destekler: engellenen kişilerden oluşan bir listenin içe aktarılmasını destekler ve içe aktarım API’si emailBlacklist ile smsBlacklist boolean değerlerini alır, böylece aktarılan dosya bastırılmış olarak yerleşir. Brevo’nun haklı olarak uyguladığı asimetriye dikkat edin: kişiler toplu olarak engellemeden çıkarılamaz, çünkü rahat bırakılmak isteyen birini toplu olarak yeniden abone yapmak hukuka aykırı olurdu. Bastırma eklemesi kolay, kaldırması ise bilinçli olarak zordur. Bunu bir engel değil, doğru davranış olarak görün.
Taşıma kontrol listesi, Brevo’dan çıkış
- Denetleyin. Kişileri, listeleri, segmentleri, aktif otomasyonları, şablonları ve entegrasyonları sayın. Hangi entegrasyonların Brevo’ya yazdığını not edin, çünkü yeniden yönlendirmeniz gereken borular bunlardır.
- Dışa aktarın. Tüm öznitelikleriyle birlikte kişiler ve abonelik durumu, liste başına bir dosya ya da
_listIdstaşıyan tek bir dosya, ayrı dosyalar hâlinde bastırma grupları, kampanya istatistikleri, 90 günlük pencerenin izin verdiği kadar geriye giden işlemsel olaylar ve şablon HTML’i. - Süresi dolacak olanı arşivleyin. Zamanla sınırlı olan her şey (ham olaylar, kayıtlar) pencere döndüğünde kaybolur. Şimdi kendi veri ambarınızda veya nesne depolamanızda saklayın.
- Temizleyin ve eşleyin. Yinelenenleri ayıklayın, tarih ve telefon biçimlerini normalleştirin ve yeni platform için açık bir sütun-alan eşlemesi yazın. Bu aynı zamanda bir yıldır etkileşime girmemiş adresleri elemek için doğal andır; bu, ölü ağırlığı ısıtmak için para ödemekten ucuzdur. E-posta listesi temizleme kılavuzumuz eşikleri anlatıyor.
- Önce bastırmayı yükleyin. Çıkış onaylarını ve kalıcı sekmeleri yeni platformun bastırma listesine aktarın, sayıların dışa aktarımınızla eşleştiğini doğrulayın ve ancak ondan sonra postalanabilir kişileri yükleyin.
- Isıtın. En etkileşimli segmentinizle başlayın, hacmi kademeli olarak artırın ve sekme ile şikâyet oranlarını günlük izleyin. E-posta teslim edilebilirlik kılavuzumuz sırayı ayrıntılı olarak veriyor.
- Paralel çalıştırın. Yeni platform pazarlama gönderimlerinin artan bir bölümünü üstlenirken Brevo’yu canlı tutun ve kritik işlemsel postanızı göndermeye devam edin. İkisini aynı anda çevirmeyin.
- Doğrulayın. Kişi sayılarını karşılaştırın, yirmi kişiyi alan alan kontrol edin, bir test gönderimi deneyerek bastırılmış kişilerin gerçekten bastırıldığını teyit edin ve bir haftalık gönderim hacmini eski platformla karşılaştırın.
- Geçişi yapın ve bir geri dönüş yolu bırakın. DNS ve entegrasyon uç noktalarını, birinin izlediği bir zaman diliminde değiştirin. Geçişten sonra en az bir tam fatura döngüsü boyunca Brevo hesabını canlı ve ödenmiş tutun, dışa aktardığınız dosyalar her iki platformun da dışında saklansın. Gerçek geri dönüş planınız bir tedarikçi vaadi değil, budur.
Başka bir platformdan Brevo’ya taşınmak
Aynı kontrol listesi ters yönde de işler, Brevo’ya özgü üç notla birlikte.
Mevcut sağlayıcıdan gerçek bir dışa aktarım alın. Platformların çoğu kişileri ve özel alanlarını CSV olarak verir. Bastırma listesini ve sekme listesini özellikle isteyin; bunlar sık sık ayrı bir dışa aktarımda yer alır ve insanlar talep etmeyi unutur. Kişi başına fiyatlanan bir modelden geliyorsanız, girişte gerçekte ne ödeyeceğinizi Brevo fiyatlandırma kılavuzumuzla karşılaştırın.
Yüklemeden önce alanları eşleyin. Brevo öznitelikleri türlere sahiptir (metin, sayı, tarih, boolean, kategori) ve metin özniteliğine düşen bir tarih daha sonra filtrelenebilir olmaz. Öznitelikleri önce doğru türlerle oluşturun, sonra içe aktarın.
Büyükçe her şeyi API üzerinden aktarın. POST /v3/contacts/import uç noktası fileBody içinde satır içi CSV, jsonBody içinde bir JSON dizisi (ikisi de yaklaşık 10 MB ile sınırlı) ya da fileUrl üzerinden uzak bir dosya kabul eder, ayrıca listIds veya bir newList nesnesi alır. updateExistingContacts varsayılan olarak true’dur ve e-posta üzerinden eşleşir. Bastırma dosyanız için emailBlacklist değeri true olan bir içe aktarım, ardından postalanabilir kişiler için ikinci bir içe aktarım çalıştırın. Çalışan betiklerin tamamı Brevo’ya betikle CSV kişi aktarma kılavuzumuzda yer alıyor.
Sonra taşınmayanı yeniden kurun: otomasyonlar, segmentler, formlar ve şablonlar. Gerçek birine göndermeden önce birkaç posta sağlayıcısına tohum testi gönderin.
Bir sonraki taşıma bir uçurum olmasın
Bir platform taşımasının uçurum gibi hissettirmesinin nedeni, platformun kayıt sistemi hâline gelmiş olmasıdır. Sipariş geçmişi, abone durumu ve kampanya sonuçları tek bir tedarikçinin içinde yaşar ve onları taşımak bir tahliye demektir.
Alternatif, kendi doğruluk kaynağınızı elinizde tutmak ve gönderim platformunun bir kasa değil bir hedef olmasına izin vermektir. Mağaza verileriniz, onay durumunuz ve etkileşim olaylarınız kendi sistemlerinize sürekli senkronize ediliyorsa, kanal değiştirmek veya eklemek bir proje değil bir yapılandırma değişikliği olur. Tajo Brevo ile bir satıcının teknoloji yığını arasında tam olarak bu işi yapar: veriyi iki yönde akıtarak platformun hiçbir zaman tek kopya olmamasını sağlar.
Her hâlükârda, yukarıda anlatılan dışa aktarım işlerini ayrılmayı planlasanız da planlamasanız da hemen şimdi düzenli olarak çalıştırmaya değer. En ucuz taşıma, karar verdiğinizde verinin zaten platformun dışında olduğu taşımadır.