Jak mierzyć wyświetlenia w ChacieGPT i obliczyć CTR poprzez analizę logów serwera? Case Study 4 przypadków

Wraz z rosnącą popularnością ChataGPT oraz innych modeli językowych opartych na AI, wrasta wartość generowanego przez nie ruchu organicznego. Nic dziwnego, że właściciele stron oraz Specjaliści SEO, zajmujący się na co dzień pozyskiwaniem ruchu z Google, zaczęli szukać sposobu skutecznej analizy tego nowego kanału marketingowego.

Oczywiście dzięki Google Analytics możemy analizować ruch z ChataGPT (referral). W sieci już są dostępne m.in. specjalne raporty Looker Studio do odpowiedniej analizy danych. Jednak dane z GA4 mogą być niepełne (np. Consent Mode na stronie) i nie pokazywać właściwej skali ruchu użytkowników. Po drugie GA4 pokaże nam jedynie „przejścia” na witrynę (sesje i użytkowników).

Co jednak z tym, co zapożyczając terminologię z Google Search Console nazwalibyśmy „wyświetleniami”, czyli momentami, w których link do witryny pojawia się w odpowiedzi ChataGPT? Użytkownik wcale nie musi wybrać linka do naszej witryny, ale sam fakt, że zaczynamy pojawiać się w odpowiedziach ChataGPT jest dla nas znaczący, ponieważ pozwala m.in. na obliczenie orientacyjnego współczynnika CTR.

Na szczęście z pomocą przychodzą nam logi serwera i… samo OpenAI.

Logi serwera

Logi serwera to zapisy wszystkich działań i zdarzeń, które mają miejsce na serwerze. Zawierają informacje m.in. o adresach IP, z których pochodzi ruch, stronie odsyłającej, czasie wizyty (data i godzina), kodzie http, który został zwrócony oraz o tzw. User-Agencie, czyli identyfikatorze przeglądarki lub bota. Pomagają administratorom monitorować ruch, diagnozować problemy i zwiększać bezpieczeństwo witryny. Logi są zapisywane automatycznie w określonym katalogu na serwerze.

W praktyce logi serwera są po prostu obszernymi plikami tekstowymi zawierającymi listę zapytań do serwera, które można analizować m.in. pod kątem źródła zapytań oraz tego jakich stron witryny (lub plików na serwerze) dotyczyły. Przykładowo w kontekście SEO analizę logów wykonuje się, aby sprawdzić, jakie strony witryny są odwiedzane przez Googlebota oraz ile czasu spędza on na poszczególnych częściach serwisu internetowego.

Co logi serwera mają wspólnego z analizą wyświetleń w ChacieGPT? Okazuje się, że całkiem sporo, ale tym razem interesować będzie nas nie Googlebot, a ChatGPT-User.

Jak pracować z plikami logów?

Temat analizowania logów serwera jest zbyt obszerny, aby streścić go w tym artykule. Jest wiele narzędzi i sposobów, które to umożliwiają, a do tego mocno przydaje się również dodatkowa wiedza m.in. na temat wyrażeń regularnych oraz samych informacji, które zawarte są w logach. Oczywiście w dobie ChataGPT wszystko staje się prostsze, ponieważ pod ręką mamy świetnego asystenta, który pomoże nam w razie trudności.

Wykonując analizę do niniejszego artykułu korzystałem z własnych skryptów (pobieranie, scalanie, porządkowanie i filtrowanie logów), niezastąpionego narzędzia Cygwin (środowisko umożliwiające uruchamianie aplikacji i narzędzi z systemu Unix/Linux na Windowsie – świetnie nadaje się do analizy dużych plików z danymi) oraz po odpowiednim oczyszczeniu danych również z arkuszy kalkulacyjnych.

Boty OpenAI

Najważniejszą częścią analizy widoczności w ChacieGPT jest identyfikacja botów OpenAI. Szczęśliwie dla nas OpenAI używa kilku różnych crawler’ów o ściśle wyznaczonych i odrębnych funkcjach. Co najważniejsze, każdy bot identyfikuje się poprzez inny User Agent nawiązując połączenie z serwerem witryny. Dzięki temu poprzez analizę logów serwera możemy określić, co konkretnie boty OpenAI robiły na naszej stronie. Dokumentacja OpenAI wyróżnia trzy rodzaje botów:

