Skip to content

Import kontaktów z CSV

Import CSV to najszybszy sposób na przeniesienie dużej ilości kontaktów do GoHighLevel. Ten tutorial przeprowadzi Cię przez cały proces krok po kroku.

Kiedy używać importu CSV?

  • Migrujesz z innego CRM (ActiveCampaign, HubSpot, Mailchimp)
  • Masz listę kontaktów w Excel/Google Sheets
  • Batch dodawanie po evencie (setki wizytówek)
  • Klient przekazuje Ci swoją bazę
  • Consolidating dane z wielu sources

Przygotowanie pliku CSV

Krok 1: Format pliku

GHL accepts:

  • CSV (Comma Separated Values) - preferred ✅
  • TXT z delimiters
  • Excel można przekonwertować na CSV

W Excel/Google Sheets: File →Save As → CSV (Comma delimited) (*.csv)

Krok 2: Struktura kolumn

Wymagane kolumny: Przynajmniej JEDNA z tych:

  • Email
  • Phone
  • Last Name + First Name

Zalecane kolumny:

csv
First Name, Last Name, Email, Phone, Company, Address, City, State, Postal Code, Country, Tags, Source

Przykładowy plik CSV:

csv
First Name,Last Name,Email,Phone,Company,Tags,Source
Jan,Kowalski,jan@example.com,+48600123456,ABC Corp,"vip,customer",website
Anna,Nowak,anna@test.pl,+48601234567,XYZ Sp zoo,"lead,warm",referral

Krok 3: Formatowanie danych

Email:

  • Lowercase: jan@example.com
  • Validated (check for typos)
  • No spaces

Phone:

  • Z kodem kraju: +48600123456
  • Consistent format w całym pliku
  • Remove dashes/spaces w numerze (lub keep consistent)

Tags:

  • Separated by pipe: tag1|tag2|tag3
  • LUB comma w cudzysłowach: "tag1,tag2,tag3"
  • Lowercase recommended: hot-lead|marketing

Date fields:

  • Format: YYYY-MM-DD (2026-02-17) - ISO standard
  • LUB: MM/DD/YYYY (02/17/2026) - US format
  • Consistent throughout file

Krok 4: Cleaning data

Przed importem:

Remove duplicates:

Excel: Data → Remove Duplicates
Sheets: Data → Data cleanup → Remove duplicates

Fix formatting issues:

  • Extra spaces (trim)
  • Wypełnij na puste cells (lub usun puste rows)
  • Fix encoding issues (special Polish characters: ą, ę, ć, ł, ń, ó, ś, ź, ż)

Validate emails: Use tool like:

  • ZeroBounce
  • NeverBounce
  • EmailListVerify

Removes invalid emails (reduces bounce rate później).

Proces importu w GHL

Krok po kroku

1. Wejdź w odpowiednie sub-konto

Upewnij się że jesteś w właściwym sub-account dla klienta.

2. Otwórz Import Tool

Contacts → prawy górny róg → three dots (⋮) → Import Contacts

LUB: Contacts → Import button (depends on version)

3. Upload pliku CSV

  • Click Choose File lub drag & drop
  • Select Twój przygotowany CSV file
  • Click Upload

GHL process file i pokaże preview.

4. Mapowanie kolumn (Column Mapping)

To NAJWAŻNIEJSZY krok!

GHL pokazuje:

  • Kolumny z Twojego CSV (left)
  • Pola GHL (right)
  • Auto-match (GHL próbuje guess)

Sprawdź każde mapowanie:

CSV Column          →    GHL Field
First Name          →    First Name ✅
Last Name           →    Last Name ✅
Email               →    Email ✅
Phone               →    Phone ✅
Company             →    Company Name ✅
Tags                →    Tags ✅

Custom Fields: Jeśli masz kolumny które nie matchują standard fields:

  1. Create custom field first (Settings → Custom Fields)
  2. Wróć do importu
  3. Map do custom field

Skip columns: Jeśli kolumna nie jest potrzebna, zostaw bez mappingu.

5. Import Options

Duplicate Handling: Co robić gdy contact już istnieje (matching email/phone)?

  • Skip duplicates - zostaw existing, don't import ✅ (safest)
  • Update existing - overwrite existing data z nowym z CSV (careful!)
  • Create duplicate - create second contact (usually bad idea)

Uwaga

"Update existing" OVERWRITE current data. Use tylko jeśli pewien że CSV ma newest data.

Tags:

  • Import tags from CSV ✅
  • Add additional tag do all imported (np. import-2026-02)

Workflow Trigger:

  • Opcjonalnie: Trigger specific workflow dla wszystkich imported contacts
  • Use to send welcome email, add to nurture sequence, etc.

6. Review i Confirm

  • GHL pokazuje summary:
    • X contacts będzie imported
    • Y duplicates skip/update
    • Mapping preview
  • Double-check wszystko
  • Click Start Import

