O śledzeniu kampanii emalingowych w Google Analytics i nie tylko


Możliwości śledzenia kampanii marketingowych typu baner czy link sponsorowany są doskonale znane użytkownikom Google Analytics. Właściwie każdą akcję marketingową, która kończy się wejściem na stronę, jesteśmy w stanie zidentyfikować bardziej lub mniej dokładnie. Możemy to zrobić dzięki prostemu mechanizmowi przekazywania, po kliknięciu, parametrów UTM na stronę, które identyfikują nasze akcje marketingowe. Jeśli strona nasza się załaduje podczas wizyty, a wraz z nią kod Analytics to Google Analytics zarejestruje zdarzenie (wizytę z określonego źródła np. baneru).

W ten sam sposób możemy śledzić wejścia na stronę, z naszych kampanii emailingowych, dodając parametry kampanii do adresu strony, na którą ma trafić osoba po kliknięciu na link. np.:

www.moja-strona.pl/index.html?utm_source=mailing-baza123&utm_medium=e-mail&utm_campaign=promocja-zimowa

Jeśli chcemy wykorzystywać analitykę internetową w rozwijaniu biznesu i robimy kampanie e-mailingowe to właściwie nie możemy pozwolić sobie na brak tego typu oznaczania wszystkich linków prowadzących z naszego maila promocyjnego. Dobrą praktyką jest także różnicowanie poszczególnych linków (czy na górze, na dole, z innym przekazem lub call to action) przy pomocy zmiennej utm_content (rodzaj reklamy – tego typu dane będą widoczne w raportach dotyczących treści reklam). Pomogą to w ocenie efektywności zawartości treści naszego e-maila promocyjnego.

analytics-emailing-ad-report_0

Zatem ocena efektywności treści maila (ilość wejść na stronę w stosunku do ilości wysłanych maili ) nie jest problemem. Możemy ocenić też efektywność zamieszczonych linków, tak więc nic więcej nam nie potrzeba. No prawie nic bo nie znamy stosunku otwarć maili do ilość kliknięć oraz wysłanych maili.

campaign-monitor_0

Oczywiście obecnie większość systemów do wysyłki emalingu ma tego typu miary (czyt. open rate), ale nam przecież chodzi o posiadanie danych w jednym miejscu i sprowadzenie ich do jednego mianownika, tak abyśmy mogli je porównywać z innymi działaniami marketingowymi. Stąd, tak jak chcę wiedzieć ile było wyświetleń moich reklam bo stosunek ilości wyświetleń do ilości konwersji jest dla mnie miarą oceny skuteczności całości kampanii, to tak samo chciałbym wiedzieć ile było otwarć mojego promocyjnego maila.

Problem 1 – Mierzenie ilości otwarć maili w kampaniach e-mailingowych

Mierzenie otwarcia e-maila w sposób tradycyjny nie było możliwe, bo nie zachodził moment przeładowania się kodu Google Analytics na naszej stronie. Bez wejścia na stronę to się nie mogło po prostu stać. Na szczęście, obecnie, posiadamy możliwość wykorzystywania funkcji Universal Analytics – Measurement Protocol, który pozwala na wysłanie, bezpośrednio do GA, informacji o określonym zdarzeniu czy akcji.

Jeśli ktoś nie miał do czynienia z Measurement Protocol to:

Dzięki Measurement Protocol (MP), możemy wysłać informacje bezpośrednio do serwerów Google, bez potrzeby wchodzenia na stronę i ładowania kodu GA. Przy pomocy metody GET lub POST, możemy np. wysłać informacje z fizycznego sklepu (np. z kasy) o wykonanej sprzedaży czy wizycie w sklepie. Możemy wysłać informacje o ilości otwarć drzwi w salonie itp. itd. Właściwie nie ma obecnie barier w kwestii mierzenia świata offline i online przy pomocy Google Analytics, właśnie dzięki MP. Z tej opcji także możemy skorzystać przy okazji śledzenia maili. To co można obecnie zrobić to wysłać informację do naszego profilu GA, że e-mail został otwarty.

Przygotowanie e-maila do mierzenia jego otwarć

