> ## Documentation Index
> Fetch the complete documentation index at: https://docs.heyquiz.pro/llms.txt
> Use this file to discover all available pages before exploring further.

# Zbieranie danych uczestników

> Zbieranie imion, nazwisk i adresów e-mail od uczestników quizu przed dołączeniem do sesji

## Czym jest zbieranie danych?

Zbieranie danych uczestników pozwala prowadzącemu quiz zebrać dane osobowe (imię, nazwisko, e-mail) od uczestników **przed ich wejściem do lobby**. Funkcja jest w pełni konfigurowalna per quiz - możesz wybrać, czy formularz jest wymagany, czy uczestnicy mogą go pominąć, a także filtrować akceptowane domeny e-mail.

<Info>
  **Idealne zastosowanie:** Szkolenia firmowe, konferencje, eventy z follow-upem, kursy online, konkursy marketingowe, onboarding nowych pracowników.
</Info>

## Jak to działa?

<Steps>
  <Step title="Włącz zbieranie danych">
    W edytorze quizu zaznacz **"Zbieraj dane od uczestników"** w sekcji Zbieranie danych.
  </Step>

  <Step title="Skonfiguruj formularz">
    Ustaw nagłówek formularza, treść zgody marketingowej i tryb filtrowania domen e-mail.
  </Step>

  <Step title="Przeprowadź quiz">
    Uczestnicy po wpisaniu nicka i wyborze awatara widzą formularz danych.
  </Step>

  <Step title="Uczestnicy wypełniają formularz">
    Podają imię, nazwisko, e-mail i obligatoryjnie akceptują zgodę marketingową.
  </Step>

  <Step title="Pobierz raport danych">
    Po zakończeniu sesji pobierz zebrane dane jako PDF lub Excel.
  </Step>
</Steps>

## Konfiguracja

### Włączanie funkcji

W edytorze quizu znajdziesz sekcję **"Zbieranie danych uczestników"**:

| Ustawienie                      | Opis                                  | Domyślnie          |
| ------------------------------- | ------------------------------------- | ------------------ |
| **Zbieraj dane od uczestników** | Główny przełącznik funkcji            | Wyłączony          |
| **Nagłówek formularza**         | Tekst wyświetlany na górze formularza | "Podaj swoje dane" |
| **Treść zgody marketingowej**   | Tekst przy checkboxie zgody           | Domyślna treść     |
| **Tryb filtrowania domen**      | Kontrola akceptowanych adresów e-mail | Wyłączony          |
| **Pozwól pominąć formularz**    | Czy uczestnik może przejść bez danych | Nie                |

### Nagłówek formularza

Możesz dostosować nagłówek wyświetlany na górze formularza danych. Domyślnie jest to "Podaj swoje dane", ale możesz zmienić na np.:

* "Rejestracja uczestnika"
* "Formularz szkoleniowy"
* "Dane do certyfikatu"

Maksymalna długość: **500 znaków**.

### Zgoda marketingowa

Obligatoryjny checkbox ze zgodą, którego treść definiujesz sam. Domyślna treść:

> Wyrażam zgodę na otrzymywanie informacji marketingowych od organizatora quizu.

<Tip>
  **Dostosuj treść** do specyfiki Twojego wydarzenia - możesz dodać informacje o organizatorze, celu przetwarzania lub podstawie prawnej.
</Tip>

<Warning>
  Tekst zgody jest zapisywany jako **snapshot** w momencie akceptacji przez uczestnika. Nawet jeśli później zmienisz treść w ustawieniach quizu, zapis w bazie zachowa oryginalny tekst, na który uczestnik się zgodził.
</Warning>

### Filtrowanie domen e-mail

Trzy tryby kontroli nad adresami e-mail uczestników:

