Export și migrare de date Brevo: cum îți muți datele în interior sau în exterior

Exportă contacte, statistici și jurnale din Brevo, află exact ce nu se transferă și urmează o listă de verificare pas cu pas pentru migrarea în oricare direcție.

Brevo data export
Export și migrare de date Brevo?

Volumul de căutări pentru expresii precum „brevo data export migration to another platform” este împins de o singură teamă: că datele pe care le-ai acumulat sunt mai ușor de băgat înăuntru decât de scos afară. Răspunsul cinstit pentru Brevo este că cea mai mare parte iese curat, o parte iese într-o formă pe care trebuie să o reconstruiești, iar o parte mică, dar importantă, nu poate să se mute deloc.

Ghidul acoperă ambele direcții. Enumeră exact ce se exportă, ce nu, apelurile API pentru conturile prea mari pentru interfață și o listă de verificare a migrării care tratează listele de suprimare și reputația de trimitere ca preocupări de prim rang, nu ca gânduri de ultim moment.

Ce poți exporta cu adevărat din Brevo

DateCum iesFormat
Contacte și atributeExportul din pagina Contacts sau POST /v3/contacts/exportCSV
Apartenența la listeExport per listă sau câmpul de metadate _listIdsCSV
Status abonareexportSubscriptionStatus pe jobul de exportCSV
Statistici de campanieExportul raportului de campanie sau GET /v3/emailCampaignsCSV, PDF, JSON
Jurnale de evenimente tranzacționaleGET /v3/smtp/statistics/events sau un job de export în masăJSON, CSV
ȘabloaneGET /v3/smtp/templates returnează htmlContentJSON
Companii și tranzacțiiExport din pagina CRM relevantăCSV

Contacte și atribute

Calea din interfață este CRM, apoi Contacts. Ca să exporți toată baza de date, asigură-te că nu este încărcată nicio listă sau niciun segment și că nu este aplicat niciun filtru. Ca să exporți o singură listă sau un segment, apasă pe „Load a list or segment” și alege-l mai întâi.

Apoi selectezi ce atribute standard și personalizate să incluzi. EMAIL, data ultimei modificări și data creării sunt selectate implicit, iar restul le adaugi tu, ceea ce este pasul pe care oamenii îl greșesc cel mai des. Alege separatorul de câmpuri CSV, punct și virgulă sau virgulă, și eventual activează „Send export by email”, ca un link de descărcare să ajungă la adresa proprietarului contului. Apasă „Start export”, apoi descarcă fișierul din clopoțelul de notificări de lângă numele contului tău.

Liste și segmente

Listele se exportă ca apartenență: rulează un export pentru fiecare listă sau include metadatele _listIds într-un singur export complet și împarte fișierul după aceea. GET /v3/contacts/lists îți dă numele listelor, id-urile și id-urile de folder, ca să poți recrea structura de cealaltă parte.

Segmentele sunt altceva, și aici apare primul gol real. GET /v3/contacts/segments returnează doar id, segmentName, categoryName și updatedAt. Condițiile de filtrare care definesc un segment nu sunt expuse. Poți exporta membrii unui segment la un moment dat, dar regula care i-a produs trebuie citită de pe ecran și reconstruită manual în noul instrument. Fă o captură de ecran la fiecare segment înainte să închizi contul.

Statistici de campanie

Dintr-un raport de campanie poți exporta datele ca CSV, iar rapoartele de e-mail și SMS oferă și o versiune PDF, pentru distribuire sau tipărire. Pentru o extragere istorică completă, GET /v3/emailCampaigns acceptă un parametru statistics cu valorile globalStats, linksStats sau statsByDomain, plus o pereche startDate și endDate care acoperă un interval de până la doi ani.

Jurnale tranzacționale

Două căi, cu ferestre diferite.

GET /v3/smtp/statistics/events returnează evenimente individuale, filtrate după tip (delivered, opened, clicks, hardBounces, spam, unsubscribed și altele). Intervalul de date nu poate depăși 90 de zile și, dacă nu transmiți nici interval, nici parametrul days, revine implicit la ultimele 30 de zile.