Niestety nie każdy rodzaj maila da się ta łatwo mierzyć. Aby móc wykorzystać MP potrzebujemy maila w formacie HTML. Zwykły tekstowy niestety się nie nada. Czemu? Ponieważ musimy spowodować, aby nasz kod MP został wywołany. Dokonać tego możemy symulując pobranie obrazka z zewnętrznego serwera. Fragment kodu html  maila będzie wyglądał w ten sposób:

<img src=”https://www.google-analytics.com/collect?v=1&tid=UA-57625181-2&t=pageview&cn=kampania-userid&cs=steps-mailing&cm=email-opened&t=pageview&dp=%2F1-step-emailing&cid=1512344365.1412850309&dh=splash&cm1=1″/>

W tagu oznaczającym obrazek <img> zawarłem kod MP, który po jego wywołaniu wyśle odpowiednie dane do serwera Google Analytics. W momencie otwarcia maila, nasz serwis będzie próbował pobrać wszystkie elementy zewnętrzne, w tym obrazki (jeśli na to pozwala konfiguracja naszego klienta poczty). W ten sposób wywoła się także nasz kod MP. Trzeba brać pod uwagę, że MP omija zupełnie naszą stronę internetową, stąd w przypadku MP utrudnione są wszelkie kombinacje z związane z zarządzaniem danymi przychodzącymi do GA przez GTM czy innymi manipulacjami kodu GA. Ale wracając do tematu, jakie informacje, w takim razie, chcę wysłać do serwera?

Fragment pierwszy:

https://www.google-analytics.com/collect?v=1

Odpowiada za wysłanie danych na serwer GA oraz wersję protokołu, która obecnie jest “1”. Ten fragment się nie zmienia.

fragmenty pozostałe, nie wszystkie obowiązkowe, należy konfigurować ze względu na swoje kampanie.

  1. tid=UA-57625181 – numer ID naszego profilu Google Analytics
  2. t=pageview – typ zdarzenia (hit type)
  3. cn=kampania-userid – nazwa kampanii (campaiqn name)
  4. cs=steps-mailing   – źródło kampanii (campaiqn source)
  5. dp=1-step-emailing – ścieżka dokumentu (document path)
  6. cid=1512344365.1412850309 – tzw. Client ID czyli unikalny identyfikator użytkownika
  7. cm1=1 – miara niestandardowa (opcja)
  8. dt= tytuł odwiedzanej wirtualnej podstrony określającej mail promocyjny

O wszystkich parametrach Measurement Protocol można przeczytać w pomocy Google Analytics, a  testowego maila, w formacie HTML, można zobaczyć tutaj.

Na marginesie, Gmail bardzo dobrze znosi maile w formacie HTML jeśli ktoś chce testować, wysyłać tego typu maile. Wystarczy zaznaczyć całość w formacie HTML i po prostu wkleić w nową wiadomość w Gmailu.

Raportowanie w Google Analytics krok po kroku

Krok 1 – Otwarcie e-maila