OAI-SearchBot: crawluje strony internetowe w celu wyświetlania ich w wynikach wyszukiwania SearchGPT, nie zbiera jednak danych do trenowania modeli AI. Aby strona była uwzględniana, wystarczy go nie blokować w pliku robots.txt i zaakceptować żądania z opublikowanych adresów IP OpenAI.

GPTBot: Służy do przeszukiwania treści, które mogą być wykorzystywane do trenowania podstawowych modeli generatywnej AI. Zablokowanie GPTBot w pliku robots.txt oznacza, że treści strony nie powinny być wykorzystywane do trenowania generatywnych modeli AI.

ChatGPT-User: gdy użytkownicy zadają pytanie w ChacieGPT lub niestandardowemu GPT, może on odwiedzić stronę internetową, aby pomóc udzielić odpowiedzi i dołączyć link do źródła w swojej odpowiedzi. Nie jest używany do automatycznego przeszukiwania sieci ani do zbierania treści w celu trenowania generatywnej sztucznej inteligencji.

Polecam zapoznanie się z oryginalną dokumentacją na stronie: https://platform.openai.com/docs/bots/overview-of-openai-crawlers. Pod tym adresem dostępne są również pliki .json zawierające listę adresów IP, z których korzystają poszczególne boty.

W kontekście mierzenia „widoczności” w ChacieGPT konieczna jest analiza logów pod kątem obecności ostatniego z wymienionych botów, czyli ChatGPT-User’a. Jeśli wierzyć dokumentacji OpenAI, zapytanie tego bota w logach serwera do określonego adresu URL oznacza, że link do tego adresu został wyświetlony jako źródło w odpowiedzi ChataGPT.

Dlatego nieco upraszczając można założyć, że 1 zapytanie bota ChatGPT-User = 1 wyświetlenie linka w odpowiedzi ChataGPT. Czy tak jest na pewno? Niestety nie do końca – linki do źródeł w odpowiedziach ChataGPT nie zawsze są widoczne od razu (czasami trzeba kliknąć dodatkowo w przycisk „źródła”). Po drugie – zawsze warto się upewnić, czy to co zawarte jest w dokumentacji, faktycznie działa tak, jak jest napisane (doświadczenie Specjalistów SEO czytających dokumentację Google). Przekonajmy się.

Źródła w odpowiedziach ChataGPT

Warto nieco rozwinąć temat odpowiedzi ChataGPT, które od jakiegoś czasu zawierają również linki do źródeł, co znacząco ułatwia m.in. weryfikację wiarygodności uzyskiwanych informacji. Linki do źródeł mogą przyjąć jedną z kilku postaci.

Podstawową formą widoczną od razu w odpowiedzi ChataGPT jest przycisk z nazwą domeny obok akapitu treści z linkiem do strony, z której pochodzi informacja:

Link do źródła w ChatGPT Link do źródła w ChacieGPT.

Kolejną formą jest lista linków, która jest dostępna po kliknięciu w przycisk „Źródła” pod odpowiedzią udzieloną przez ChatGPT:

Przycisk do źródeł w ChacieGPT. Przycisk do źródeł w ChacieGPT.

Lista linków dzieli się na dwie sekcje: 1) „Cytaty”, czyli linki do stron, które zostały użyte jako źródło informacji oraz 2) „Więcej”, czyli lista linków do stron o powiązanej treści, która może być pomocna dla użytkownika.

Lista linków w sekcji "Cytaty" w ChacieGPT. Lista linków w sekcji „Cytaty” w ChacieGPT.

Lista linków w sekcji "Więcej" w ChacieGPT. Lista linków w sekcji „Więcej” w ChacieGPT.

Według moich obserwacji nie ma znaczenia, w której z tych sekcji pojawi się link – jego pojawienie się zawsze powoduje jedno zapytanie bota ChatGPT-User do adresu URL. Warto zastrzec, że ten sam adres URL ChatGPT może wskazać jako źródło kilkakrotnie w jednej odpowiedzi i w różnych sekcjach, ale odpowiada to tylko jednemu zapytaniu do konkretnego adresu. Obowiązuje zasada: unikalny adres URL = jedno zapytanie do serwera.

Niestety zaciemnia to obraz sytuacji, ponieważ analiza logów nie wskaże nam, czy link do witryny pojawił się bezpośrednio w odpowiedzi, czy też dostępny był dopiero po kliknięciu w „Źródła”. Z pewnością ukrycie linków i konieczność kliknięcia dodatkowego przycisku, aby je wyświetlić będzie znacząco obniżać możliwy do uzyskania CTR.