7. Monitoring

  • Import runs w tle (background)
  • Duże pliki (10k+ contacts) mogą zająć kilka minut
  • Receive notification gdy zakończone
  • Check Activity Feed dla statusu

Po imporcie

1. Verify Import

  • Go to Contacts
  • Filter by tag (jeśli dodałeś import tag)
  • Spot check kilka contacts:
    • Czy wszystkie fields populated correctly?
    • Tags assigned?
    • Custom fields OK?

2. Handle Failed Imports

Jeśli niektóre contacts failed:

  • GHL generuje error report
  • Download i sprawdź issues:
    • Invalid email format
    • Missing required fields
    • Duplicate handling conflicts
  • Fix CSV i re-import tylko failed ones

3. Clean Up

  • Remove temporary import tag (jeśli użyłeś)
  • Merge any accidental duplicates (tutorial 23)

Mapowanie złożonych scenariuszy

Scenario 1: Multiple Tags

W CSV:

csv
Email,Tags
jan@test.pl,"hot-lead|vip|interested-in-premium"

Mapping:

  • Map "Tags" column → "Tags" field
  • Delimiter: Pipe | LUB Comma , (specify w options)

Scenario 2: Custom Fields

Masz w CSV:

csv
Email,Budget,Interest Level,Preferred Contact Time
jan@test.pl,5000-10000,High,Morning

Before import:

  1. Settings → Custom Fields
  2. Create:
    • "Budget" (Dropdown: <5k, 5-10k, 10-20k, 20k+)
    • "Interest Level" (Dropdown: Low, Medium, High)
    • "Preferred Contact Time" (Text)
  3. Wróć do importu
  4. Map do tych custom fields

Scenario 3: Address Fields

Pełny adres w jednym polu:

csv
Email,Address
jan@test.pl,"ul. Marszałkowska 1, 00-624 Warszawa, Poland"

Recommendations:

  • Jeśli możliwe, split na osobne kolumny:
    • Street Address
    • City
    • State/Province
    • Postal Code
    • Country
  • Daje lepszą searchability i filtering

Scenario 4: Date Fields

Birthday,Last Purchase Date:

csv
Email,Birthday,Last Contact
jan@test.pl,1985-03-15,2025-12-01

Format:

  • Use ISO: YYYY-MM-DD
  • GHL auto-detected most date formats
  • Verify po imporcie że parsed correctly

Advanced CSV Techniques

Multi-valued Fields

Tags Z różnych sources:

Zamiast jednej kolumny "Tags", możesz mieć:

csv
Email,Source Tag,Status Tag,Interest Tag
jan@test.pl,facebook,hot-lead,premium-package

During import:

  • Map wszystkie do "Tags"
  • GHL concatenate

Conditional Tagging

W preprocessing (before import):

Excel formula to conditionally add tags:

excel
=IF(Budget>10000,"high-budget","standard-budget")

Create "Budget Tag" column uyując formula, potem import.

Encoding Issues

Problem: Polish characters (ą,ę,ł,ń,ó) pokazują się as gibberish.

Solution:

  1. Excel: Save as CSV UTF-8 (not standard CSV)
  2. Google Sheets: Download as CSV automatically UTF-8
  3. Notepad++: Encoding → Convert to UTF-8

Best Practices Importu

1. Test Import First

Always:

  1. Create test CSV z 5-10 contacts
  2. Import do test sub-account (або sandbox environment)
  3. Verify everything works
  4. Tylko potem import full list

2. Batch Dużych List

Jeśli masz 50k+ contacts:

  • Split na multiple files (10k each)
  • Import w batches
  • Reduced risk błędy
  • Sprawdzasz każdy batch before next

3. Add Import Date Tag

Zawsze dodaj tag:

import-2026-02-17

Dlaczego:

  • Easy identyfikacja imported batch
  • Troubleshooting później
  • Segmentacja dla specific campaigns
  • Tracking źródła

4. Backup Before Update

Jeśli robisz "Update Existing":

  1. Export current contacts first (backup!)
  2. Potem import z update
  3. Jeśli coś pójdzie źle, masz backup do restore

5. Document Mapping

Screenshot lub notes:

  • Które kolumny mapped gdzie
  • Custom fields użyte
  • Tags dodane
  • Date importu

Helpful dla future imports lub troubleshooting.

6. Clean Data Zewnętrz czasz BeFORE Import

Niczyść w CSV before uploading:

  • Invalid emails
  • Duplicates within file
  • Formatting consistency
  • Missing krityczne fields

Jest łatwiej fix w Excel niż w GHL po imporcie.

Troubleshooting

Problem: "Invalid File Format"

Możliwe przyczyny:

  • Nie jest prawdziwy CSV (może być Excel .xlsx nazwany .csv)
  • Encoding issue (non-UTF-8)
  • Corrupt file