Jeśli nasz mail jest gotowy i go otworzymy w przeglądarce lub w kliencie poczty (np. Gmailu, Outlooku itp. z włączoną opcją pobierania obrazów) to w naszym koncie Analytics powinna pojawić się informacja o otwarciu maila (jako wirtualna wizyta na podstronie, którą określiliśmy przy pomocy zmiennej “dp” oraz tytułem w zmiennej “dt” .

analytics-emailing-1_0

krok 2 – Kliknięcie na link w mailu

Kolejną rzeczą jaka powinna się stać to kliknięcie na jakiś link w naszym e-mailu i przeniesienie użytkownika na konkretną stronę promocyjną, kontynuującą przekaz reklamowy z naszego promocyjnego maila. W moim przykładzie będzie to prosty link przenoszący na stronę docelową promocji z odpowiednimi parametrami odnoszącymi się do konkretnej kampanii.

http://strona-docelowa.com/index.html?utm_source=steps-mailing&utm_medium=email-clicked&utm_campaign=kampania-userid

W tym momencie Google Analytics zarejestruje wejście na określoną stronę

analytics-emailing-2_0

To, o czym należy pamiętać to, aby wykorzystywać te same oznaczenie źródła i nazwy kampanii jak przy okazji oznaczenia otwarcia maila. Będziemy mieli wtedy przejrzysty obraz sytuacji w naszych raportach. dotyczących kampanii.

analytics-emailing-campaign-reports_0

Jedna kwestia jaka się pojawia to fakt, że w danej chwili nie zawsze będziemy śledzić poszczególnych użytkowników. Jeśli dodamy niestandardowy wymiar, w którym będziemy gromadzić dane dotyczące unikalnych identyfikatorów użytkownika nadawanych przez GA (client Id), to zobaczymy, że różnią się one między sobą w wymiarze otwarć maile i kliknięć w link.

analytics-emailing-clientid_0

W momencie przesłania przy pomocy MP danych dotyczących otwarcia maila, musimy także podać unikalny identyfikator użytkownika (tze. CID – Client ID). Może to być dowolny ciąg cyfr, ale jest to zmienna obowiązkowa. W momencie jeśli ją ustalimy, dodamy do linka i prześlemy przy pomocy MP, GA rejestruje wejście na określoną wirtualną stronę (imitującą otwarcie maila) jednego użytkownika o określonym CIDie. W momencie kliknięcia na link i wejścia na stronę, użytkownik otrzymuje nowy CID (bo wszedł na stronę i załadował się kod GA, który nadał ciastko), chyba, że miał go już wcześniej bo był na stronie. Jeśli oba te CIDy się nie zgadzają, nie są takie same, to na stronie będziemy rejestrować dwóch użytkowników – tego co otworzył maila i tego co kliknął, mimo, że fizycznie jest to ten sam użytkownik.

analytics-emailing-2-users_0

Ponieważ my określiliśmy sobie tą samą nazwę kampanii i źródła dla kliknięć i otwarć to nam sytuacja powyższa nie przeszkadza w ocenie efektywności kampanii. Jedyny problem występuje, jeśli chcielibyśmy ocenić efektywność dla poszczególnych użytkowników (np. kto przeczytał maila, ale nie wszedł na stronę) oraz drugi przypadek to kwestia otwarcia maila na jednym urządzeniu (np. smartfonie) i późniejszą wizytę na stronie z innego urządzenia (np. desktopu). W takiej sytuacji potrzebujemy wykorzystać opcję gromadzenia danych o użytkownikach (ich uniklanych CIDów jak i/lub User ID czyli unikalnych identyfikatorów nadawanych przez nas, a nie przez GA).

Sledzenie otwarć e-maila i wejść dla poszczególnych unikalnych użytkowników

W moim przykładzie, zebrałem CIDy poszczególnych użytkowników odwiedzających stronę przy pomocy GTM oraz niestandardowych wymiarów. Dodałem także niestandardową miarę, która zbiera dane o  otwarciach maila. (w naszym linku przekazywanym w MP przy pomocy zmiennej cm1=). Dzięki temu mogłem stworzyć niestandarodowy raport dotyczący otwarć maila oraz kliknięć na link dla poszczególnych unikalnych użytkowników.

analytics-emailing-raport-custom_0

Co trzeba zrobić, aby to osiągnąć?

Wiele systemów emailingowych ma możliwości pobierania lub tworzenia własnych unikalnych identyfikatorów użytkowników więc być może w Twoim systemie będzie łatwiej. W moim przykładzie, dla celów naukowych, będziemy posługiwać się CIDami tworzonymi przez Google Analytics. A więc co nam jest potrzebne?

Założenia i wykonanie

Użytkownik musi w jakiś sposób dać się zidentyfikować na naszej stronie. Na przykład zapisać się na listę emailingową, wypełniając formularz. W tym samym momencie poprzez ukryte pole w formularzu zbieramy jego CID (unikalny identyfikator GA –  Client ID), który został mu przypisany przez GA w momencie wejścia na naszą stronę i umieszczony w jego ciastku. Ten CID  przypisujemy do maila, nazwiska danego użytkownika (CID jest przesyłany w linku przy pomocy MP – zobacz e-maila w podglądzie źródła)

W momencie wysyłania maili do naszej bazy w linku wysyłanym przez MP umieszczamy zebrany CID. W ten sposób otworzenie maila oraz kliknięcie będzie zidentyfikowane jako zrobione przez jednego użytkownika, a nie dwóch, jak to było wcześniej. Oczywiście musimy tu założyć, że w między czasie użytkownik nie wyczyścił ciastek.

analytics-emailing-1-user

Identyfikacja pomiędzy urządzeniami odbywa się w podobny sposób, jednak tutaj potrzebujemy trochę więcej gimnastyki z przekazywaniem unikalnych identyfikatorów. Często lepszym rozwiązaniem jest User Id, o czym będę pisał w kolejnych artykułach, żeby nie mieszać już i tak w przydługim poście ;).

