Motyw
22. Custom Fields - pola niestandardowe
Poziom trudności: Średni
Czas: 20 minut
Wprowadzenie
Custom Fields pozwalają przechowywać dodatkowe informacje o kontaktach które są specyficzne dla Twojego biznesu - np. NIP, numer umowy, preferencje, historia zakupów.
Dlaczego Custom Fields?
- Personalizacja: Przechowuj unikalne dane biznesowe
- Automatyzacja: Używaj w workflows i kampaniach
- Reporting: Analizuj według własnych kryteriów
- Integracje: Synchronizuj dane z innymi systemami
Krok 1: Tworzenie Custom Field
- Settings → Custom Fields
- Add Field
- Wybierz field type:
Dostępne typy:
| Typ | Przykład użycia |
|---|---|
| Text | Imię, nazwisko, nazwa firmy |
| Number | Wiek, liczba pracowników, budget |
| Dodatkowy email | |
| Phone | Dodatkowy telefon |
| Date | Data urodzenia, data rozpoczęcia |
| Dropdown | Status (aktywny/nieaktywny), priorytet |
| Checkbox | Newsletter consent, GDPR |
| URL | Strona www, profil LinkedIn |
| Textarea | Notatki, opis projektu |
Krok 2: Konfiguracja pola
Przykład: Pole "NIP"
Field Name: NIP
Field Type: Text
Placeholder: 1234567890
Required: Yes
Validation: Numbers only (10 digits)
Position: After Company NamePrzykład: Pole "Branża"
Field Name: Branża
Field Type: Dropdown
Options:
- IT
- Marketing
- E-commerce
- Finanse
- Inne
Default: Inne
Required: NoPrzykład: Pole "Budżet miesięczny"
Field Name: Budżet miesięczny
Field Type: Number
Min Value: 0
Max Value: 100000
Suffix: PLN
Required: NoKrok 3: Używanie Custom Fields w formularzach
- Sites → Forms
- Edytuj formularz
- Add Field → Custom Field
- Wybierz utworzone pole
- Dostosuj label i placeholder
- Save
HTML przykład:
html
<form action="https://ghl.link/your-form" method="POST">
<input type="text" name="first_name" placeholder="Imię" required>
<input type="email" name="email" placeholder="Email" required>
<!-- Custom Fields -->
<input type="text" name="custom_nip" placeholder="NIP">
<select name="custom_branza">
<option value="">Wybierz branżę</option>
<option value="IT">IT</option>
<option value="Marketing">Marketing</option>
<option value="E-commerce">E-commerce</option>
</select>
<input type="number" name="custom_budzet" placeholder="Budżet (PLN)">
<button type="submit">Wyślij</button>
</form>Krok 4: Custom Fields w API
Dodawanie kontaktu z custom fields (JavaScript):
javascript
const contact = {
firstName: "Jan",
lastName: "Kowalski",
email: "jan@example.com",
phone: "+48123456789",
// Custom Fields
customField: {
nip: "1234567890",
branza: "IT",
budzet_miesieczny: 5000,
data_rozpoczecia: "2026-03-01",
newsletter_zgoda: true
}
};
await fetch('https://rest.gohighlevel.com/v1/contacts/', {
method: 'POST',
headers: {
'Authorization': `Bearer ${apiKey}`,
'Content-Type': 'application/json'
},
body: JSON.stringify(contact)
});Krok 5: Używanie w workflows
- Automations → Workflows
- Add Action → Update Contact
- Update Custom Field
Przykład: Automatyczne ustawianie statusu
Trigger: Opportunity created
Condition: Deal value > $5000
Action: Update Custom Field "Priorytet" = "VIP"
Przykład: Obliczanie wartości
Trigger: Custom Field "Liczba zamówień" updated
Action: Calculate Custom Field "Średnia wartość zamówienia"
Formula: Total Spent / Liczba zamówień
Krok 6: Custom Fields w kampaniach email
Personalizacja wiadomości:
html
Cześć {{contact.first_name}}!
Dziękujemy za zainteresowanie naszą ofertą dla branży {{custom.branza}}.
Na podstawie Twojego budżetu ({{custom.budzet_miesieczny}} PLN)
przygotowaliśmy dedykowaną propozycję.
{{#if custom.newsletter_zgoda}}
PS: Zapisaliśmy Cię na newsletter z najnowszymi ofertami!
{{/if}}
Do usłyszenia,
ZespółKrok 7: Zaawansowane przypadki użycia
Case 1: Lead scoring
Custom Field: "Lead Score" (Number, 0-100)
Workflow logic:
- Email opened: +10 pts
- Link clicked: +15 pts
- Form submitted: +25 pts
- Phone answered: +30 pts
- Meeting scheduled: +50 pts
When Score > 70 → Tag "Hot Lead" + assign to salespersonCase 2: Product interests tracking
Custom Fields:
- "Zainteresowania" (Checkbox Multiple):
☑ CRM
☐ Email Marketing
☑ SMS Marketing
☐ Funnels
☑ Automation
Use in workflow:
IF "Email Marketing" checked
→ Send email marketing case studiesCase 3: Renewal tracking
Custom Fields:
- "Data zakończenia umowy" (Date)
- "Wartość kontraktu" (Number)
- "Status odnowienia" (Dropdown: Pending/Renewed/Cancelled)
Workflow:
30 days before "Data zakończenia"
→ Send renewal reminder
→ Assign to account manager
→ Create follow-up tasksKrok 8: Importowanie danych z Custom Fields
CSV format:
csv
first_name,last_name,email,custom_nip,custom_branza,custom_budzet
Jan,Kowalski,jan@ex.com,1234567890,IT,5000
Anna,Nowak,anna@ex.com,9876543210,Marketing,3000
Piotr,Wiśniewski,piotr@ex.com,5555555555,E-commerce,10000Import steps:
- Contacts → Import
- Upload CSV
- Map fields:
- Column "custom_nip" → Custom Field "NIP"
- Column "custom_branza" → Custom Field "Branża"
- Column "custom_budzet" → Custom Field "Budżet miesięczny"
- Import
Best practices
Nazewnictwo:
- ✅ "Data urodzenia" (jasne)
- ❌ "pole1" (niejasne)
Organizacja:
- Grupuj podobne pola
- Używaj prefiksów (np. "billing_address", "billing_city")
- Max 20-30 custom fields (więcej = confusion)
Walidacja:
- Zawsze waliduj dane wejściowe
- Używaj odpowiednich typów (Number dla liczb, Date dla dat)
- Dodawaj helpful placeholders
Performance:
- Nie twórz niepotrzebnych pól
- Regularnie czyść nieużywane
- Indeksuj często używane pola
Troubleshooting
Custom Field nie wyświetla się w formularzu
- Sprawdź czy pole jest "Active"
- Sprawdź permissions
- Odśwież stronę w formie
Dane nie importują się
- Sprawdź mapping kolumn
- Upewnij się że format danych jest poprawny
- Sprawdź czy wartości pasują do typu pola
Workflow nie aktualizuje Custom Field
- Sprawdź czy pole istnieje
- Sprawdź permissions workflow
- Sprawdź czy wartość jest w dozwolonym formacie
Podsumowanie
✅ Nauczyłeś się:
- Tworzyć Custom Fields różnych typów
- Używać w formularzach i API
- Implementować w workflows
- Personalizować kampanie
- Importować dane z Custom Fields
Następny krok: 23. Zarządzanie duplikatami