Pentru volum, POST /v3/webhooks/export creează un job de export pe ultimele 7 zile de evenimente brute, plafonat la 20 de joburi de export per perioadă de 7 zile. Returnează un processId, apelează URL-ul tău de notificare când termină și livrează CSV cu coloane precum date, email, event, message-id, reason, sending_ip, subject, tag și template_id. Volumele mari sosesc ca arhivă comprimată cu mai multe fișiere CSV.

Consecința practică: dacă vrei mai mult de 90 de zile de istoric tranzacțional, trebuia să îl exporți periodic tot timpul. Configurează acel job acum, nu în săptămâna în care decizi să pleci.

Ce nu vine cu tine

Aceasta este partea pe care majoritatea ghidurilor de migrare o sar.

  • Structurile fluxurilor de automatizare. API-ul poate declanșa automatizări prin evenimente, dar nu există niciun endpoint documentat care să citească înapoi ramurile, întârzierile și condițiile unui flux. Fiecare flux se reconstruiește manual în noua platformă.
  • Definițiile filtrelor de segment. Ca mai sus, doar numele și membrii curenți pot fi extrași.
  • Istoricul complet de interacțiune per contact. Poți exporta cei care au deschis, au dat clic, nu au deschis, s-au dezabonat, au avut hard bounce sau soft bounce la o campanie anume, folosind customContactFilter pe endpointul de export. Ce nu poți extrage este un singur fișier ordonat cu „fiecare deschidere și fiecare clic pe care le-a făcut vreodată acest contact”, pentru că endpointurile de evenimente brute sunt limitate la 90 de zile.
  • Fidelitatea randării șabloanelor. htmlContent se exportă curat, dar blocurile drag and drop, sintaxa etichetelor de îmbinare și substituenții pentru linkul de dezabonare sunt specifice platformei. Codul HTML pe care îl exporți este un punct de plecare, nu un șablon finit. Alocă timp ca să retestezi fiecare șablon în noul editor.
  • Reputația de livrabilitate. Reputația de expeditor stă pe IP-urile de trimitere și pe domeniul autentificat. Platformă nouă, pool de IP-uri nou, încălzire nouă. Păstrarea aceluiași domeniu și a aceleiași configurări DKIM conservă partea de domeniu a reputației, ceea ce ajută cu adevărat, dar nu duce mai departe partea de IP.
  • Identificatorii de formulare, pagini de destinație și urmărire. Formularele de înscriere, paginile de destinație și scriptul de urmărire au toate id-uri specifice platformei. Orice este încorporat pe site-ul tău trebuie schimbat, iar orice analiză legată de acele id-uri se rupe la trecere.

Export scriptat pentru conturi mari

Peste aproximativ 100.000 de contacte, exportul din interfață devine lent și incomod, iar oricum îți dorești un job repetabil. Endpointul de export al contactelor este asincron: acceptă un filtru, returnează un id de proces și îți dă un CSV când termină.

Terminal window
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"
}'

Un apel reușit returnează HTTP 202 și un corp care conține un processId. exportMandatoryAttributes are implicit valoarea true și acoperă EMAIL, ADDED_TIME și MODIFIED_TIME, așa că exportAttributes este locul unde îți numești câmpurile personalizate. Setarea exportSubscriptionStatus este cea care pune în fișier starea de consimțământ pentru marketing prin e-mail și SMS, iar omiterea ei este cel mai frecvent mod în care oamenii produc un export inutil pentru o migrare conformă.

Dacă preferi să parcurgi înregistrările în loc să aștepți un job, GET /v3/contacts acceptă limit până la 1000 cu un offset, plus modifiedSince și createdSince pentru extrageri incrementale. Fiecare contact revine cu emailBlacklisted, smsBlacklisted, listIds, listUnsubscribed și consentGroups, adică tot ce îți trebuie ca să reconstruiești starea consimțământului.