<Tabs>
  <Tab title="Wyłączone (domyślne)">
    Akceptuje każdy prawidłowy adres e-mail. Brak dodatkowej walidacji domeny.

    **Kiedy używać:** Quizy otwarte, eventy publiczne, sytuacje bez wymagań co do typu adresu.
  </Tab>

  <Tab title="Czarna lista">
    Blokuje popularne domeny publiczne - ponad **60 domen** jest zablokowanych, w tym:

    | Kategoria          | Przykłady domen                                 |
    | ------------------ | ----------------------------------------------- |
    | **Międzynarodowe** | gmail.com, outlook.com, yahoo.com, hotmail.com  |
    | **Polskie**        | onet.pl, wp.pl, o2.pl, interia.pl, tlen.pl      |
    | **Niemieckie**     | gmx.de, web.de, t-online.de                     |
    | **Prywatność**     | protonmail.com, tutanota.com                    |
    | **Tymczasowe**     | tempmail.com, mailinator.com, guerrillamail.com |

    **Kiedy używać:** Szkolenia firmowe gdzie chcesz wymusić adresy firmowe, ale nie chcesz ręcznie definiować dozwolonych domen.
  </Tab>

  <Tab title="Biała lista">
    Akceptuje **wyłącznie** adresy z podanych domen. Wpisujesz listę domen oddzielonych przecinkami:

    ```
    firma.pl, korporacja.com, dział.firma.pl
    ```

    Domeny są automatycznie:

    * Zamieniane na małe litery
    * Oczyszczane z białych znaków
    * Deduplikowane

    **Kiedy używać:** Zamknięte szkolenia firmowe, quizy dostępne tylko dla pracowników konkretnej organizacji.

    <Warning>
      Biała lista musi zawierać **co najmniej jedną domenę**. Pusta biała lista zablokuje wszystkich uczestników (fail-closed).
    </Warning>
  </Tab>
</Tabs>

### Opcja pominięcia formularza

Możesz włączyć opcję **"Pozwól pominąć formularz"**, która dodaje przycisk "Pomiń" na formularzu.

* Uczestnik musi potwierdzić pominięcie w dialogu
* W raporcie uczestnik jest oznaczony jako "Formularz pominięty"
* Dane (imię, nazwisko, e-mail) pozostają puste

<Info>
  **Kiedy włączyć pominięcie?** Gdy chcesz zachęcić do podania danych, ale nie chcesz blokować dostępu tym, którzy nie chcą tego robić. Np. otwarte eventy publiczne.
</Info>

## Formularz dla uczestnika

### Kiedy się pojawia?

Formularz wyświetla się **po wpisaniu nicka i wyborze awatara**, a **przed wejściem do lobby**:

<Steps>
  <Step title="Uczestnik wpisuje kod PIN" icon="keyboard">
    Standardowy krok dołączania do quizu.
  </Step>

  <Step title="Wybór nicka i awatara" icon="user">
    Uczestnik wybiera pseudonim i awatar.
  </Step>

  <Step title="Formularz danych" icon="address-card">
    Jeśli zbieranie danych jest włączone - pojawia się formularz.
  </Step>

  <Step title="Lobby" icon="users">
    Po wypełnieniu (lub pominięciu) - uczestnik trafia do lobby.
  </Step>
</Steps>

### Struktura formularza

Formularz zawiera następujące elementy:

| Element                | Typ      | Wymagane | Opis                                    |
| ---------------------- | -------- | -------- | --------------------------------------- |
| **Imię**               | Tekst    | Tak      | 2-100 znaków, autocomplete: given-name  |
| **Nazwisko**           | Tekst    | Tak      | 2-100 znaków, autocomplete: family-name |
| **E-mail**             | Email    | Tak      | Walidacja formatu + filtrowanie domen   |
| **Zgoda marketingowa** | Checkbox | Nie      | Tekst definiowany przez organizatora    |

<Info>
  Formularz jest **responsywny** i działa na telefonach, tabletach i komputerach. Pola mają włączony autocomplete, co przyspiesza wypełnianie na urządzeniach mobilnych.
</Info>

### Walidacja

Formularz jest walidowany na dwóch poziomach:

**Po stronie klienta (JavaScript):**

* Sprawdzenie czy pola nie są puste
* Walidacja formatu e-mail (HTML5)
* Natychmiastowa informacja o błędach

**Po stronie serwera (PHP):**

