{"id":12264,"date":"2026-08-10T14:36:00","date_gmt":"2026-08-10T14:36:00","guid":{"rendered":"https:\/\/www.mailcraft.eu\/?p=12264"},"modified":"2026-08-09T19:01:52","modified_gmt":"2026-08-09T19:01:52","slug":"import-kontaktow-csv","status":"publish","type":"post","link":"https:\/\/www.mailcraft.eu\/pl\/import-kontaktow-csv\/","title":{"rendered":"Import CSV z mapowaniem p\u00f3l bez psucia bazy"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Import CSV z mapowaniem p\u00f3l wygl\u0105da na czynno\u015b\u0107 techniczn\u0105 i nudn\u0105. Do momentu, w kt\u00f3rym zepsuje list\u0119, na kt\u00f3rej stoi ca\u0142a komunikacja firmy. Kilka minut nieuwagi przy wgrywaniu pliku potrafi kosztowa\u0107 tygodnie odbudowy reputacji nadawcy. Piszemy o tym z perspektywy zespo\u0142u, kt\u00f3ry utrzymuje w\u0142asn\u0105 flot\u0119 serwer\u00f3w wysy\u0142kowych i ogl\u0105da skutki cudzych import\u00f3w w logach dostarcze\u0144. Poni\u017cej procedura, kt\u00f3r\u0105 sami stosujemy przy migracjach baz do MailCraft.<\/p>\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_86 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<label for=\"ez-toc-cssicon-toggle-item-6a7c6a5995583\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"ez-toc-cssicon\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #102830;color:#102830\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #102830;color:#102830\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-6a7c6a5995583\"  \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.mailcraft.eu\/pl\/import-kontaktow-csv\/#Co_sie_psuje_przy_imporcie_CSV_i_dlaczego\" >Co si\u0119 psuje przy imporcie CSV i dlaczego<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.mailcraft.eu\/pl\/import-kontaktow-csv\/#Przygotowanie_pliku_przed_importem\" >Przygotowanie pliku przed importem<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.mailcraft.eu\/pl\/import-kontaktow-csv\/#Mapowanie_pol_klucz_typy_wartosci_domyslne\" >Mapowanie p\u00f3l: klucz, typy, warto\u015bci domy\u015blne<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.mailcraft.eu\/pl\/import-kontaktow-csv\/#Personalizacja_a_puste_komorki_%E2%80%93_jak_testowac_podstawienia_przed_wysylka\" >Personalizacja a puste kom\u00f3rki &#8211; jak testowa\u0107 podstawienia przed wysy\u0142k\u0105<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.mailcraft.eu\/pl\/import-kontaktow-csv\/#Deduplikacja_i_aktualizacja_istniejacych_rekordow\" >Deduplikacja i aktualizacja istniej\u0105cych rekord\u00f3w<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.mailcraft.eu\/pl\/import-kontaktow-csv\/#Co_robic_z_konfliktem_danych_%E2%80%93_regula_%E2%80%9Enowsze_wygrywa%E2%80%9D\" >Co robi\u0107 z konfliktem danych &#8211; regu\u0142a \u201enowsze wygrywa&#8221;<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.mailcraft.eu\/pl\/import-kontaktow-csv\/#Walidacja_i_zgody_RODO_oraz_PKE_artykul_398\" >Walidacja i zgody: RODO oraz PKE artyku\u0142 398<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.mailcraft.eu\/pl\/import-kontaktow-csv\/#Import_probny_czyli_jak_nie_zaorac_bazy_jednym_kliknieciem\" >Import pr\u00f3bny, czyli jak nie zaora\u0107 bazy jednym klikni\u0119ciem<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.mailcraft.eu\/pl\/import-kontaktow-csv\/#Po_imporcie_wysylka_warmup_i_obserwacja\" >Po imporcie: wysy\u0142ka, warmup i obserwacja<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.mailcraft.eu\/pl\/import-kontaktow-csv\/#Podsumowanie\" >Podsumowanie<\/a><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Co_sie_psuje_przy_imporcie_CSV_i_dlaczego\"><\/span>Co si\u0119 psuje przy imporcie CSV i dlaczego<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Skutki z\u0142ego importu s\u0105 zawsze te same. Podwojone rekordy, bo klucz dopasowania poszed\u0142 na kolumn\u0119 z imieniem zamiast na adres. Imiona w polu nazwiska, bo kolumny w pliku by\u0142y w innej kolejno\u015bci ni\u017c w bazie. I personalizacja, kt\u00f3ra podstawia pustk\u0119 i wysy\u0142a powitanie bez imienia do po\u0142owy listy.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Baza kontakt\u00f3w to nie arkusz kalkulacyjny. B\u0142\u0119dny wiersz w arkuszu jest po prostu brzydki. B\u0142\u0119dny wiersz w bazie wysy\u0142kowej to potencjalny bounce. Twarde odbicia po wgraniu starej, nieczyszczonej listy potrafi\u0105 wywo\u0142a\u0107 throttling u du\u017cych filtr\u00f3w &#8211; najpierw spowalniaj\u0105 przyjmowanie poczty, potem odrzucaj\u0105 po\u0142\u0105czenia. Wychodzenie z tego liczy si\u0119 w tygodniach ostro\u017cnej wysy\u0142ki, nie w jednym telefonie do supportu.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Osobna warstwa problemu to zgody. Plik bez kolumny ze \u017ar\u00f3d\u0142em i dat\u0105 zgody psuje nie tylko dane, ale i zgodno\u015b\u0107 prawn\u0105 ka\u017cdej kolejnej kampanii. Po imporcie nie odtworzysz ju\u017c, sk\u0105d wzi\u0105\u0142 si\u0119 dany adres. Nigdy.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Zasada z naszej praktyki:<\/strong> import jest operacj\u0105 na produkcji. Nie \u0107wiczeniem na brudno, nie testem, nie \u201ezobaczymy, co wyjdzie&#8221;. Traktuj go jak wdro\u017cenie zmiany na \u017cywym systemie.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Przygotowanie_pliku_przed_importem\"><\/span>Przygotowanie pliku przed importem<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Zacznij od kodowania. Plik ma by\u0107 w UTF-8 bez BOM. Inaczej polskie znaki diakrytyczne rozsypi\u0105 si\u0119 ju\u017c na etapie podgl\u0105du, a znacznik BOM doklei si\u0119 do nazwy pierwszej kolumny i zepsuje jej dopasowanie. Drugi punkt: separator. Standard CSV m\u00f3wi o przecinku, ale polska wersja Excela zapisuje \u015brednik, bo przecinek pe\u0142ni u nas rol\u0119 separatora dziesi\u0119tnego. Sprawd\u017a, co masz naprawd\u0119, zamiast zak\u0142ada\u0107.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pola z przecinkiem w \u015brodku, na przyk\u0142ad adres pocztowy, musz\u0105 by\u0107 obj\u0119te cudzys\u0142owem. To samo dotyczy warto\u015bci wielowierszowych. Nag\u0142\u00f3wek ma by\u0107 jeden, w pierwszym wierszu, bez pustych kolumn i bez scalonych kom\u00f3rek. Scalona kom\u00f3rka po eksporcie zamienia si\u0119 w rozjechany wiersz.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Kodowanie:<\/strong> UTF-8 bez BOM, znaki diakrytyczne czytelne w surowym pliku<\/li>\n<li><strong>Separator:<\/strong> jeden, konsekwentny w ca\u0142ym pliku<\/li>\n<li><strong>Nag\u0142\u00f3wki:<\/strong> unikalne, bez spacji na ko\u0144cu, bez duplikat\u00f3w nazw<\/li>\n<li><strong>Daty:<\/strong> format ISO, czyli RRRR-MM-DD<\/li>\n<li><strong>Telefony:<\/strong> jednolity zapis, najlepiej z prefiksem kraju, bez spacji i my\u015blnik\u00f3w<\/li>\n<li><strong>Koniec pliku:<\/strong> zero pustych wierszy pod ostatnim rekordem<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Tip:<\/strong> otw\u00f3rz plik w edytorze tekstu, nie w arkuszu. Zobaczysz surow\u0105 struktur\u0119 zamiast interpretacji Excela, kt\u00f3ry po cichu obcina zera wiod\u0105ce i zamienia daty na w\u0142asny format.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Mapowanie_pol_klucz_typy_wartosci_domyslne\"><\/span>Mapowanie p\u00f3l: klucz, typy, warto\u015bci domy\u015blne<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Kluczem g\u0142\u00f3wnym jest adres e-mail i tylko adres. Przed dopasowaniem trzeba go znormalizowa\u0107: obci\u0105\u0107 bia\u0142e znaki z obu stron, sprowadzi\u0107 do ma\u0142ych liter, wywali\u0107 znaki niewidoczne, kt\u00f3re lubi\u0105 wje\u017cd\u017ca\u0107 razem z kopiowaniem z arkusza. Bez tego \u201eJan@Firma.pl &#8221; i \u201ejan@firma.pl&#8221; to dla systemu dwa r\u00f3\u017cne kontakty.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mapuj kolumn\u0119 po kolumnie, r\u0119cznie. Automat dopasowuj\u0105cy po nazwach nag\u0142\u00f3wka wygl\u0105da wygodnie, ale nag\u0142\u00f3wek \u201ename&#8221; bywa imieniem, bywa nazw\u0105 firmy, a czasem siedzi w nim pe\u0142ne imi\u0119 i nazwisko w jednym polu. Zgadywanie kosztuje tu wi\u0119cej ni\u017c minuta klikania.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pilnuj typ\u00f3w danych. Tekst, liczba, data, warto\u015b\u0107 logiczna zgody &#8211; ka\u017cde z tych p\u00f3l zachowuje si\u0119 inaczej przy filtrowaniu i segmentacji. Daty w formacie regionalnym to \u017ar\u00f3d\u0142o cichych b\u0142\u0119d\u00f3w, bo 03.04 znaczy co innego po obu stronach Atlantyku. A kolumny, kt\u00f3rych nie umiesz przypisa\u0107? Zostaw niezmapowane. Wpychanie ich na si\u0142\u0119 do istniej\u0105cego pola zamienia porz\u0105dn\u0105 baz\u0119 w \u015bmietnik. Zakres p\u00f3l niestandardowych, filtr\u00f3w i regu\u0142 segmentacji opisuje <a href=\"https:\/\/www.mailcraft.eu\/pl\/features\/\">zestawienie funkcji platformy<\/a>, a samo <a href=\"https:\/\/www.mailcraft.eu\/pl\/segmentacja-bazy-mailingowej\/\">\u0142\u0105czenie warunk\u00f3w AND, OR i NOT w segmencie<\/a> pokazujemy krok po kroku osobno.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Personalizacja_a_puste_komorki_%E2%80%93_jak_testowac_podstawienia_przed_wysylka\"><\/span>Personalizacja a puste kom\u00f3rki &#8211; jak testowa\u0107 podstawienia przed wysy\u0142k\u0105<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ustaw warto\u015b\u0107 domy\u015bln\u0105 dla ka\u017cdej zmiennej u\u017cywanej w tre\u015bci. Bez fallbacku zamiast \u201eCze\u015b\u0107 Aniu&#8221; p\u00f3jdzie \u201eCze\u015b\u0107 ,&#8221;. Po zmapowaniu przefiltruj list\u0119 po pustym polu imienia i wy\u015blij test w\u0142a\u015bnie na te rekordy. Sprawdzenie podstawie\u0144 na kompletnym kontakcie nie dowodzi niczego.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Deduplikacja_i_aktualizacja_istniejacych_rekordow\"><\/span>Deduplikacja i aktualizacja istniej\u0105cych rekord\u00f3w<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Przy kontakcie, kt\u00f3ry ju\u017c siedzi w bazie, masz trzy strategie: pomi\u0144 istniej\u0105ce, nadpisz wszystkie pola, uzupe\u0142nij tylko puste. Domy\u015blnie wybieraj uzupe\u0142nianie pustych. Nadpisanie hurtem kasuje dane zebrane wcze\u015bniej z formularzy, gdzie ludzie wpisali swoje imi\u0119 sami &#8211; a plik z zewn\u0105trz cz\u0119sto ma to samo pole puste albo w gorszej jako\u015bci.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Duplikaty siedz\u0105 te\u017c w samym pliku, nie tylko w relacji do bazy. Ten sam adres w dw\u00f3ch wierszach, w ka\u017cdym inne imi\u0119 i inna firma. System musi wiedzie\u0107, kt\u00f3ry wiersz wygrywa, zanim zacznie zapisywa\u0107. Osobny temat to aliasy i plus-adresy w stylu jan+newsletter@firma.pl. Technicznie trafiaj\u0105 do tej samej skrzynki, formalnie s\u0105 innym adresem i inaczej reaguj\u0105 na filtrowanie po stronie odbiorcy. My traktujemy je jako osobne kontakty, chyba \u017ce klient \u015bwiadomie zdecyduje inaczej.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Rekord\u00f3w wypisanych nie usuwaj nigdy. Adres z listy rezygnacji musi na niej zosta\u0107 tak\u017ce po ponownym imporcie, bo inaczej wr\u00f3ci do wysy\u0142ki jako \u201enowy&#8221; kontakt. Najprostszy spos\u00f3b na skarg\u0119 i najcz\u0119stszy b\u0142\u0105d przy migracji mi\u0119dzy systemami.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Co_robic_z_konfliktem_danych_%E2%80%93_regula_%E2%80%9Enowsze_wygrywa%E2%80%9D\"><\/span>Co robi\u0107 z konfliktem danych &#8211; regu\u0142a \u201enowsze wygrywa&#8221;<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Brzmi rozs\u0105dnie, ale dzia\u0142a wy\u0142\u0105cznie wtedy, gdy w pliku jest kolumna z dat\u0105 aktualizacji rekordu. Bez niej \u201enowsze&#8221; znaczy tylko \u201ewgrane p\u00f3\u017aniej&#8221;, co bywa dok\u0142adnie odwrotno\u015bci\u0105 prawdy.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Walidacja_i_zgody_RODO_oraz_PKE_artykul_398\"><\/span>Walidacja i zgody: RODO oraz PKE artyku\u0142 398<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Walidacja sk\u0142adni to pierwszy krok, nie ostatni. Poprawnie zbudowany adres mo\u017ce wskazywa\u0107 na domen\u0119, kt\u00f3ra nie istnieje albo nie ma rekordu MX. Sprawdzaj po kolei: sk\u0142adni\u0119, istnienie domeny, obecno\u015b\u0107 MX. Ca\u0142y ten \u0142a\u0144cuch da si\u0119 przej\u015b\u0107 <a href=\"https:\/\/www.mailcraft.eu\/pl\/weryfikacja-adresow-email\/\">bez wysy\u0142ania cho\u0107by jednej wiadomo\u015bci testowej<\/a>. Adresy funkcyjne typu info@, biuro@, kontakt@ przepuszczaj \u015bwiadomie &#8211; trafiaj\u0105 do wielu os\u00f3b, generuj\u0105 skargi i maj\u0105 s\u0142abe zaanga\u017cowanie, wi\u0119c ci\u0105gn\u0105 statystyki listy w d\u00f3\u0142.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Prawo nie robi tu wyj\u0105tku dla B2B. Zgoda marketingowa jest wymagana tak\u017ce przy wysy\u0142ce na adresy firmowe, a sam NIP w bazie niczego nie legalizuje. Prawo komunikacji elektronicznej, w szczeg\u00f3lno\u015bci artyku\u0142 398, wymaga uprzedniej zgody odbiorcy na przesy\u0142anie informacji handlowej, a RODO nakazuje umie\u0107 t\u0119 zgod\u0119 wykaza\u0107.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dlatego do importu dok\u0142adaj kolumny dowodowe:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u017ar\u00f3d\u0142o zgody, czyli konkretny formularz, akcja albo punkt styku<\/li>\n<li>data i godzina jej udzielenia<\/li>\n<li>tre\u015b\u0107 klauzuli w brzmieniu z momentu zapisu<\/li>\n<li>adres IP, je\u015bli zgoda pochodzi z formularza online<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Kupionych baz nie wpuszczamy na nasz\u0105 flot\u0119. To nie kwestia zasad marketingowych, tylko zgodno\u015bci z prawem i ochrony reputacji adres\u00f3w IP, z kt\u00f3rych wysy\u0142aj\u0105 wszyscy nasi klienci. Je\u015bli chcesz zobaczy\u0107, jak wygl\u0105da obs\u0142uga list zgodna z przepisami w praktyce, sprawd\u017a <a href=\"https:\/\/mailcraft.eu\/\" target=\"_blank\" rel=\"noopener\">platform\u0119 do email marketingu MailCraft<\/a> i spos\u00f3b, w jaki prowadzimy tam ewidencj\u0119 zg\u00f3d.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Import_probny_czyli_jak_nie_zaorac_bazy_jednym_kliknieciem\"><\/span>Import pr\u00f3bny, czyli jak nie zaora\u0107 bazy jednym klikni\u0119ciem<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Kopia zapasowa listy powstaje przed importem, nie po. Odwrotna kolejno\u015b\u0107 kosztuje du\u017co nerw\u00f3w i zwykle ko\u0144czy si\u0119 r\u0119cznym sklejaniem danych z eksport\u00f3w. Potem wgraj pr\u00f3bk\u0119: dwadzie\u015bcia do pi\u0119\u0107dziesi\u0119ciu wierszy na osobn\u0105 list\u0119 testow\u0105. Ogl\u0105daj gotowe rekordy w bazie, a nie ekran podgl\u0105du mapowania &#8211; podgl\u0105d pokazuje intencj\u0119, rekord pokazuje wynik.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Zr\u00f3b kopi\u0119 zapasow\u0105 listy docelowej.<\/li>\n<li>Zaimportuj pr\u00f3bk\u0119 na osobn\u0105 list\u0119 testow\u0105.<\/li>\n<li>Obejrzyj kilka gotowych rekord\u00f3w pole po polu.<\/li>\n<li>Wy\u015blij test personalizacji, w tym na kontakty z pustymi polami.<\/li>\n<li>Uruchom pe\u0142ny import.<\/li>\n<li>Skontroluj liczb\u0119 rekord\u00f3w, duplikaty i odrzuty po imporcie.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Tip:<\/strong> importuj do nowego segmentu, nie do listy g\u0142\u00f3wnej. Trzymaj go osobno, dop\u00f3ki nie zobaczysz pierwszych statystyk dostarcze\u0144. Segment \u0142atwo wy\u0142\u0105czy\u0107, wymieszan\u0105 list\u0119 trzeba potem rozpl\u0105tywa\u0107.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Przyznajemy si\u0119 do ograniczenia: cofni\u0119cie importu jednym przyciskiem to funkcja, kt\u00f3r\u0105 mamy na roadmapie, a nie w panelu. Dzi\u015b ratunkiem jest kopia zapasowa i osobna lista. Wolimy powiedzie\u0107 to wprost, ni\u017c pozwoli\u0107 ci na import bez zabezpieczenia.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Po_imporcie_wysylka_warmup_i_obserwacja\"><\/span>Po imporcie: wysy\u0142ka, warmup i obserwacja<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Du\u017ca porcja nowych adres\u00f3w zmienia profil ruchu wychodz\u0105cego. Filtry po stronie odbiorc\u00f3w to widz\u0105 i reaguj\u0105, nawet je\u015bli tre\u015b\u0107 jest identyczna jak w poprzednich kampaniach. Pierwsz\u0105 wysy\u0142k\u0119 do \u015bwie\u017cego segmentu roz\u0142\u00f3\u017c na mniejsze partie, zamiast strzela\u0107 ca\u0142\u0105 list\u0105 naraz. Obserwuj reakcj\u0119 po ka\u017cdej partii i dopiero potem zwi\u0119kszaj wolumen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Warstwa techniczna musi sta\u0107 przed importem, nie po nim. SPF, DKIM, DMARC, sp\u00f3jny Return-Path zgodny z domen\u0105 podpisu, poprawny rekord PTR dla adresu wysy\u0142kowego. Naprawianie tego w trakcie kampanii oznacza, \u017ce cz\u0119\u015b\u0107 wysy\u0142ki ju\u017c posz\u0142a z gorszym wynikiem.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">W pierwszych wysy\u0142kach patrz na cztery rzeczy: twarde bounce, mi\u0119kkie bounce, skargi oraz odsetek otwar\u0107 w podziale na \u017ar\u00f3d\u0142o importu. Ten podzia\u0142 podpowiada, kt\u00f3ra partia danych by\u0142a s\u0142aba. Rekordy generuj\u0105ce twarde odbicie wy\u0142\u0105czaj od razu, nie przy nast\u0119pnej kampanii &#8211; powt\u00f3rzona wysy\u0142ka na nieistniej\u0105c\u0105 skrzynk\u0119 to czytelny sygna\u0142 dla filtra.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Z do\u015bwiadczenia w\u0142asnej floty serwer\u00f3w wysy\u0142kowych: \u015bwie\u017co zaimportowany segment prowadzimy osobno, jak nowy ruch. Dopiero po kilku czystych kampaniach \u0142\u0105czymy go z reszt\u0105 bazy.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Podsumowanie\"><\/span>Podsumowanie<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Import CSV z mapowaniem p\u00f3l jest bezpieczny wtedy, gdy jest nudny i powtarzalny. Ca\u0142a sztuka polega na tym, \u017ceby za ka\u017cdym razem robi\u0107 to samo, w tej samej kolejno\u015bci, bez skr\u00f3t\u00f3w pod presj\u0105 czasu.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Trzy filary zostaj\u0105 bez zmian. Czysty plik, przygotowany i sprawdzony w surowej postaci. \u015awiadome mapowanie z kluczem osadzonym na znormalizowanym adresie. Import pr\u00f3bny przed pe\u0142nym, na osobnej li\u015bcie, z testem personalizacji.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Zgoda i jej dow\u00f3d nie s\u0105 dodatkiem do kontaktu, tylko jego cz\u0119\u015bci\u0105 &#8211; r\u00f3wnie wa\u017cn\u0105 co adres. Baza bez tej informacji jest niekompletna, oboj\u0119tnie ile ma rekord\u00f3w. Reputacja nadawcy zale\u017cy od jako\u015bci listy bardziej ni\u017c od tre\u015bci kampanii, bo najlepszy tekst nie obroni wysy\u0142ki na adresy, kt\u00f3re nie istniej\u0105 albo nikt o ni\u0105 nie prosi\u0142.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Je\u015bli planujesz migracj\u0119 wi\u0119kszej bazy, napisz do naszego zespo\u0142u. Przejdziemy przez plik i mapowanie razem, zanim cokolwiek trafi na produkcj\u0119. Gdy dane maj\u0105 p\u0142yn\u0105\u0107 automatycznie z CRM-u albo sklepu zamiast z pliku, warto zamiast tego rozwa\u017cy\u0107 <a href=\"https:\/\/www.mailcraft.eu\/pl\/integrations\/\">po\u0142\u0105czenie bazy przez integracj\u0119<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Import CSV z mapowaniem p\u00f3l wygl\u0105da na czynno\u015b\u0107 techniczn\u0105 i nudn\u0105. Do momentu, w kt\u00f3rym zepsuje list\u0119, na kt\u00f3rej stoi ca\u0142a komunikacja firmy. Kilka minut nieuwagi przy wgrywaniu pliku potrafi kosztowa\u0107 tygodnie odbudowy reputacji nadawcy. Piszemy o tym z perspektywy&#8230;<\/p>\n","protected":false},"author":1,"featured_media":12262,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_uag_custom_page_level_css":"","footnotes":""},"categories":[90],"tags":[292,266,291,261],"class_list":["post-12264","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-list-management","tag-baza-kontaktow","tag-e-mail-marketing","tag-import-csv","tag-poradnik"],"acf":[],"uagb_featured_image_src":{"full":["https:\/\/www.mailcraft.eu\/wp-content\/uploads\/2026\/08\/import-csv-mapowanie-pol-bez-psucia-bazy-493.jpg",1200,800,false],"thumbnail":["https:\/\/www.mailcraft.eu\/wp-content\/uploads\/2026\/08\/import-csv-mapowanie-pol-bez-psucia-bazy-493-150x150.jpg",150,150,true],"medium":["https:\/\/www.mailcraft.eu\/wp-content\/uploads\/2026\/08\/import-csv-mapowanie-pol-bez-psucia-bazy-493-300x200.jpg",300,200,true],"medium_large":["https:\/\/www.mailcraft.eu\/wp-content\/uploads\/2026\/08\/import-csv-mapowanie-pol-bez-psucia-bazy-493-768x512.jpg",768,512,true],"large":["https:\/\/www.mailcraft.eu\/wp-content\/uploads\/2026\/08\/import-csv-mapowanie-pol-bez-psucia-bazy-493-1024x683.jpg",1024,683,true],"1536x1536":["https:\/\/www.mailcraft.eu\/wp-content\/uploads\/2026\/08\/import-csv-mapowanie-pol-bez-psucia-bazy-493.jpg",1200,800,false],"2048x2048":["https:\/\/www.mailcraft.eu\/wp-content\/uploads\/2026\/08\/import-csv-mapowanie-pol-bez-psucia-bazy-493.jpg",1200,800,false],"blog-featured":["https:\/\/www.mailcraft.eu\/wp-content\/uploads\/2026\/08\/import-csv-mapowanie-pol-bez-psucia-bazy-493-1200x534.jpg",1200,534,true],"woocommerce_thumbnail":["https:\/\/www.mailcraft.eu\/wp-content\/uploads\/2026\/08\/import-csv-mapowanie-pol-bez-psucia-bazy-493-300x300.jpg",300,300,true],"woocommerce_single":["https:\/\/www.mailcraft.eu\/wp-content\/uploads\/2026\/08\/import-csv-mapowanie-pol-bez-psucia-bazy-493-600x400.jpg",600,400,true],"woocommerce_gallery_thumbnail":["https:\/\/www.mailcraft.eu\/wp-content\/uploads\/2026\/08\/import-csv-mapowanie-pol-bez-psucia-bazy-493-100x100.jpg",100,100,true]},"uagb_author_info":{"display_name":"Krzysztof Balicki","author_link":"https:\/\/www.mailcraft.eu\/pl\/author\/websystems\/"},"uagb_comment_info":0,"uagb_excerpt":"Import CSV z mapowaniem p\u00f3l wygl\u0105da na czynno\u015b\u0107 techniczn\u0105 i nudn\u0105. Do momentu, w kt\u00f3rym zepsuje list\u0119, na kt\u00f3rej stoi ca\u0142a komunikacja firmy. Kilka minut nieuwagi przy wgrywaniu pliku potrafi kosztowa\u0107 tygodnie odbudowy reputacji nadawcy. Piszemy o tym z perspektywy...","_links":{"self":[{"href":"https:\/\/www.mailcraft.eu\/pl\/wp-json\/wp\/v2\/posts\/12264","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mailcraft.eu\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mailcraft.eu\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mailcraft.eu\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mailcraft.eu\/pl\/wp-json\/wp\/v2\/comments?post=12264"}],"version-history":[{"count":2,"href":"https:\/\/www.mailcraft.eu\/pl\/wp-json\/wp\/v2\/posts\/12264\/revisions"}],"predecessor-version":[{"id":12333,"href":"https:\/\/www.mailcraft.eu\/pl\/wp-json\/wp\/v2\/posts\/12264\/revisions\/12333"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.mailcraft.eu\/pl\/wp-json\/wp\/v2\/media\/12262"}],"wp:attachment":[{"href":"https:\/\/www.mailcraft.eu\/pl\/wp-json\/wp\/v2\/media?parent=12264"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mailcraft.eu\/pl\/wp-json\/wp\/v2\/categories?post=12264"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mailcraft.eu\/pl\/wp-json\/wp\/v2\/tags?post=12264"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}