W jaki sposób zbierałem dane o CID poprzez formularz?

Cała operacja przebiegała w takiej kolejności:

  1. Stworzyłem formularz, który posłuży za bazę danych (jak to zrobić w linkach poniżej)
  2. Połączyłem formularz na stronie ze stworzonym arkuszem
  3. Stworzyłem niestandardowy wymiar, w którym będzie przechowywany CID
  4. Poprzez GTM i prosty javascript pobieram CID z ciastka użytkownika
  5. Przekazuję CID jako niestandardowy wymiar do Google Analytics
  6. W momencie zapisania formularza, CID jest przekazywany przez forumarz do arkusza, który u mnie pracuje jako baza danych.

Kilka rozwinięć skrótów myślowych z listy powyżej.

Tak jak napisałem wcześnie, wiele systemów emalingowych wystawia nam gotowe formularze do wstawienia na stronę. W takich formularza możemy także przekazywać dodatkowe dane i łatwo je później umieszczać w linkach przy pomocy wewnętrznych zmiennych danych systemów. Na potrzeby tego przykładu, zbierałem dane dotyczące użytkowników w bazie stworzonej w Google Spreadsheet. Formularz ze strony przekazuje do arkusza dane z formularza, które później mogę wykorzystać. Przykład formularza można obejrzeć tutaj, a sposób przekazywania danych z zewnętrznych formularzy do Google Spreadsheets został opisany w wielu miejscach, między innymi tutaj jest niezły opis.

Tworzenie niestandardowego wymiaru  w Google Analytics

Stworzenie niestandardowego wymiary w Google Analytics jest bardzo proste. Wystarczy pamiętać, aby w przypadku zbierania danych na poziomie użytkownika (bo unikalny identyfikator jest na tym poziomie) ustawić to przy tworzeniu wymiaru (scope=user).

analytics-emailing-custom-dimension

Teraz tylko należy skupić się na przekazaniu to danego wymiaru zmiennych. To możemy zrobić z poziomu GTM.

analytics-emailing-gtm-custom-dimension

Użyłem makra (makra są oznaczone nawiasami klamrowymi {{makro}}) , które przekazuje jako wymiar niestandardowy CID pobrany przez inne makro z ciastka nadanego przez GA danemu użytkownikowi.

Tak więc, aby pozyskać ciastko nadane przez GA, tworzę makro {{clientID}}, które będzie pobierało ciastko first-party o nazwie _ga.

analytics-emailing-capture-ga-cookie

W ten sposób nazywa się ciastko nadawane przez Google Analytics.

analytics-emailing-console-ga

Następnie tworzę makro {{captureID}}, które wykorzysta pobrane ciastko i je lekko obierze ze zbędnych w tej chwili danych.

analytics-emailing-var-cookie

Prosty skrypt JS podzieli nam ciastko wg występujących kropek a następnie złoży je na nowo tylko z fragmentem 3 i 4. W ten sposób zostaje nam dokładnie tylko Client ID ;). To przekazujemy właśnie jako wymiar niestandardowy.

To co nam pozostaje to tylko przekazanie pobranego clientID z ciastka nadanego przez Google analytics to formularza i wysłanie go razem z imieniem do naszej bazy danych. Ja akurat zrobiłem to przy pomocy tagu GTM –  Custom HTML i  prostego skryptu, który pobiera jeszcze raz ClientID i przekazuje go do formularza w ukrytym polu o identyfikatorze ID=clientID.

analytics-emailing-getid-script

W momencie naciśnięcia guzika Submit, CID wraz z wpisanym imieniem ląduje u mnie w bazie.

analytics-emaling-database

Bazę na żywo, można zobaczyć tutaj i spróbować samemu wypełnić formularz na tej stronie

