Експорт на данни и миграция от Brevo: как да преместите данните си навън или навътре
Експортирайте контакти, статистики и логове от Brevo, научете какво точно не се прехвърля и следвайте списък със стъпки за миграция в която и да е посока.
Обемът на търсенията за фрази като „brevo data export migration to another platform” се движи от една тревога: че данните, които сте натрупали, е по-лесно да бъдат вкарани, отколкото извадени. Честният отговор за Brevo е, че по-голямата част излиза чисто, част от нея излиза във вид, който трябва да изградите наново, а малка, но важна част изобщо не може да се премести.
Това ръководство покрива и двете посоки. То изброява какво точно се експортира, какво не, кои API заявки да ползвате за акаунти, твърде големи за интерфейса, и списък със стъпки за миграция, който третира списъците с изключени контакти и репутацията на изпращане като първостепенни грижи, а не като допълнение.
Какво наистина може да се експортира от Brevo
| Данни | Как излизат | Формат |
|---|---|---|
| Контакти и атрибути | Експорт от страницата с контакти или POST /v3/contacts/export | CSV |
| Членство в списъци | Експорт по списък или метаданните _listIds | CSV |
| Статус на абонамента | exportSubscriptionStatus в задачата за експорт | CSV |
| Статистики за кампании | Експорт на отчет за кампания или GET /v3/emailCampaigns | CSV, PDF, JSON |
| Логове със събития от транзакционни имейли | GET /v3/smtp/statistics/events или групова задача за експорт | JSON, CSV |
| Шаблони | GET /v3/smtp/templates връща htmlContent | JSON |
| Компании и сделки | Експорт от съответната CRM страница | CSV |
Контакти и атрибути
Пътят в интерфейса е CRM, след това Contacts. За да експортирате цялата база, уверете се, че не е зареден списък или сегмент и не са приложени филтри. За да експортирате един списък или сегмент, кликнете върху „Load a list or segment” и първо го изберете.
След това избирате кои стандартни и персонализирани атрибути да включите. EMAIL, датата на последна промяна и датата на създаване са избрани по подразбиране, а останалите добавяте Вие, което е стъпката, която хората най-често пропускат. Изберете разделителя на полетата в CSV, точка и запетая или запетая, и по желание включете „Send export by email”, за да отиде връзка за изтегляне на адреса на собственика на акаунта. Кликнете „Start export”, после изтеглете файла от камбанката с известията до името на акаунта Ви.
Списъци и сегменти
Списъците се експортират като членство: пуснете по един експорт за всеки списък или включете метаданните _listIds в един пълен експорт и разделете файла след това. GET /v3/contacts/lists Ви дава имената, идентификаторите и идентификаторите на папките на списъците, за да можете да пресъздадете структурата от другата страна.
Сегментите са различни и тук е първата истинска празнина. GET /v3/contacts/segments връща само id, segmentName, categoryName и updatedAt. Условията на филтъра, които дефинират сегмента, не се излагат навън. Можете да експортирате членовете на сегмент към даден момент, но правилото, което ги е произвело, трябва да бъде прочетено от екрана и изградено наново на ръка в новия инструмент. Направете екранна снимка на всеки сегмент, преди да закриете акаунта.
Статистики за кампании
От отчет за кампания можете да експортирате данните като CSV, а отчетите за имейл и SMS предлагат и PDF версия за споделяне или печат. За пълно историческо извличане GET /v3/emailCampaigns приема параметър statistics със стойности globalStats, linksStats или statsByDomain, както и двойка startDate и endDate, покриваща период до две години.
Транзакционни логове
Два пътя, с различни прозорци.
GET /v3/smtp/statistics/events връща отделни събития, филтрирани по тип (delivered, opened, clicks, hardBounces, spam, unsubscribed и други). Периодът не може да надвишава 90 дни и по подразбиране обхваща последните 30 дни, ако не подадете нито период, нито параметъра days.
За групово извличане POST /v3/webhooks/export създава задача за експорт върху последните 7 дни сурови събития, ограничена до 20 задачи за експорт на всеки 7 дни. Връща processId, извиква Вашия notify URL, когато приключи, и доставя CSV с колони, включващи date, email, event, message-id, reason, sending_ip, subject, tag и template_id. Големите обеми пристигат като компресиран архив от няколко CSV файла.
Практическата последица: ако искате повече от 90 дни транзакционна история, е трябвало да я експортирате по график през цялото време. Настройте тази задача сега, а не в седмицата, в която решите да си тръгнете.
Какво не идва с Вас
Това е частта, която повечето ръководства за миграция пропускат.
- Структурите на автоматизираните работни процеси. API може да задейства автоматизации през събития, но няма документиран краен адрес, който да прочете обратно разклоненията, забавянията и условията на един работен процес. Всеки работен процес се изгражда наново на ръка в новата платформа.
- Дефинициите на филтрите за сегменти. Както по-горе, извличат се само имената и текущите членове.
- Пълната история на ангажираност за всеки контакт. Можете да експортирате отворилите, кликналите, неотворилите, отписалите се, твърдо отпадналите или меко отпадналите от конкретна кампания чрез
customContactFilterна крайния адрес за експорт. Това, което не можете да извлечете, е един подреден файл с „всяко отваряне и кликване, което този контакт някога е направил”, защото крайните адреси за сурови събития са ограничени до 90 дни. - Точността на визуализиране на шаблоните.
htmlContentсе експортира чисто, но блоковете с влачене и пускане, синтаксисът на заместващите етикети и заместителите на връзката за отписване са специфични за платформата. HTML, който експортирате, е отправна точка, а не готов шаблон. Заделете време да тествате наново всеки шаблон в новия редактор. - Репутацията за доставимост. Репутацията на изпращача живее на изпращащите IP адреси и на удостоверения домейн. Нова платформа означава нов IP пул и ново загряване. Запазването на същия домейн и същата DKIM конфигурация пази страната на домейна от репутацията, което наистина помага, но не пренася IP страната.
- Идентификаторите на форми, целеви страници и проследяване. Формите за регистрация, целевите страници и скриптът за проследяване имат идентификатори, специфични за платформата. Всичко, вградено в сайта Ви, трябва да бъде подменено, а всяка аналитика, вързана за тези идентификатори, се чупи при превключването.
Скриптиран експорт за големи акаунти
Над около 100 000 контакта експортът през интерфейса става бавен и неудобен, а Вие и без това искате повторяема задача. Крайният адрес за експорт на контакти е асинхронен: приема филтър, връща идентификатор на процес и Ви подава CSV, когато приключи.
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" }'Успешната заявка връща HTTP 202 и тяло, съдържащо processId. exportMandatoryAttributes е true по подразбиране и покрива EMAIL, ADDED_TIME и MODIFIED_TIME, така че exportAttributes е мястото, където изброявате персонализираните си полета. Задаването на exportSubscriptionStatus е това, което вкарва във файла състоянието на маркетинговото съгласие за имейл и SMS, а пропускането му е най-честият начин хората да произведат експорт, безполезен за съответстваща на изискванията миграция.
Ако предпочитате да страницирате през записите, вместо да чакате задача, GET /v3/contacts приема limit до 1000 заедно с offset, плюс modifiedSince и createdSince за инкрементални извличания. Всеки контакт се връща с emailBlacklisted, smsBlacklisted, listIds, listUnsubscribed и consentGroups, което е всичко, което Ви трябва, за да възстановите състоянието на съгласието.
Следете ограниченията на заявките, докато скриптирате това. Крайните адреси за контакти допускат 36 000 заявки на час и 10 в секунда при стандартните планове, удвоени при нивата Professional и Enterprise, докато повечето други крайни адреси стоят на 100 заявки на час. Страницирането на един милион контакта по 1000 на страница е 1000 заявки, спокойно в бюджета за контакти, но блъскането на крайни адреси за кампании или шаблони в цикъл не е.
Защо списъкът Ви с изключени контакти трябва да мигрира пръв
Преместете отписалите се, преди да преместите каквото и да е друго.
Правният аргумент е прост. Контакт, който се е отписал, е оттеглил съгласието си от Вашата марка. Това оттегляне не се нулира, защото сте сменили доставчика. По GDPR записът за съгласието и неговото оттегляне е Ваше задължение като администратор на данни, а по CAN-SPAM отписването трябва да бъде уважено в рамките на десет работни дни и остава уважено безсрочно. Загубата на списъка при миграция не е техническа случайност, а провал по съответствието с документална следа, сочеща към Вас.
Аргументът за доставимостта е още по-тежък на практика. Изключените адреси са непропорционално хора, които са се оплакали, твърдо са отпаднали или активно са искали да излязат. Изпращането до тях от чисто нов IP адрес без репутация е най-бързият известен начин ново изпращащо устройство да бъде ограничено или блокирано в първата си седмица. Няколко хиляди рециклирани спам капана и оплакващи се могат да заличат месец внимателно загряване.
Затова експортирайте изключените групи изрично, вместо да се надявате, че се подразбират. При крайния адрес за експорт actionForContacts приема unsubscribed за контакти, блокирани по какъвто и да е начин, и unsubscribedPerList за контакти, отписани от един конкретен списък. Направете отделно преминаване за hardBounces по кампания. На влизане в новата платформа импортирайте този файл в нейния списък с изключени контакти, а не в списък за изпращане.
Brevo се справя и с обратния случай: поддържа импорт на списък с блокирани контакти, а API за импорт приема булевите emailBlacklist и smsBlacklist, така че импортираният файл да попадне като изключен. Обърнете внимание на асиметрията, която Brevo с право налага: контактите не могат да бъдат групово извадени от блокирания списък, защото груповото повторно абониране на някой, който е поискал да го оставят на мира, би било незаконно. Изключването е лесно за добавяне и умишлено трудно за махане. Третирайте това като правилното поведение, а не като пречка.
Списък със стъпки за миграция навън от Brevo
- Одит. Пребройте контактите, списъците, сегментите, активните автоматизации, шаблоните и интеграциите. Запишете кои интеграции пишат в Brevo, защото това са тръбите, които ще трябва да пренасочите.
- Експорт. Контакти с всички атрибути плюс статус на абонамента, по един файл на списък или един файл, носещ
_listIds, изключените групи като отделни файлове, статистики за кампании, транзакционни събития колкото назад позволява прозорецът от 90 дни, и HTML на шаблоните. - Архивирайте това, което изтича. Всичко ограничено във времето (сурови събития, логове) изчезва, щом прозорецът се превърти. Съхранете го в собственото си хранилище за данни или обектно хранилище сега.
- Почистете и съпоставете. Премахнете дубликатите, нормализирайте форматите на датите и телефоните и напишете изрична съпоставка на колони към полета за новата платформа. Това е и естественият момент да отпаднете адресите, които не са проявили активност от година, което е по-евтино от това да плащате за загряване на мъртва тежест. Нашето ръководство за почистване на имейл списъци покрива праговете.
- Заредете първо изключените. Импортирайте отписалите се и твърдо отпадналите в списъка с изключени контакти на новата платформа, проверете дали броят съвпада с експорта Ви и едва тогава заредете контактите за изпращане.
- Загрейте. Започнете с най-ангажирания си сегмент, увеличавайте обема постепенно и следете ежедневно процентите на отпадания и оплаквания. Нашето ръководство за доставимост на имейлите описва последователността в детайли.
- Работете паралелно. Дръжте Brevo активен и изпращащ критичната Ви транзакционна поща, докато новата платформа поема нарастващ дял от маркетинговите изпращания. Не превключвайте и двете наведнъж.
- Проверете. Изравнете броя на контактите, проверете двадесет контакта поле по поле, потвърдете, че изключените контакти наистина са изключени, като опитате тестово изпращане, и сравнете една седмица обем на изпращане със старата платформа.
- Превключете и запазете възможност за връщане. Сменете DNS и крайните адреси на интеграциите в момент, когато някой наблюдава. Дръжте Brevo акаунта жив и платен поне един пълен разчетен период след превключването, а експортираните файлове съхранени извън двете платформи. Точно това, а не обещание на доставчик, е реалният Ви план за връщане назад.
Миграция към Brevo от друга платформа
Същият списък се изпълнява в обратен ред, с три специфични за Brevo бележки.
Вземете истински експорт от досегашния доставчик. Повечето платформи ще Ви дадат контактите и техните персонализирани полета като CSV. Поискайте изрично списъка с изключени контакти и списъка с отпадания, които често са в отделен експорт, за който хората забравят да помолят. Ако идвате от модел с цена на контакт, сравнете какво реално ще плащате на влизане с нашето ръководство за цените на Brevo.
Съпоставете полетата, преди да качвате. Атрибутите в Brevo имат типове (текст, число, дата, булев, категория), а дата, попаднала в текстов атрибут, няма да може да се филтрира по-късно. Първо създайте атрибутите с правилните типове, после импортирайте.
Импортирайте през API за всичко с размер. POST /v3/contacts/import приема вграден CSV в fileBody, JSON масив в jsonBody, и двете ограничени около 10 MB, или отдалечен файл през fileUrl, плюс listIds или обект newList. updateExistingContacts е true по подразбиране и съпоставя по имейл. Пуснете един импорт с emailBlacklist, зададен на true, за файла с изключените контакти, а после втори импорт за контактите за изпращане. Пълните работещи скриптове са в нашето ръководство за импорт на CSV контакти в Brevo със скрипт.
След това изградете наново това, което не се е прехвърлило: автоматизации, сегменти, форми и шаблони. Изпратете тестово съобщение до шепа доставчици на пощенски кутии, преди да изпратите до когото и да е реален.
Не позволявайте следващата миграция да бъде пропаст
Причината една миграция между платформи да изглежда като пропаст е, че платформата е станала система от източници на истина. Историята на поръчките, състоянието на абонатите и резултатите от кампаниите живеят вътре в един доставчик и преместването им означава евакуация.
Алтернативата е да поддържате собствен източник на истина и да оставите платформата за изпращане да бъде дестинация, а не трезор. Ако данните за магазина, състоянието на съгласието и събитията за ангажираност се синхронизират непрекъснато във Вашите собствени системи, смяната или добавянето на канал е промяна в настройките, а не проект. Точно това върши Tajo между Brevo и технологичния стек на търговеца: държи данните да текат в двете посоки, така че платформата никога да не е единственото копие.
Така или иначе, задачите за експорт, описани по-горе, си струва да се пускат по график още сега, независимо дали планирате да си тръгнете. Най-евтината миграция е тази, при която данните вече са извън платформата, когато решите.