Urmărește limitele de rată cât timp scriptezi asta. Endpointurile de contacte permit 36.000 de cereri pe oră și 10 pe secundă pe planurile standard, dublu pe nivelurile Professional și Enterprise, în timp ce majoritatea celorlalte endpointuri stau la 100 de cereri pe oră. Parcurgerea unui milion de contacte, câte 1000 pe pagină, înseamnă 1000 de cereri, confortabil în bugetul de contacte, dar bătutul în buclă pe endpointurile de campanii sau de șabloane nu este.

De ce lista ta de suprimare trebuie migrată prima

Mută refuzurile înainte de a muta orice altceva.

Argumentul legal este simplu. Un contact care s-a dezabonat și-a retras consimțământul față de brandul tău. Retragerea aceea nu se resetează pentru că ai schimbat furnizorul. Sub GDPR, evidența consimțământului și a retragerii lui este obligația ta ca operator, iar sub CAN-SPAM un refuz trebuie onorat în zece zile lucrătoare și rămâne onorat pe termen nelimitat. Pierderea listei într-o migrare nu este un accident tehnic, este o abatere de conformitate cu urme scrise care arată spre tine.

Argumentul de livrabilitate este și mai dur în practică. Adresele suprimate sunt disproporționat de des ale oamenilor care s-au plâns, au avut hard bounce sau chiar au vrut să scape. Să le trimiți e-mailuri de pe un IP nou-nouț, fără reputație, este cea mai rapidă metodă cunoscută de a-ți vedea configurația nouă de trimitere limitată sau blocată în prima săptămână. Câteva mii de capcane de spam reciclate și de reclamanți pot anula o lună de încălzire atentă.

Așa că exportă explicit cohortele suprimate, în loc să speri că sunt subînțelese. Pe endpointul de export, actionForContacts acceptă unsubscribed pentru contactele blocate prin orice mijloc și unsubscribedPerList pentru contactele care au refuzat o listă anume. Fă o trecere separată pentru hardBounces per campanie. La intrarea într-o platformă nouă, importă acel fișier în lista ei de suprimare, nu într-o listă către care se trimite.

Brevo gestionează și cazul invers: acceptă importul unei liste de contacte blocate, iar API-ul de import primește valorile booleene emailBlacklist și smsBlacklist, astfel încât un fișier importat ajunge ca suprimat. Observă asimetria pe care Brevo are dreptate să o impună: contactele nu pot fi deblocate în masă, pentru că reabonarea în masă a cuiva care a cerut să fie lăsat în pace ar fi ilegală. Suprimarea este ușor de adăugat și deliberat greu de eliminat. Tratează asta ca pe comportamentul corect, nu ca pe un obstacol.