* Długość imienia i nazwiska (2-100 znaków, UTF-8)
* Format e-mail (`filter_var` z `FILTER_VALIDATE_EMAIL`)
* Walidacja domeny e-mail (czarna/biała lista)
* Token CSRF

Komunikaty błędów wyświetlane są pod odpowiednim polem formularza.

### Przycisk "Pomiń"

Jeśli organizator włączył opcję pominięcia:

* Przycisk "Pomiń" pojawia się pod formularzem
* Kliknięcie otwiera dialog potwierdzenia
* Po potwierdzeniu uczestnik przechodzi do lobby bez podawania danych
* W raporcie widnieje jako "Formularz pominięty"

## Raport danych uczestników

### Dostęp do raportu

Po zakończeniu sesji, w sekcji **Raporty** pojawia się przycisk **"Zbieranie danych"** z opcjami eksportu:

<CardGroup cols={2}>
  <Card title="Raport PDF" icon="file-pdf">
    Sformatowany dokument z danymi uczestników, statystykami i statusami zgody. Idealny do wydruku i archiwum.
  </Card>

  <Card title="Raport Excel" icon="file-excel">
    Arkusz z surowymi danymi do dalszego przetwarzania - import do CRM, systemu mailingowego, arkusza obecności.
  </Card>
</CardGroup>

### Statystyki w raporcie

Raport PDF zawiera sekcję statystyk:

| Metryka                       | Opis                                  |
| ----------------------------- | ------------------------------------- |
| **Łączna liczba uczestników** | Wszyscy uczestnicy sesji              |
| **Z zebranymi danymi**        | Uczestnicy którzy wypełnili formularz |
| **Pominięte formularze**      | Uczestnicy którzy pominęli formularz  |
| **Ze zgodą marketingową**     | Uczestnicy którzy zaakceptowali zgodę |

### Kolumny danych

Zarówno PDF jak i Excel zawierają:

* Nick uczestnika
* Imię
* Nazwisko
* Adres e-mail
* Status zgody marketingowej (Tak/Nie)
* Data dołączenia
* Uwagi (kolumna na notatki w Excel)

<Info>
  Raport danych uczestników jest **oddzielny** od głównego raportu sesji. Przycisk eksportu pojawia się tylko gdy zbieranie danych było włączone dla danej sesji.
</Info>

## Bezpieczeństwo i RODO

### Odpowiedzialność za dane

<Warning>
  Jako organizator quizu jesteś **administratorem** zebranych danych osobowych. Hey Quiz przetwarza dane wyłącznie w Twoim imieniu (procesor danych).
</Warning>

### Zabezpieczenia

| Zabezpieczenie            | Opis                                                                       |
| ------------------------- | -------------------------------------------------------------------------- |
| **Snapshot zgody**        | Tekst zgody zapisywany w momencie akceptacji                               |
| **CSRF protection**       | Formularz chroniony tokenem CSRF                                           |
| **Walidacja server-side** | Wszystkie dane walidowane po stronie serwera                               |
| **Formula injection**     | Pola w Excelu formatowane jako tekst (zapobieganie CSV injection)          |
| **Zamrożenie ustawień**   | Konfiguracja kopiowana do sesji przy starcie - nie można zmienić w trakcie |

### Przechowywanie danych

* Dane przechowywane w tabeli `participants` w bazie danych
* Dostępne wyłącznie dla prowadzącego quiz
* Usuwane wraz z usunięciem sesji quizowej
* Brak interfejsu do edycji zebranych danych (ochrona integralności)

## Przykłady zastosowań

### Szkolenie firmowe

* **Filtrowanie domen:** Biała lista z domeną firmy
* **Pominięcie:** Wyłączone (wszyscy muszą podać dane)
* **Zgoda:** "Wyrażam zgodę na przetwarzanie danych w celu wystawienia certyfikatu ukończenia szkolenia"
* **Raport:** Excel do importu do systemu HR

### Konferencja / Event

* **Filtrowanie domen:** Czarna lista (blokowanie domen publicznych)
* **Pominięcie:** Włączone (nie blokuj uczestników)
* **Zgoda:** "Wyrażam zgodę na otrzymywanie informacji o przyszłych wydarzeniach organizatora"
* **Raport:** Excel do importu do CRM / narzędzia mailingowego