Tworzenie niestandardowej miary w Google Analytics

Dodatkowo, na potrzeby przykładu stworzyłem niestandardową miarę – open email, w której trzymam informacje o otwarciach mojego e-maila, a informację o tym zdarzeniu przekazuję poprzez Measurement Protocol i zmienną “cm1”. W ten sposób mogę dodatkowo wykorzystywać informację o otwarciach e-maila, jako miarę w moich raportach. Pomysł ten opisany był przy okazji artykułu o tym samym temacie przez Lunametrics.

analytics-emailing-custom-metrics_1

Dzięki temu mogę zobaczyć, w łatwy sposób, w jaki sposób zachowują się użytkownicy używający więcej niż jednego urządzenia. Na przykład otwierają maila na smartfonie, a później na desktopie i dopiero wtedy odwiedzają stronę.

analytics-emailing-cross

Podsumowanie

Temat śledzenia kampanii e-mailingowych nie jest nowy, ale w połączeniu ze śledzniem unikalnych użytkowników, jest dość rzadko stosowany. Z kolei jeśli ktoś na poważnie myśli o kanale marketingowym jakim jest E-mailing i podejmuje wysiłek oceny efektywności różnych, wykorzystywanych, kanałów marketingowych, to warto porównywać je względem siebie na tym samych zasadach. Na przykład pod wspólnym mianownikiem jakim jest Google Analytics. A dodanie kulku zmiennych do linków w e-mailingach to nie jest żaden problem problem przy obecnych możliwościach systemów e-mailingowych. Mało roboty a dużo zabawy 🙂

PS Otwarcie vs otworzenie ? 🙂

10 Comments

Add yours
  1. 1
    Adam Sajkowski

    świetny artykuł, kampanie e-mailingowe (przynajmniej) u mnie zaczynają docierać do coraz szerszego grona odbiorców, choć może miałem na to złe spojrzenie 😉

  2. 2
    Patryk Zieliński

    Tego właśnie szukałem 🙂 Wprowadzam newsletter na stronie i akurat dokładnie o to mi chodzi 🙂 A tak na marginesie ile zajęło Ci pisanie tego artykułu? 🙂

  3. 4
    Artur Łowigus

    Witam,
    może trochę naiwne pytanie, ale czy skoro piszesz o CID “Może to być dowolny ciąg cyfr, ale jest to zmienna obowiązkowa. ” to czy system będzie zliczał otwarcia maili – jeśli przypiszę stała wartość np. 555, (bo innej możliwości nie mam), czy będzie widział tylko otwarcie maila przez użytkownika nr 555.

    • 5
      Przemysław Modrzewski

      Będziesz miał otwarcia od unikalnego CIDa, ale nie jest to problemem do póki nie analizujesz aktywności poszczególnych użytkowników. W takim przypadku musisz dodawać unikalny CID do każdego wysłanego maila. Z tym, że nie sądzę, że to jest ten etap analiz. Nas głównie interesuje efektywność tego konkretnego medium. Tak jak interesuje Cię ilość wyświetleń reklamy względem kliknięć w reklamach AdWords. Tak tutaj interesują nas otwarcia maila względem aktywności typu klik.

  4. 6
    Antoni

    bardzo świetny materiał, można podszkolić swój fach w emarketingu 😉 … swoją drogą nie myślałem, że kampanie e-mailowe mogą przynosić takie profity…

  5. 9
    darec

    Mam stały cid.
    Ilość zdarzeń 25000, ilość unikalnych zdarzeń 1500. Czym zatem w takim przypadku są unikalne zdarzenia i czy zakładając że nikt nie otwierał maila na kliku urządzeniach mogę założyć, że maila otwarło 25000?

  6. 10
    Angelika

    Analytics jest naprawdę bardzo przydatnym narzędziem w marketingu internetowym, bez względu na to jaką konkretną jego dziedziną się zajmujemy. Z całą pewnością warto więc z niego korzystać – zdecydowanie ułatwia pracę i pozwala lepiej rozumieć jak przez użytkowników odbierane są tworzone przez nas treści.
    P.S. Bardzo ciekawy artykuł z dużą ilością praktycznych wskazówek! 🙂

+ Leave a Comment