Listă de verificare pentru migrarea în afara Brevo

  1. Audit. Numără contactele, listele, segmentele, automatizările active, șabloanele și integrările. Notează care integrări scriu în Brevo, pentru că acelea sunt conductele pe care va trebui să le redirecționezi.
  2. Export. Contactele cu toate atributele plus statusul abonării, un fișier per listă sau un singur fișier care poartă _listIds, cohortele de suprimare ca fișiere separate, statisticile de campanie, evenimentele tranzacționale cât de departe permite fereastra de 90 de zile și codul HTML al șabloanelor.
  3. Arhivează ce expiră. Orice este limitat în timp (evenimente brute, jurnale) dispare odată ce fereastra se rotește. Stochează-l acum în propriul depozit de date sau în propriul spațiu de obiecte.
  4. Curăță și mapează. Elimină duplicatele, normalizează formatele de dată și de telefon și scrie o mapare explicită între coloane și câmpuri pentru noua platformă. Este și momentul natural să renunți la adresele care nu au interacționat de un an, ceea ce este mai ieftin decât să plătești încălzirea unei greutăți moarte. Ghidul nostru de curățare a listelor de e-mail acoperă pragurile.
  5. Încarcă prima dată suprimările. Importă refuzurile și hard bounce-urile în lista de suprimare a noii platforme, verifică dacă numerele se potrivesc cu exportul tău și abia apoi încarcă contactele către care se trimite.
  6. Încălzește. Începe cu segmentul cel mai angajat, crește volumul treptat și urmărește zilnic ratele de bounce și de reclamații. Ghidul nostru de livrabilitate a e-mailurilor are secvența în detaliu.
  7. Rulează în paralel. Ține Brevo activ și trimițând corespondența ta tranzacțională critică în timp ce noua platformă preia o parte tot mai mare din trimiterile de marketing. Nu le comuta pe amândouă deodată.
  8. Verifică. Reconciliază numărul de contacte, verifică punctual douăzeci de contacte câmp cu câmp, confirmă prin încercarea unei trimiteri de test că cele suprimate chiar sunt suprimate și compară o săptămână de volum trimis cu vechea platformă.
  9. Fă trecerea și păstrează o cale de întoarcere. Schimbă DNS-ul și endpointurile integrărilor într-o fereastră în care cineva stă cu ochii pe ele. Ține contul Brevo activ și plătit cel puțin un ciclu complet de facturare după trecere, cu fișierele exportate stocate în afara ambelor platforme. Acesta, și nu promisiunea unui furnizor, este planul tău real de revenire.

Migrarea în Brevo dinspre altă platformă

Aceeași listă de verificare rulează invers, cu trei observații specifice pentru Brevo.

Obține un export real de la furnizorul actual. Majoritatea platformelor îți dau contactele și câmpurile lor personalizate ca CSV. Cere explicit lista de suprimare și lista de bounce, care sunt adesea într-un export separat pe care oamenii uită să îl solicite. Dacă vii dintr-un model de preț per contact, compară cât vei plăti de fapt la intrare cu ghidul nostru de prețuri Brevo.

Mapează câmpurile înainte să încarci. Atributele Brevo au tipuri (text, număr, dată, boolean, categorie), iar o dată care ajunge într-un atribut de tip text nu va putea fi filtrată ulterior. Creează mai întâi atributele cu tipurile corecte, apoi importă.

Importă prin API orice are dimensiune reală. POST /v3/contacts/import acceptă CSV inline în fileBody, un tablou JSON în jsonBody, ambele plafonate în jur de 10 MB, sau un fișier la distanță prin fileUrl, plus listIds sau un obiect newList. updateExistingContacts are implicit valoarea true și potrivește după e-mail. Rulează un import cu emailBlacklist setat pe true pentru fișierul de suprimare, apoi un al doilea import pentru contactele către care se trimite. Scripturile complete și funcționale sunt în ghidul nostru despre importul contactelor CSV în Brevo cu un script.

Apoi reconstruiește ce nu s-a transferat: automatizări, segmente, formulare și șabloane. Trimite un test către câțiva furnizori de e-mail înainte să trimiți către cineva real.

Nu lăsa următoarea migrare să fie o prăpastie

Motivul pentru care migrarea unei platforme pare o prăpastie este că platforma a devenit sistemul de evidență. Istoricul comenzilor, starea abonaților și rezultatele campaniilor trăiesc în interiorul unui singur furnizor, iar mutarea lor înseamnă o evacuare.

Alternativa este să îți păstrezi propria sursă de adevăr și să lași platforma de trimitere să fie o destinație, nu un seif. Dacă datele magazinului tău, starea consimțământului și evenimentele de interacțiune se sincronizează continuu către propriile tale sisteme, schimbarea sau adăugarea unui canal devine o modificare de configurare, nu un proiect. Asta face Tajo între Brevo și stiva unui comerciant: ține datele curgând în ambele sensuri, ca platforma să nu fie niciodată singura copie.

Oricum ar fi, joburile de export descrise mai sus merită rulate periodic chiar de acum, indiferent dacă plănuiești sau nu să pleci. Cea mai ieftină migrare este aceea în care datele sunt deja în afara platformei în momentul în care iei decizia.