Dodam, że zdarzyło mi się też przy złożeniu zapytania z wyraźną komendą „Podaj źródła” uzyskać odpowiedź z tak dodanymi linkami do źródeł:

Rzadsza forma umieszczania linków do źródeł w ChacieGPT. Rzadsza forma umieszczania linków do źródeł w ChacieGPT.

Niestety nie mogłem uzyskać podobnego widoku w przypadku witryn z dostępem do logów serwera i nie mogłem zweryfikować, czy w ich przypadku bot również zadziałał. Warto zauważyć, że nie mają one przypisanego parametru UTM.

Linki z parametrem utm_source=chatgpt.com

Jest jeszcze jeden element, który odróżnia poszczególne linki do źródeł. Linki, które zostały zastosowane jako „Cytaty” (czyli te widoczne bezpośrednio w odpowiedzi oraz sekcji „Cytaty”) zostały dodatkowo opatrzone parametrem utm_source=chatgpt.com. Pozwala to na łatwiejszą identyfikację źródła ruchu z ChataGPT zarówno w logach serwera, jak i innych narzędziach, np. GA4.

Co ciekawe, linki w sekcji „Więcej” nie zawierają tego parametru, mimo, że też mogą powodować ruch z domeny chatgpt.com.

Oczywiście za pomocą odpowiednich filtrów możemy wykryć w logach zarówno zapytania z oznaczonym utm_source=chatgpt.com, jak i bez tego oznaczenia, ale zawierające informację o adresie chatgpt.com, jako adresie odsyłającym. Ten drugi przypadek jest znacznie rzadszy (o tym w dalszej części artykułu), jednak również jest istotny dla analizy.

Witryny wybrane do analizy

Witryna A – moja prywatna, nierozwijana domena. Strona główna + dwie podstrony zindeksowane w Google. Średnia liczba kliknięć/wyświetleń miesięcznie w GSC: 3/37.

Witryna B – strona małego, lokalnego usługodawcy z Gdańska. 21 zindeksowanych stron w Google. Średnia liczba kliknięć/wyświetleń miesięcznie w GSC: 50/7 876.

Witryna C – strona oferująca lokalne usługi naprawy nowoczesnego sprzętu elektronicznego w 5 polskich miastach wojewódzkich. W tym wypadku istniało znacznie większe prawdopodobieństwo, że potencjalni klienci tej firmy będą częściej korzystać z ChataGPT. Witryna posiadała 593 zindeksowane strony w Google. Średnia liczba kliknięć/wyświetleń miesięcznie w GSC: 10 382 / 52 8205.

Witryna D – witryna firmy z branży technologicznej działającej na rynkach amerykańskich i europejskich. Mocno związana z tematyką Generative AI dzięki branżowemu blogowi – istnieje duże prawdopodobieństwo, że osoby zainteresowane jej usługami oraz treściami na blogu to świadomi użytkownicy ChataGPT. 586 zindeksowanych stron w Google. Średnia liczba kliknięć/wyświetleń miesięcznie w GSC: 14 773 / 1 292 351.

Witryna A

Analiza logów z ostatnich 2 miesięcy nie wykazała żadnej obecności botów OpenAI. Wykonałem test polegający na użyciu określonego zapytania w ChacieGPT odnoszącego się do treści na witrynie. ChatGPT wykonał przeszukiwanie sieci. Uzyskałem odpowiedź wraz z podaniem linków do źródeł, wśród których znalazł się m.in. link do mojej domeny. Odnotowałem datę i godzinę zapytania, a następnie porównałem ją z danymi uzyskanymi z logów serwera.

Okazało się, że ChatGPT-User wykonał dokładnie 1 zapytanie GET do strony głównej witryny, którą wskazał w źródle. Test wykonałem jeszcze kilkakrotnie uzyskując ten sam rezultat.

Witryna B

Analiza logów z 3 ostatnich miesięcy wykazała 74 zapytania bota ChatGPT-User w tym:

  • 27 razy został odpytany plik robots.txt,
  • 22 razy została odpytana strona cennika,
  • 7 razy odpytano stronę główną,
  • 8 razy odpytano artykuły blogowe,
  • 7 razy odpytano strony poszczególnych usług,
  • 1 raz odpytano stronę kontaktową.