### Quiz publiczny / Marketing

* **Filtrowanie domen:** Wyłączone
* **Pominięcie:** Wyłączone (dane wymagane)
* **Zgoda:** "Wyrażam zgodę na otrzymywanie newslettera i ofert promocyjnych od \[Nazwa Firmy]"
* **Raport:** Excel do budowania listy mailingowej

### Kurs online / Warsztaty

* **Filtrowanie domen:** Wyłączone
* **Pominięcie:** Wyłączone
* **Zgoda:** Brak (nie potrzebujesz zgody marketingowej)
* **Raport:** PDF jako lista obecności

## FAQ

<AccordionGroup>
  <Accordion title="Czy mogę zmienić ustawienia zbierania danych po uruchomieniu sesji?">
    Nie. Ustawienia zbierania danych są **kopiowane do sesji** w momencie jej uruchomienia. Późniejsze zmiany w ustawieniach quizu nie wpływają na aktywną sesję. Zapewnia to spójność danych w ramach jednej sesji.
  </Accordion>

  <Accordion title="Co jeśli uczestnik poda fałszywe dane?">
    Hey Quiz waliduje format e-mail i filtruje domeny (jeśli włączone), ale nie weryfikuje tożsamości uczestnika. Wiarygodność danych zależy od kontekstu - na szkoleniach firmowych z białą listą domen ryzyko fałszywych danych jest minimalne.
  </Accordion>

  <Accordion title="Czy uczestnik może edytować podane dane?">
    Nie. Po wypełnieniu formularza dane są zapisane na stałe. Uczestnik powinien skontaktować się z organizatorem w celu korekty. Ta zasada chroni integralność zebranych danych.
  </Accordion>

  <Accordion title="Czy dane są widoczne dla innych uczestników?">
    Nie. Dane osobowe są widoczne **wyłącznie** dla prowadzącego quiz w raportach. Inni uczestnicy widzą jedynie nick i awatar.
  </Accordion>

  <Accordion title="Co się dzieje z danymi gdy usunę quiz?">
    Dane uczestników sesji są usuwane wraz z sesją quizową. Jeśli potrzebujesz archiwum - wyeksportuj raport (PDF/Excel) przed usunięciem.
  </Accordion>

  <Accordion title="Czy zbieranie danych działa w trybie drużynowym?">
    Tak. Formularz danych pojawia się **przed** wyborem drużyny. Niezależnie od trybu gry - uczestnicy wypełniają formularz po wpisaniu nicka.
  </Accordion>

  <Accordion title="Czy formularz spowalnia dołączanie do quizu?">
    Formularz ma włączony autocomplete, co na urządzeniach mobilnych pozwala wypełnić go w kilka sekund. Uczestnik podaje tylko 3 pola (imię, nazwisko, e-mail) + obligatoryjny checkbox.
  </Accordion>

  <Accordion title="Czym różni się to od modułu nagród?">
    **Zbieranie danych** zbiera informacje od **wszystkich** uczestników **przed** quizem (w momencie dołączania). **Moduł nagród** zbiera dane od **zwycięzców** (TOP N) **po** zakończeniu quizu, w tym adres do wysyłki nagrody. Obie funkcje działają niezależnie.
  </Accordion>
</AccordionGroup>

## Następne kroki

<CardGroup cols={2}>
  <Card title="Ustawienia quizu" icon="gear" href="/pl/quizy/ustawienia">
    Pełna konfiguracja quizu
  </Card>

  <Card title="Raporty" icon="chart-pie" href="/pl/raporty/przeglad">
    Przegląd wszystkich raportów
  </Card>

  <Card title="Moduł nagród" icon="gift" href="/pl/nagrody/przeglad">
    Zbieranie danych od zwycięzców
  </Card>

  <Card title="Dołączanie do quizu" icon="right-to-bracket" href="/pl/uczestnicy/dolaczanie">
    Perspektywa uczestnika
  </Card>
</CardGroup>
