Pomiar ruchu w ramce iFrame

Pomiar ruchu w ramce iFrame
Oceń artykuł!

Ramki iFrame oraz konta zbiorcze (tzw. roll up) – dwa tematy, których konfiguracja niejednego, szczególnie początkującego analityka webowego, przyprawia o przyspieszone tętno. I wcale nas to nie dziwi, szczególnie, że od jakiegoś czasu ‘stare’ instrukcje, tzn. dotyczące konfiguracji Google Analytics z kodem śledzenia ga.js oraz jego wariacji dc.js, przestają być użyteczne. Dzieje się tak z powodu wszechogarniającej migracji usług do najnowszej wersji Universal Analytics. Osoby, które o tym nie słyszały, zachęcamy do zapoznana się z tematem, zanim nastąpi straszny dzień, w którym dane przestaną się zbierać. Usługę Universal Analytics, można zaimplementować standardowo – umieszczając tracker biblioteki analytics.js w źródle strony lub z poziomu kolejnej nowości – Google Tag Managera.

Nierzadko mamy do czynienia z ramkami iFrame umieszczonymi na naszych serwisach, łopatologicznie mówiąc, ze stroną umieszczoną w stronie. Takimi ramkami są najczęściej formularze, a jeśli coś innego, to i tak sprowadza się to do jednego problemu: jak monitorować zachowanie użytkonika w tej ramce, nie umieszczając w GA błędnych informacji. Poradzimy sobie z tym dzięki konfiguracji konta zbiorczego. Poniżej przedstawimy taką konfigurację z opcją otagowania przycisku Wyślij w formularzu iFrame zarówno dla standardowego osadzenia kodu Universal Analytics, jak i dla kodu wstawianego poprzez Google Tag Managera.

Iframe w tej samej domenie co serwis.

Zaczynijmy od mniejszego zła, tzn. ramek w tej samej domenie co nasza witryna. Pomoc Googla nakazuje podstawowy kod śledzący GA umieścić na każdej podstronie naszego serwisu (podstawowy – wygenerowany z poziomu Administratora Analyticsa, niezmodyfikowany). Umieszczenie dodatkowo w kodzie ramki dokładnie takiego samego trackera GA prawie załatwia sprawę. Dla przypadku implementacji via GTM zamieszczamy w kodzie ramki kontener GTM, a następnie dopasowujemy regułę tagu Universal Analytics, tak by odpalał się na każdej stronie posiadającej ten kontener. Ta sama domena niweluje problem przekazywania informacji na temat źródeł ruchu. Jednak popełniamy tu znaczący błąd. Podczas załadowania stronki z ramką, GA fizycznie zarejestruje dwie odsłony, podczas gdy faktycznie dla nas to tylko jedna odsłona.

Rozwiązanie dla obu opcji jest proste – zapobiec wywoływaniu się odsłony w ramce.

W standardowej implementacji, należy usunąć z tracker ramki linijkę odpowiedzialną na wywoływanie odsłony, jak poniżej pokazano:

Dla implementacji poprzez GTM, należy usunąć tę podstronę z reguły tagu aktywującego kod z odsłoną GA, jak poniżej:

Teraz wystarczy odpowiednio otagować wypełnienie forlumarza zdarzeniem (dla każdej z metod implementacji GA wygląda to inaczej, co stanowi materiał na oddzielnego posta) i gotowe.

Pora na drugi przypadek..

IFrame w innej domenie niż serwis.

Otagowanie buttona ‚Wyślij‘ jak wyżej nie przekaże prawidłowego źródła pochodzenia użytkownika a jedynie domemę, w której umieszczona jest ramka. Chcielibyśmy traktować te domeny jak jedność, tzn poruszając się między nimi przekazywać informację o pierwotnych źródłach ruchu. Oto jak podejść do tego technicznie.

Standardowa implemenatcja Universal Analytics wymaga następującej modyfikacji kodu:

Zwracam uwagę na brak linijki odpowiadającej za wywoływanie odsłony w ramce. Uważać też należy, by nie przekleić bezmyślnie numeru UA-XXXXXX-X. To jest numer usługi, który jednoznacznie identyfikuje, do której usługi mają wpadać dane w narzędziu Google Analytics. Identyfikator ten znajdziemy w panelu Administratora, w zakładce Ustawienia Usługi. Numer UA nie zmienia się na każdej z witryn, ponieważ chcemy, by dane z różnych domen zbierały się w jednym miejscu.

Sama modyfikacja kodowa to za mało. Należy także wykluczyć owe domeny z poziomu samego Analyticsa odwiedzająć zakładkę Administrator -> Odsyłająca lista wykluczeń:

Konfiguracja z poziomu GTM, to także wykluczenia z poziomu Administratora Google Analyticsa, ale przede wszystkim następująca konfiguracja z poziomu interfejsu narzędzia:

Zdarzenia konfigurujemy zmieniając w nich jedynie domenę pliku cookie na ‚auto’ analogicznie jak powyżej. Należy nadal pamiętać o wykluczeniu z reguły adresu ramki.

Tym samym poradziliśmy sobie nie tylko z tagowaiem iFrame, ale także z tworzeniem konta zbiorczego. Samo konto zbiorcze pozwala patrzeć na dane w ujęciu całościowym, np kiedy jesteśmy właścicielami domena.pl, sub.domena.pl, sub2.domena.pl i każda z nich linkuje do każdej. Ważne, by wiedzieć skąd użytkownik przybył na którąś z nich (np. z google, cpc) niż jak przechodził pomiędzy nimi. Prawidłowo skonfigurowane konto zbiorcze daje takie informacje.


UWAGA:

To co zaimplementujemy niezwłocznie sprawdzamy w raportach Czasu Rzeczywistego. Google Analytics zachowuje się jednak w tym przypadku dość nietypowo. W momencie, kiedy uruchomiony zostaje tag w ramce, nie zanotujemy odsłony, natomiast w Raportach Zawartości Czasu Rzeczywistego pojawią się adresy URL ramek, które nie trafią do raportów.

W testowaniu pomoże filtr dodający nazwę hosta do adresu URI, skonfigurowany jak poniżej. Taki filtr jest niezbędny dla kont zbiorczych śledzących domeny, z których chcemy rejestrować wszystkie odsłony. Pozwala on odróżniać domeny w raportach.

To nie wszystkie anomalia. Podobnie dzieję sie w przypadku źródeł i mediów ruchu. Zrzut poniżej jest tego dowodem. Do Raportów ruchu trafiają już prawidłowe źródła.

Ciężko wyjaśnić czemu Analytics tak się zachowuje. Pracy to nie ułatwia, ale warto mieć świadomość takiego zachowania. Sprawdzając wyniki za jakiś czas będziemy mogli się przekonać, że wszystko jest w porządku.

Redaktor