W przypadku witryny B również wykonałem kilka testów z samodzielnym testowaniem ChataGPT i porównaniem godziny i daty zapytania z czasem odwiedzenia bota. W każdym wypadku zachodziła zgodność między wskazanymi w odpowiedzi adresami URL a adresami występującymi w logach.

Obliczając „wyświetlenia” w ChacieGPT należy odjąć zapytania do robots.txt, ponieważ są one jedynymi powodowanymi przez bota, które nie są związane ze wskazaniem linka w treści odpowiedzi.

Proporcja wyświetleń w ChacieGPT do wyświetleń w Google w tym samym okresie czasu wyniosła więc 47 do 34 293. Oznacza to ok. 729-krotną przewagę Google nad ChatemGPT.

Witryna C

Analiza logów z 3 ostatnich miesięcy wykazała 15 342 zapytania bota ChatGPT-User do 466 unikalnych adresów URL, w tym:

  • plik robots.txt: 1 966 zapytań,
  • strona główna: 898 zapytań,
  • najczęściej występująca strona usługi: 329 zapytań.

Również w przypadku witryny C moje testy wykazały 100% zgodność adresów podawanych w odpowiedziach ChataGPT z adresami w logach serwera.

Z uwagi na znacznie większą ilość danych na temat aktywności bota ChatGPT-User w przypadku witryny C, zdecydowałem się na dodatkową analizę i zestawienie liczby wyświetleń w ChacieGPT z liczbą wyświetleń w Google w tym samym okresie czasu dla 20 adresów URL, które bot odwiedzał najczęściej (wykluczając plik robots.txt).

ADRES Wyświetlania GSC Zapytania ChatGPT-User
strona główna 68 278 898
adres1 48 428 329
adres2 36 055 311
adres3 28 678 302
adres4 26 682 299
adres5 3 368 298
adres6 4 952 256
adres7 23 479 152
adres8 30 529 149
adres9 1 826 147
adres10 669 144
adres11 12 389 143
adres12 36 606 143
adres13 17 370 143
adres14 15 402 142
adres15 14 844 137
adres16 47 428 137
adres17 3 131 135
adres18 5 548 133
adres19 31 288 133

 

Ogólna proporcja wyświetleń w ChacieGPT do wyświetleń w Google w tym samym okresie czasu wyniosła 13 376 (zapytania bez robots.txt) do 2 217 875, co oznacza, że Google miało ok. 165-krotą przewagę.

W przypadku 20 adresów URL najpopularniejszych w ChacieGPT (nie licząc robots.txt) Google osiągało wynik średnio 112 razy lepszy.

Witryna D

W tym wypadku analiza logów z brała pod uwagę jedynie dane z ostatniego miesiąca (ze względu na czynniki techniczne) i wykazała 22 992 zapytania bota ChatGPT-User do 417 unikalnych adresów URL, w tym:

  • 4 737 zapytań otrzymał wyróżniający się, najpopularniejszy artykuł na blogu dotyczący ChataGPT,
  • 1 132 zapytań otrzymała strona główna,
  • 784 zapytań otrzymał drugi najpopularniejszy artykuł na blogu (również poświęcony ChatowiGPT),
  • 771 zapytań otrzymał plik robots.txt,
  • 284 otrzymała strona najpopularniejszej usługi.

Ponownie przetestowałem zgodność testując zapytania w ChacieGPT i porównując linki do źródeł z danymi z logów serwera. Pokrycie adresów URL ponownie się potwierdziło, choć tym razem zauważyłem, że moje zapytania mogły przeplatać się również z zapytaniami innych użytkowników z uwagi na duże zagęszczenie zapytań bota.

W przypadku witryny D również ciekawie wypadło porównanie z liczbą wyświetleń z GSC:

ADRES Wyświetlania GSC Zapytania ChatGPT-User
artykuł na blogu 1 343 876 4 737
strona główna 12 443 1 132
artykuł na blogu 2 5 900 784
artykuł na blogu 3 30 672 464
artykuł na blogu 4 47 821 426
artykuł na blogu 5 20 549 402
artykuł na blogu 6 6 833 399
artykuł na blogu 7 21 653 391
artykuł na blogu 8 5 121 391
artykuł na blogu 9 5 552 302
artykuł na blogu 10 3 050 294
strona usługi 1 87 870 284
artykuł na blogu 11 21 000 282
artykuł na blogu 12 14 040 278
artykuł na blogu 13 9 028 263
artykuł na blogu 14 3 634 225
artykuł na blogu 15 7 154 197
artykuł na blogu 16 1 816 196
artykuł na blogu 17 9 832 189

 