Solution:

  • Re-save jako CSV UTF-8
  • Open w Notepad++ check format
  • Try different program (Excel → Google Sheets)

Problem: "Column Mapping nie rozpoznaje pól"

Solution:

  • Upewnij się headers w pierwszym row
  • Nazwa headers closely match GHL fields:
    • "First Name" not "FirstName" czy "Name"
    • "Email" not "email address"
  • Check for extra spaces w header names

Problem: "Wszystkie contacts failed import"

Check:

  • Czy at least jedna z: Email, Phone, First+Last Name jest populated?
  • Invalid email formats (mnoość)
  • Duplicate detection rules zbyt strict

Solution: Download error report, fix issues, re-upload.

Problem: "Tags nie imported"

Check:

  • Czy mapped "Tags" column → "Tags" field?
  • Delimiter correct? (pipe | vs comma ,)
  • Tags w cudzysłowach jeśli contains commas

Problem: "Custom fields puste po imporcie"

Solution:

  1. Verify custom fields exist przed importem
  2. Re-check mapping (case-sensitive!)
  3. Check data format w CSV matches field type (text/number/date)

Problem: "Polish characters pokazują gibberish"

Solution:

  • Re-save CSV as UTF-8 encoding
  • W Excel: Save As → CSV UTF-8
  • W Sheets: już UTF-8 by default
  • Verify po re-upload

RODO (GDPR) Considerations

Jeśli importujesz contacts w UE/PL:

Musisz mieć: -Legal basis (zgoda, legitimate interest,Contract)

  • Dokumentację consent (gdzie i kiedy uzyskano)

Recommended:

  • Kolumna "RODO Consent" w CSV: Yes/No
  • Kolumna "Consent Date": data zgody
  • Kolumna "Consent Source": skąd (website form, event, etc.)

Po imporcie:

  • Do NOT wysyłaj marketing do tych bez consent
  • Segment: "consent=yes" before campaigns

OPT-IN vs OPT-OUT Lists

Opt-in (permission-based): ✅ Best practice

  • Ludzie explicitly agreedować receive communications
  • Import bez problemu
  • Higher engagement

Opt-out (scraped/purchased): ⚠️ Risky

  • Nie có consent
  • Can violate RODO, CAN-SPAM
  • High complaint rate
  • Może dostać Twój domain blacklisted

Po-Import Kolejne Kroki

1. Segmentacja

Create Smart Lists dla imported contacts:

  • By source tag
  • By import date
  • By custom field criteria

2. Enrichment

Imported data often basic. Enrich:

  • Research company details
  • LinkedIn profiles
  • Additional custom fields
  • Lead scoring

3. Engagement Campaign

Start nurturing imported contacts:

  • Welcome email sequence
  • Value-providing content
  • Gradually build relationship
  • Don't immediate hard sell

4. Monitoring

Track metrics first 30 days:

  • Email open rates
  • Response rates
  • Unsubscribe rate (should be <1%)
  • Spam complaints (should be <0.1%)

Wysoki complaints = problem z listą quality.

Ekspert Tips

Tip 1: Pre-Segment w CSV

Zamiast importować wszystko płasko, możesz pre-segment:

  • File1: hot-leads.csv
  • File2: warm-leads.csv
  • File3: cold-prospects.csv

Import osobno z różnymi tags/workflows.

Tip 2: Progressive Profiling

Possible nie masz wszystkich danych teraz:

  1. Import basic info (name, email)
  2. Later imports enrich (company, budget, etc.)
  3. GHL updates existing contacts

Tip 3: Use środło Tracking

Tag format:

source:facebook-ads-campaign-febuary
source:webinar-2026-02-15
source:linkedin-connection-requests

Detailed tracking → better ROI analysis później.

Checklist Importu

Przed kliknięciem "Import":

  • [ ] CSV properly formatted (UTF-8, headers, clean data)
  • [ ] Test import wykonany (5-10 contacts)
  • [ ] Column mapping checked (każdy field właściwie)
  • [ ] Duplicate handling strategy wybrany
  • [ ] Import tag dodany (data tracking)
  • [ ] Custom fields created (jeśli potrzebne)
  • [ ] RODO compliance checked
  • [ ] Backup created (jeśli update existing)
  • [ ] Email validation run (reduced bounces)
  • [ ] Post-import plan ready (segmentation, nurture)

Sumowanie

CSV import to powerful tool do mass-adding contacts. Proper preparation (clean data, correct format, good mapping) = smooth import z wysokim success rate.

Key points:

  • Clean data PRZED importem
  • UTF-8 encoding dla Polish characters
  • Test z małym file first
  • Always add import-date tag
  • RODO compliance dla EU contacts
  • Verify po imporcie

Next tutorial: Niestandardowe pola kontaktów - jak stworzyć i używać custom fields efektywnie.