Întrebări Frecvente

Îmi pot exporta toate datele din Brevo?
Poți exporta contactele și atributele lor ca CSV, rapoartele de campanie ca CSV sau PDF, jurnalele de evenimente tranzacționale ca CSV și codul HTML al șabloanelor prin API. Structurile fluxurilor de automatizare și definițiile filtrelor de segment nu au nicio cale de export, așa că acelea se reconstruiesc manual.
Cum export contacte din Brevo?
Mergi la CRM, apoi la Contacts. Ca să exporți tot, asigură-te că nu este încărcată nicio listă, niciun segment și niciun filtru. Ca să exporți o singură listă sau un segment, apasă mai întâi pe Load a list or segment. Alege atributele dorite, alege virgula sau punctul și virgula ca separator, apoi apasă Start export și descarcă fișierul din clopoțelul de notificări.
În ce format exportă Brevo contactele?
CSV. Tu alegi separatorul de câmpuri, fie punct și virgulă, fie virgulă. Endpointul de export din API livrează tot un fișier CSV, iar exporturile de evenimente tranzacționale sosesc ca CSV, comprimate într-o arhivă cu mai multe fișiere CSV atunci când volumul este mare.
Îmi vine istoricul de interacțiune cu mine când plec de la Brevo?
Doar parțial. Statisticile la nivel de campanie se exportă ca rapoarte și poți exporta cei care au deschis, au dat clic, au avut bounce sau s-au dezabonat la o campanie anume. Jurnalele brute de evenimente tranzacționale sunt limitate la o fereastră de 90 de zile prin endpointul de raport de evenimente și la 7 zile prin jobul de export în masă, deci istoricul pe termen lung per contact trebuie arhivat înainte să pleci.
Trebuie să îmi migrez lista de dezabonări?
Da. Contactele care au refuzat corespondența ta au făcut asta cu tine, nu cu Brevo, deci obligația de suprimare urmează brandul tău către noua platformă. Să le mai trimiți e-mailuri este deopotrivă o expunere legală sub GDPR și CAN-SPAM și cea mai rapidă cale de a declanșa reclamații de spam pe un domeniu de trimitere nou.
Îmi pot păstra reputația de expeditor când schimb platforma?
Nu. Reputația se leagă de IP-urile de trimitere și de domeniul autentificat, nu de contul tău. Dacă noua platformă folosește alte IP-uri, o iei de la capăt cu încălzirea. Păstrarea aceluiași domeniu și a aceluiași selector DKIM conservă reputația domeniului, ceea ce ajută, dar pool-urile de IP-uri partajate resetează complet partea de IP.
Cât durează o migrare de la Brevo?
Exportul și importul propriu-zise durează de obicei sub o zi pentru conturi cu mai puțin de câteva sute de mii de contacte. Calendarul realist este de două până la șase săptămâni, pentru că atât durează încălzirea trimiterii și o rulare în paralel a automatizărilor tale cheie înainte să poți face în siguranță trecerea.
Există un API pentru exportul contactelor din Brevo?
Da. POST /v3/contacts/export pornește un job asincron, returnează un processId și livrează un CSV. Poți parcurge și GET /v3/contacts, cu până la 1000 de înregistrări per cerere, ceea ce este mai ușor de scriptat, dar mai lent pentru baze de date foarte mari.
Îmi pot importa lista de blocare în Brevo?
Da. Brevo acceptă importul unei liste de contacte blocate, iar API-ul de import acceptă opțiunile emailBlacklist și smsBlacklist, astfel încât un fișier importat ajunge ca suprimat, nu ca disponibil pentru trimitere. Fă asta înainte să îți imporți contactele către care poți trimite.

Solicită acces anticipat

Spune-ne prenumele și o adresă de e-mail sau un număr de telefon. Îți vom trimite detaliile de acces la Tajo.

detectare automată
Obține Brevo