W przypadku 20 najpopularniejszych adresów w ChacieGPT (nie licząc pliku robots.txt), liczba wyświetleń w Google i tak jest ok. 53 razy wyższa. Jak widać w przypadku witryny D przewaga jest zdecydowanie niższa niż w poprzednich przypadkach (chociaż nadal bardzo wysoka).

Biorąc pod uwagę całkowitą liczbę wyświetleń z obu źródeł, Google osiągnęło wynik ok. 83 razy wyższy.

Kiedy ChatGPT-User przesyła zapytanie do robots.txt?

Teoretycznie ChatGPT-User powinien sprawdzać plik robots.txt na witrynie podanej jako źródło za każdym razem, gdy przesyła żądanie do serwera. Jednak należy pamiętać, że tak jak wszystkie boty (m.in. także Googlebot) ChatGPT-User przechowuje raz przeskanowany plik robots.txt w pamięci podręcznej i przy kolejnych „odwiedzinach” nie musi odpytywać go po raz kolejny.

Jak obliczyć CTR z ChataGPT na podstawie logów?

Logi serwera mogą zawierać również informacje o stronach odsyłających, a także uwzględniać zapytania do adresów z oznaczonym utm_source. Do obliczenia CTR dla każdej z witryn, należy wziąć pod uwagę zarówno adresy z url_source=chatgpt.com, jak i zapytania bez tego parametru, ale z adnotacją o stronie odsyłającej chatgpt.com.

Dla przypomnienia: tylko linki oznaczone jako „Cytaty” i te widoczne bezpośrednio w odpowiedzi posiadają oznaczenie utm_source=chatgpt.com.

Poniżej znajduje się obliczenie dla witryn B, C i D – witrynę A wykluczyłem z uwagi na to, że byłem jedynym użytkownikiem ChataGPT, który wygenerował na nią ruch w podanym okresie czasu. Dodatkowo od łącznej liczby zapytań bota odjąłem te dotyczące pliku robots.txt, jako niegenerujące potencjalnego kliknięcia.

Witryna B (3 miesiące) Witryna C (3 miesiące) Witryna D (1 miesiąc)
Wyświetlenia (zapytania ChatGPT-User bez robots.txt) 74 15 342 22 992
Kliknięcia (utm_source=chatgpt.com) 3 121 230
Kliknięcia (bez utm_source=chatgpt.com) 0 26 99
Kliknięcia (suma) 3 147 329
CTR 4,05% 0,96% 1,43%

 

Dla porównania współczynniki CTR z GSC dla tych samych okresów czasowych:

  • Witryna B: 0,5%
  • Witryna C: 1,6%
  • Witryna D: 0,9%

 

Czy ChatGPT „odbierze” Google ruch organiczny?

Z pewnością jest zbyt wcześnie na taką odpowiedź. Niemniej analiza logów pod kątem bota ChatGPT-User na większej liczbie zróżnicowanych przypadków w zdecydowanie dłuższej perspektywie czasowej może wskazać jakąś tendencję.

Można założyć, że nadal dość niewielka popularność ChataGPT (w porównaniu do wyszukiwarki Google) sprawia, że największy potencjał na uzyskiwanie ruchu z tego źródła mają witryny o określonej tematyce, których docelowy użytkownik korzysta z Chata częściej od statystycznego Kowalskiego. Warto o tym pamiętać w czasie, gdy jak grzyby po deszczu pojawiają się kolejne oferty „pozycjonowania” w ChacieGPT – to medium nie dla każdego biznesu będzie opłacalne.

Za jakiś czas możecie spodziewać się pogłębionej analizy w tym zakresie na większej liczbie przypadków.

Tomasz Resmarowski
Autor wpisu

Tomasz Resmarowski

Świetne zrozumienie biznesu klienta oraz kreatywne pomysły – tak w skrócie można opisać podejście Tomka do SEO. Zawodowo zajmuje się pozycjonowaniem i optymalizacją witryn internetowych od 2014 roku. W pracy chętnie sięga po rozwiązania z zakresu analityki internetowej (fan Google Tag Manager’a).

0 komentarzy

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *