Personalizacja treści dostępna jest w coraz większej części rozwiązań służących do masowej komunikacji B2B czy B2C. Ich wymienianie zostawmy sobie na inną okazję. Spróbujmy najpierw odpowiedzieć na pytanie: W jakim celu chcemy stosować personalizację treści? Osobiście uważam, że na pierwszy plan zdecydowanie przebija się nasza chęć zwiększenia wskaźnika response rate (poziom realizacji próby). Oczywiście nie jest to metoda, ale cel i dlatego potrzebuje odpowiednich środków do jej zrealizowania.
Percepcja treści: prościej znaczy lepiej
Pierwszym z nich będzie maksymalne uproszczenie treści pytań. Jest to niezwykle ważne zwłaszcza w przypadku badań realizowanych za pośrednictwem internetu. Wszelkie zwroty „łączone” Pan/Pani, mógłby/mogłaby itd. zdecydowanie utrudniają percepcję treści. Moje osobiste spostrzeżenia w tym temacie jednoznacznie wskazują, iż respondenci oczekują od ankiety CAWI tego samego, co od treści serwowanych przez internetowe serwisy informacyjne tj. dużej klarowności przekazu.
Zabierając się za czytanie książki o tematyce branżowej lub podręcznika kursowego, z góry nastawiamy się na konieczność dogłębnego zrozumienia treści. Zupełnie inaczej zabieramy się za przeglądanie stron WWW. Skaczemy po nagłówkach i wyszukujemy interesujące nas tematy, z rzadka doczytując do końca nawet te artykuły, które wzbudziły nasze zainteresowanie. Wynika to z jednej strony stąd, że czytanie na monitorze jest bardziej obciążające dla naszych oczu, z drugiej , że będąc online mamy jednoczesny dostęp do wielu treści i trudno nam emocjonalnie „usiedzieć w miejscu”. Jestem przekonany, że warto dołożyć wszelkich starań, aby do minimum ograniczyć poziom komplikacji prezentowanych w ankiecie treści, zwłaszcza tych, które będą dedykowane do badań CAWI.
Wzbudzenie zaufania
Drugim środkiem/sposobem może być wzbudzenie zaufania ankietowanego poprzez wykorzystanie informacji, które już o nim posiadamy. Dobre efekty przynosi odwołanie się do odpowiedzi, których respondent udzieli w poprzednim badaniu lub bezpośrednio do usługi, którą dla niego świadczyliśmy w niedalekiej przeszłości. Większość z nas znacznie chętniej wypowiada się na tematy, z którymi może się identyfikować i to bez znaczenia czy skojarzenia te są pozytywne czy wręcz przeciwnie.
Jako, że pierwszy z wymienionych przeze mnie środków, z technicznego punku widzenia jest nieco bardziej złożony, to w dalszej części artykułu zaprezentuję sposób implementacji spersonalizowanej treści, odnosząc się właśnie do aspektu związanego z upraszczaniem treści pytań w kwestionariuszu.
Personalizacja w PS QUAESTIO PRO
Wyobraźmy sobie, że po zakończonej właśnie konferencji lub szkoleniu będziemy chcieli zapytać wszystkich uczestników o ogólne wrażenia i opinie na temat poszczególnych aspektów przedsięwzięcia. W pierwszej kolejności możemy pokusić się o próbę ogólnej oceny całej imprezy korzystając przykładowo z poniższego pytania:
Jak łatwo zauważyć, w powyższym pytaniu wielokrotnie pojawiają się zwroty Pan/Pani, polecił/poleciłabym, które przede wszystkim ograniczają respondentowi swobodę czytania. Specjalnie wybrałem przykład pytania w układzie tabeli, gdyż taka struktura wymaga od ankietowanego nieco więcej uwagi, niż w przypadku pozostałych rodzajów pytań. Gdyby w naszej ankiecie tylko jedno, czy dwa pytania posiadały tego typu zwroty, to zapewne wystarczyłoby przygotować po dwa warianty tego samego pytania i za pomocą instrukcji warunkowej wyświetlać właściwą (jeden dla kobiet, a drugi dla mężczyzn). Niestety w przypadku każdego dodatkowego wariantu pytania lista zmiennych w zbiorze wynikowym będzie nam rosła i znacznie utrudniała zbiorcze analizowanie odpowiedzi (bez podziału na płeć). Dlatego też zdecydowanie nie polecam tego typu rozwiązań.
Przed przystąpieniem do wykonania personalizacji chciałbym jeszcze nadmienić, iż PS QUAESTIO PRO daje nam możliwość wykorzystania dwóch podstawowych metod. Pierwsza z nich bazuje bezpośrednio na pytaniu ankietowym, które jest zadawane respondentowi na początku badania. Druga, pozwala na pobranie niezbędnych informacji wprost z bazy danych, jako zestawu zmiennych zawierających wymagane do personalizacji informacje. Odnosząc się bezpośrednio do naszego przykładu oznacza to, że w pierwszym przypadku, będziemy musieli zapytać o płeć respondenta, a w drugim informacje o niej pobierzemy z bazy (co oznacza, że musimy mieć do niej dostęp). Jak się więc domyślacie, ta forma realizacji, choć lepsza (bo nie wymaga zadawania dodatkowego pytania), nie nadaje się do wykorzystania w anonimowych badaniach. W związku z powyższym, tj. ze względu na większą uniwersalność w zastosowaniu, proponuję rozpocząć od omówienia pierwszego z wariantów.
Zebranie informacji o respondencie
Przygotowanie spersonalizowanej wersji kwestionariusza rozpoczniemy od umieszczenia pytania o płeć respondenta na samym początku ankiety (w polu Name wpisujemy nazwę plec), jak poniżej:
Następnie umieszczamy pytanie mierzące poziom satysfakcji, przedstawione w postaci tabeli na początku artykułu (w polu Name wpisujemy nazwę p1).
Ostatnim obiektem, który musi pojawić się w strukturze kwestionariusza, jest Scrip Item. Proponuję umieszczenie go bezpośrednio pod pytaniem o płeć i nadanie nazwy personalizacja.
Podstawowym przeznaczeniem obiektu Scrip Item jest możliwość umieszczania fragmentów poleceń skryptowych, które pozwalają na rozszerzanie standardowej funkcjonalności PS QUAESTIO PRO. Jak zapewne wiecie, jednym z narzędzi dostępnych w ramach systemu jest dedykowane środowisko programistyczne. Jeżeli podczas projektowania kwestionariusza pojawia się potrzeba utworzenia np. specyficznego rodzaju pytania, które nie zostało przewidziane w ramach standardowej funkcjonalności, to zawsze istnieje możliwość jej przygotowania w środowisku programistycznym. Dzięki obiektowi Scrip Itembadacz, który na co dzień nie posługuje się językiem skryptowym może bardzo łatwo dokonać samodzielnej implementacji kodu w programie. Zazwyczaj wystarczy proste Kopiuj, Wklej.
W naszym przykładzie posłużymy się prostym poleceniem warunkowym If….Then. Zasada wykorzystania będzie następująca: jeżeli respondent w pytaniu o płeć zaznaczył Mężczyzna to w odpowiednio oznaczonych miejscach zwanych znacznikami pojawi się stosowna treść. Automatycznie „obsłużony” zostanie również przypadek alternatywny tj. sytuacja, w której zaznaczoną płcią będzie Kobieta. Mam nadzieję, że nikomu z was nie będzie przeszkadzać, iż dla potrzeb tego przykładu poprzestanę na dwóch wymienionych kategoriach.
Zacznijmy od umieszczenia w obiekcie Scrip Item >pierwszej linijki kodu, który następnie spróbujemy rozbić na czynniki pierwsze:
If plec="M" Then
plec – jest nazwą pytania zawierającego kategorie odpowiedzi, które chcemy porównywać
M< – wartość wskazanej przez respondenta kategorii.
Uwaga: Szalenie istotna w tym momencie jest informacja, że polecenia skryptowe zawsze odwołują się do wartości (nazwy) zlokalizowanej w polu Name, a nie Response
Dzieje się tak dlatego, że wartość pola Name zostaje utworzona automatycznie podczas pierwszego wprowadzania listy kategorii (odpowiedzi). Każdorazowa, późniejsza modyfikacja Response nie powoduje zmiany zawartości pola Name (z wyjątkiem całkowitego usunięcia i wstawienia kategorii od nowa). Przykładowo, gdybyśmy po wprowadzeniu obu płci podjęli decyzję o zmianie ich kolejności edytując treść, to w polu Response widniałaby wartość Kobieta, natomiast w Name Mężczyzna. Można tu stosunkowo łatwo zaradzić pomyłkom – wystarczy do zmiany kolejności kategorii używać wyłącznie menu kontekstowego (znajdującego się pod prawym klawiszem myszy).
Jak zapewne zauważyliście, na powyższym zrzucie ekranu, dokonałem zmiany pola Name na wartości odpowiednio K i M. Zrobiłem tak tylko dla zwiększenia przejrzystości kodu. Wykonując samodzielnie to ćwiczenie wcale nie musicie tego robić, pozostawiając domyślnie utworzone wartości.
Kolejnym poleceniem, które umieścimy wewnątrz obiektu Scrip Item będzie:
p1.Label.Inserts["Pana_i"]="Pana"
gdzie:
p1 – nazwa pytania, do którego zostanie przypisana spersonalizowana treść,
["Pana_i"] – nazwa obiektu, w miejscu, którego pojawi się spersonalizowana treść,
"Pana" – dowolny ciąg znaków ograniczony znakiem cudzysłowu,
Pozostała część składni polecenia pozostaje zawsze niezmieniona, więc nie będę jej teraz szczegółowo omawiał.
Skoro wprowadzone przez nas polecenie ma wstawiać do pytania p1 zwrot Pana i w treści podmienić istniejący tekst stosownym fragmentem kodu tj.
Na początek chcielibyśmy zapytać o Pana/i ogólną ocenę Konferencji.
zamieniamy na:
Na początek chcielibyśmy zapytać o {Pana_i} ogólną ocenę Konferencji.
Jak zapewne pamiętacie z poprzednich moich artykułów, każdy dynamiczny obiekt umieszczany w treści pytań lub odpowiedzi musi zostać poprzedzony i zakończony nawiasem klamrowym. W każdej innej sytuacji zostanie potraktowany jak zwykła treść pytania.
Jeżeli w tym momencie próbujecie uruchomić ankietę chcąc zobaczyć efekt naszej pracy, to od razu uprzedzam, że nie będzie działać prawidłowo J. Składnia polecenia IF wymaga uzupełnienia, więc proszę was o jeszcze chwilę cierpliwości.
Analogicznie dokonujemy podmiany drugiego ze zwrotów znajdujących się w treści pytania p1. Najprościej będzie skopiować wstawioną przed momentem linijkę kodu i dokonać niewielkiej modyfikacji, jak poniżej:
p1.Label.Inserts["Pan_i"]="Pan"
Następnie wewnątrz treści pytania p1 poprzez analogię dokonać zmiany tekstu na znacznik:
W tym celu proszę wskazać, w jakim stopniu zgadza się Pan/i z poniższymi stwierdzeniami:
zamieniamy na:
W tym celu proszę wskazać, w jakim stopniu zgadza się {Pan_i} z poniższymi stwierdzeniami:
Możemy uznać, że „męską część” mamy załatwioną. Pozostaje nam przygotować wariant przewidziany dla kobiet. W tym przypadku praktycznie ograniczamy się do skopiowania „męskiego” wariantu poprzedzając wstawiane wartości poleceniem ELSE.
Else
p1.Label.Inserts["Pana_i"]="Pani"
p1.Label.Inserts["Pan_i"]="Pani"
Oczywiście musimy również zmodyfikować wstawiany zwrot (po znaku równości). Na koniec pozostaje nam jedynie zamknięcie polecenia słowem kluczowym End If.
W całości skrypt będzie, więc wyglądał następująco:
If plec="M" Then
p1.Label.Inserts["Pana_i"]="Pana"
p1.Label.Inserts["Pan_i"]="Pan"
Else
p1.Label.Inserts["Pana_i"]="Pani"
p1.Label.Inserts["Pan_i"]="Pani"
End If
Teraz już śmiało możemy wykonać próbę działania. W moim przypadku efekt końcowy jest następujący:
Gdyby po uruchomieniu podglądu ankiety za pomocą opcji Preview Interview pojawił się komunikat o wystąpieniu błędu, to poza samą treścią znajdziemy tam również informację o numerze linii kodu, w którym coś jest nie tak. Celowo piszę o tej funkcjonalności, gdyż w każdym innym przypadku, gdy pojawi się nam komunikat o błędzie związanym bezpośrednio z zawartością ankiety, mamy możliwość wglądu w źródłowy kod ankiety i dodatkową analizę zawartości. Mimo, iż pracując z PS QUAESTIO PRO bazujemy na graficznym środowisku, to bardzo często prawidłowa identyfikacja powstałego problemu będzie znacznie łatwiejsza dzięki możliwości podglądu kodu źródłowego i struktury poleceń. Dzieje się tak dlatego, że nie zawsze treść komunikatu o błędzie jesteśmy w stanie jednoznacznie zinterpretować.
Realizacja powyższego możliwa jest za pomocą opcji View Script znajdującej się w menu Tools.
Pamiętajmy, że dzięki powyższej opcji możemy jedynie przeglądać strukturę poleceń, ale nie mamy możliwości jakiejkolwiek jej edycji. Do tego celu służy wspominane już wcześniej przeze mnie środowisko programistyczne.
Znając już zasady towarzyszące budowaniu prostych poleceń języka skryptowego zachęcam was do samodzielnej próby uzupełnienia powyższego kodu o polecenia personalizujące pozostałe elementy pytania p1 znajdujące się w części związanej z kategoriami odpowiedzi. Podpowiem, że polecenie odwołujące się do poszczególnych kategorii we wszystkich pytaniach tabelarycznych to przykładowo:
p1.Categories.nazwa_kategorii.Label…….
Wykorzystanie informacji z baz danych
Natomiast w tym momencie chciałbym zaprezentować wam zakres zmian, jakie należy wykonać, aby skrypt personalizujący mógł być wykorzystany w drugim wariancie, o którym wspominałem tj. bazującym na wcześniej posiadanych o respondencie danych. Dla przypomnienia dodam, że użycie zmodyfikowanego kodu ma sens tylko i wyłącznie dla badań autoryzowanych, a jego prawidłowe działanie można zaobserwować dopiero po aktywacji projektu.
W pierwszej kolejności należy ukryć lub całkowicie usunąć pytanie plec, gdyż nie będzie nam na tę chwilę potrzebne. W zakresie zmian kodu znajdującego się wewnątrz obiektu Scrip Item musimy dokonać modyfikacji jedynie pierwszej linijki, zawierającej warunek sprawdzający IF tj.
If plec="M" Then
zamieniamy na:
If IOM.SampleRecord.Item["plec"] = "M" Then
gdzie:
["plec"] – oznacza nazwę zmiennej (umieszczonej przez badacza w bazie participants), w której będą znajdowały się stosowne kategorie.
"M" – wartość kategorii znajdującej się w zmiennej plec, która będzie podlegała porównaniu. Mogą to być również kody numeryczne np. 1 dla kobiety i 2 dla mężczyzny, lub jakiekolwiek inne symbole, wskazujące na właściwą płeć respondenta. Bardzo ważne jest abyśmy zawsze stosowali identyczny sposób kodowania płci ankietowanych. W przeciwnym przypadku istnieje ryzyko, że przez pomyłkę przypiszemy odwrotnie wartości kodów lub symboli i w efekcie treść przewidziana dla panów pojawi się u pań i odwrotnie. Chyba nie muszę opisywać, jakie może to mieć konsekwencje dla wskaźnika response rate :)
Pozostała część składni polecenia pozostaje zawsze niezmieniona, więc nie będę jej teraz szczegółowo omawiał. Niemniej, zainteresowanych zgłębianiem wiedzy tego typu kieruję do zawartej w programie dokumentacji DDL (Data Collection Developer Library), gdzie wszystkie użyte przeze mnie polecenia zostały szczegółowo opisane.
Teraz wystarczy jedynie wykonać aktywację projektu w trybie autoryzowanym tj. zaznaczając opcję Use participants to specyfiy who to interview, a co za tym idzie podpinając plik zawierający listę respondentów. Koniecznie musi on zawierać zmienną o nazwie identycznej jaka została użyta w skrypcie (w naszym przypadku jest to zmienna plec). W takiej sytuacji do celów testowych warto w dołączanym pliku umieścić kilka dodatkowych rekordów testowych i zweryfikować prawidłowe działanie skryptu dla obu kategorii.
Możliwości personalizacyjne dostępne w PS QUAESTIO PRO nie kończą się jedynie na ingerowaniu w treść ankiety. Mogą z powodzeniem dotyczyć również wszelkiego rodzaju akcji mass mailingowych. Najczęściej będą to wszelkiego rodzaju zaproszenia do wzięcia udziału w badaniu, przypomnienia czy też podziękowania za udział. Z powodzeniem możemy wykorzystywać system do przesyłania dowolnych komunikatów, które nie mają nic wspólnego z badaniami. Zdecydowanie polecam taką formę komunikacji, jako znacznie efektywniejszą w stosunku do klasycznych wysyłek poprzez skrzynkę pocztową. Różnica tkwi przede wszystkim w aspektach technologicznych, o których nie będę się szczególnie rozpisywał. Niemniej zyskujemy przede wszystkim na dwóch elementach. Pierwszy to znaczne skrócenie czasu wysyłania dużej liczby spersonalizowanych wiadomości, a drugi to minimalizacja ryzyka trafienia wysłanej wiadomości do spamu lub co gorsza zgłoszenia naszego serwera pocztowego na tak zwaną black listę.
Podsumowując dzisiejszy artykuł, chciałbym was gorąco zachęcić do próby wykorzystania przy pierwszej nadarzającej się okazji skryptu, który opisałem. Jeżeli dodatkowo będziecie mieli możliwość zweryfikowania, czy w waszym przypadku implementacja spersonalizowanej treści przyniosła wymierne korzyści w postaci większej liczby wypełnionych ankiet, to tym bardziej zachęcam do dzielenia się wnioskami.
We wstępnie wspominałem również o możliwości prezentowania respondentowi dowolnych informacji, które o nim posiadamy. Nawiązanie formy dialogu, w którym ankietowany będzie miał poczucie, że jego odpowiedzi wpływają na np. przyszły kształt naszej oferty lub sposobu realizowania usług, jest kolejnym bardzo ciekawym tematem, który być może w przyszłości będę miał okazję dla was zrelacjonować.