Aby uporządkować nazwy UTM w eksporcie CSV, najpierw zatwierdź słownik zmian. Następnie poproś ChatGPT o zapisanie wyniku w nowych kolumnach, a wartości spoza słownika skieruj do ręcznej oceny. Na koniec porównaj wynik z oryginałem. Sama liczba wierszy i suma kosztów nie powiedzą Ci, czy nazwy kampanii zostały poprawnie zinterpretowane.
Poniższa procedura zawiera fikcyjny plik i gotową instrukcję do dostosowania. Wyniki liczbowe pochodzą z lokalnego wykonania reguł na tych danych. Transformacja nie była uruchamiana w ChatGPT.
Przygotuj plik i zatwierdź nazwy
Potrzebujesz CSV z nagłówkami, jednym rekordem w wierszu i identyfikatorem pozwalającym porównać rekordy przed zmianą i po niej. Dokumentacja OpenAI dotycząca analizy danych potwierdza obsługę CSV i transformacje danych z użyciem Pythona. Zaleca też sprawdzanie kodu, wyników i przyjętych założeń.
Zanim prześlesz firmowy eksport do ChatGPT, sprawdź, jakie dane możesz udostępnić. Dotyczy to zwłaszcza informacji o klientach i wewnętrznych identyfikatorów. Osobno omawiamy to w tekście o prywatności danych firmy przy korzystaniu z ChatGPT.
Na potrzeby przykładu przyjmijmy osiem fikcyjnych rekordów:
id,utm_source,utm_medium,utm_campaign,sessions,cost_pln
1,fb,social_paid,Jesien_2026,10,100
2,fb,paid_social,jesien_2026,20,200
3,facebook,social_paid,jesien_2026,30,300
4,facebook,paid_social,Jesien_2026,40,400
5,facebook,paid_social,jesien_2026,50,500
6,google,cpc,search_brand,60,600
7,FB,paid_social,jesien_2026,70,700
8,facebook ,paid_social,jesien_2026,80,800Wartość `facebook ` w wierszu 8 ma spację na końcu. Pozostaw ją w pliku: ten przypadek pokaże, dlaczego automatyczne usuwanie spacji wymaga osobnej decyzji.
Właściciel danych powinien zatwierdzić każdą parę „wartość źródłowa → wartość docelowa”. W fikcyjnym przykładzie zatwierdzone są trzy mapowania:
| Kolumna | Wartość źródłowa | Wartość docelowa |
|---|---|---|
| `utm_source` | `fb` | `facebook` |
| `utm_medium` | `social_paid` | `paid_social` |
| `utm_campaign` | `Jesien_2026` | `jesien_2026` |
Potrzebna jest też lista wartości już poprawnych, których nie należy zmieniać:
- `utm_source`: `facebook`, `google`
- `utm_medium`: `paid_social`, `cpc`
- `utm_campaign`: `jesien_2026`, `search_brand`
Nie dopisuj do słownika `FB` ani `facebook ` tylko dlatego, że wyglądają podobnie do zatwierdzonych nazw. Osoba odpowiedzialna za dane musi zdecydować, co oznaczają.
Przekaż ChatGPT dokładne reguły
Dodaj CSV w rozmowie przez przycisk dołączania pliku przy polu wiadomości. Następnie wklej poniższą instrukcję. Jeśli pracujesz na własnym eksporcie, podmień nazwy kolumn, mapowania i listy wartości kanonicznych.
Uporządkuj wartości UTM w dołączonym pliku CSV.
Zachowaj każdy wiersz, jego id oraz wszystkie kolumny źródłowe bez zmian.
Dodaj kolumny:
utm_source_clean, utm_medium_clean, utm_campaign_clean, status.
Stosuj wyłącznie dokładne dopasowanie wartości. Nie zmieniaj
automatycznie wielkości liter, nie usuwaj spacji i nie poprawiaj
podobnych zapisów na podstawie domysłu.
Zatwierdzone mapowania:
utm_source: "fb" -> "facebook"
utm_medium: "social_paid" -> "paid_social"
utm_campaign: "Jesien_2026" -> "jesien_2026"
Wartości kanoniczne, które mają pozostać bez zmian:
utm_source: "facebook", "google"
utm_medium: "paid_social", "cpc"
utm_campaign: "jesien_2026", "search_brand"
Dla każdej wartości:
- jeśli dokładnie pasuje do mapowania, wpisz wartość docelową
do odpowiedniej kolumny _clean;
- jeśli jest już kanoniczna, przepisz ją bez zmian do kolumny _clean;
- w pozostałych przypadkach przepisz ją bez zmian do kolumny _clean
i dodaj do osobnej listy wyjątków: id, kolumna, wartość źródłowa.
Ustaw status całego wiersza:
- "review", jeśli choć jedna wartość trafiła na listę wyjątków;
- "mapped", jeśli nie ma wyjątku i zastosowano co najmniej jedno mapowanie;
- "unchanged", jeśli nie ma wyjątku ani zastosowanego mapowania.
Zwróć pełny wynik jako CSV, osobną listę wyjątków oraz kontrolę:
liczbę wierszy przed i po, sumy sessions i cost_pln przed i po,
a także informację, czy id i wszystkie kolumny źródłowe pozostały
identyczne. Pokaż kod transformacji i przyjęte założenia, jeśli
używasz kodu.Po otrzymaniu odpowiedzi sprawdź pokazany kod i założenia. Szukaj dodatkowych operacji na tekście, zwłaszcza zmiany wielkości liter i usuwania spacji. Jeśli się pojawiły, popraw instrukcję i uruchom przekształcenie ponownie.
Porównaj wynik z oryginałem
W lokalnej demonstracji tych reguł cztery wiersze otrzymały status `mapped`, dwa `unchanged`, a dwa `review`:
| ID | Status | Wynik lokalnej demonstracji |
|---|---|---|
| 1 | `mapped` | Zmieniono `utm_source`, `utm_medium` i `utm_campaign`. |
| 2 | `mapped` | Zmieniono `utm_source`. |
| 3 | `mapped` | Zmieniono `utm_medium`. |
| 4 | `mapped` | Zmieniono `utm_campaign`. |
| 5 | `unchanged` | Wszystkie wartości były już kanoniczne. |
| 6 | `unchanged` | Wszystkie wartości były już kanoniczne. |
| 7 | `review` | `FB` pozostało bez zmian w `utm_source_clean`. |
| 8 | `review` | `facebook ` ze spacją na końcu pozostało bez zmian w `utm_source_clean`. |
To status całego wiersza. Wiersz 3 jest `mapped`, choć jego `utm_source` się nie zmieniło: mapowanie dotyczyło `utm_medium`. Ta sama zasada wyjaśnia status wiersza 4.
Lokalna kontrola wykazała 8 wierszy przed transformacją i 8 po niej, 360 sesji oraz 3600 PLN kosztu po obu stronach. Kolejność identyfikatorów i wszystkie wartości w kolumnach źródłowych zostały zachowane. Są to wyniki pracy na fikcyjnym pliku, a nie pomiar skuteczności ChatGPT.
Przy własnym eksporcie porównaj pełne kolumny źródłowe, nie tylko ich sumy. Potem przejrzyj każdy wyjątek i próbkę wierszy `mapped`. Identyczne sumy mogą współistnieć z błędnym przypisaniem nazwy kampanii.
Czego ta kontrola nie rozstrzyga
Lista wyjątków wskazuje miejsca wymagające decyzji. Nie przesądza, że `FB` jest błędem ani że spację w `facebook ` wolno usunąć. Gdy właściciel danych zatwierdzi kolejne mapowanie, dopisz je do słownika i wykonaj procedurę od początku na oryginalnym pliku.
Przykład obejmuje prosty CSV. Nie sprawdzono tu plików ze złożonymi polami, na przykład wartościami zawierającymi przecinki i cudzysłowy, ani maksymalnej wielkości eksportu, z którą poradzi sobie ChatGPT. Kontrola liczby wierszy, kolumn i sum wykryje część błędów przekształcenia; nie potwierdzi znaczenia nazw UTM. Tę ocenę musi wykonać osoba znająca kampanie.
Źródła
- OpenAI Help Center, Data analysis with ChatGPT — dokumentacja pracy z CSV, transformacji danych oraz sprawdzania kodu, wyników i założeń.



