Obecnie 215 forumowiczów jest online
Obecnie 215 forumowiczów jest online
Tutaj możesz rozmawiać na następujące tematy: zarządzanie kontem Analytics, przywracanie konta, ustawianie hierarchii kont, rozbieżności danych między AdWords a Analytics, łączenie AdWords z Analytics, importowanie celów e-commerce do AdWords, ustawienia remarketingu.
Poprowadź mnie
star_border
Odpowiedz

Universal Analytics i śledzenie zdarzeń

Nowicjusz ✭ ✭

Witam

 

Czy mogę prosić o pomoc w namierzeniu problemu z poniższym kodem? Chciałem śledzić zdarzenia, niestety funkcja mi nie działa. Oczywiście formularze i linki oznaczone są parametrem id.

 

<script> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');

ga('create', 'UA-XXXXXX-7', 'auto');
ga('send', 'pageview');

</script>
<script>

$('#_SimpleEmailForm_1').on('click', function() {
ga('send', 'event', 'formularz-kontaktowy', 'wyslano');
});

$('#NewsletterForm').on('click', function() {
ga('send', 'event', 'newsletter', 'wyslano');
});

$('#SendEmail').on('click', function() {
ga('send', 'event', 'wyslany-email', 'wyslano');
});


</script>

Odpowiedź eksperta 2verified_user
1 ZAAKCEPTOWANE ROZWIĄZANIE

Zaakceptowane rozwiązania
Zaakceptowane rozwiązanie.
Rozwiązanie
Zaakceptowane przez: Piotr Kazana (Community Manager)
marca 2016

Dot.: Universal Analytics i śledzenie zdarzeń

[ Edytowane ]
Wschodząca Gwiazda

Ogólnie to jest jakiś problem z wczytywaniem strony - przeciążony serwer, albo coś, bo nie chce wszystkiego mi załadować, a w konsoli javascript mam trochę błędów net::ERR_CONNECTION_RESET

Natomiast co do śledzenia zdarzeń to rozumiem, że chcesz by zdarzenie zostało odnotowane w momencie wysłania formularza.

Pod formularzem masz przycisk:
<input class="button" id="SendEmail" type="submit" onclick="return checkChangeForm();" value="Subskrybuj"/>

Jak widać w momencie jego kliknięcia wykonuje się funkcja checkChangeForm, która sprawdza formularz i dopiero gdy wszystkie pola są poprawnie wypełnione to go wysyła.

Zamiast Twojego kodu, który podałeś na początku wystarczy, że zrobisz tak jak poradził Maciek - czyli nie onlick, tylko onsubmit:

$('#NewsletterForm').on('submit', function() {
ga('send', 'event', 'newsletter', 'wyslano');
});

Dodatkowe rzeczy są niepotrzebne, bo się nadpisują.

Analogicznie dla formularz kontaktowego, który ma id np. ContactForm robisz kod:

$('#ContactForm').on('submit', function() {
ga('send', 'event', 'formularz', 'wyslano');
});

Tomasz Ciepłucha

Wyświetl rozwiązanie w oryginalnym poście

Dot.: Universal Analytics i śledzenie zdarzeń

Najlepszy Współtwórca
Sprobuj formularze ustawic na onSubmit

Dot.: Universal Analytics i śledzenie zdarzeń

Wschodząca Gwiazda
Najprościej by było zdiagnozować problem, jeśli podałbyś adres strony.
Tomasz Ciepłucha

Dot.: Universal Analytics i śledzenie zdarzeń

Nowicjusz ✭ ✭
Tomek, Maciek, proszę bardzo: http://www.dworkombornia.pl/pl/o-nas/newsletter - przykład to właśnie ten newsletter od id=NewsletterForm
Zaakceptowane rozwiązanie.
Rozwiązanie
Zaakceptowane przez: Piotr Kazana (Community Manager)
marca 2016

Dot.: Universal Analytics i śledzenie zdarzeń

[ Edytowane ]
Wschodząca Gwiazda

Ogólnie to jest jakiś problem z wczytywaniem strony - przeciążony serwer, albo coś, bo nie chce wszystkiego mi załadować, a w konsoli javascript mam trochę błędów net::ERR_CONNECTION_RESET

Natomiast co do śledzenia zdarzeń to rozumiem, że chcesz by zdarzenie zostało odnotowane w momencie wysłania formularza.

Pod formularzem masz przycisk:
<input class="button" id="SendEmail" type="submit" onclick="return checkChangeForm();" value="Subskrybuj"/>

Jak widać w momencie jego kliknięcia wykonuje się funkcja checkChangeForm, która sprawdza formularz i dopiero gdy wszystkie pola są poprawnie wypełnione to go wysyła.

Zamiast Twojego kodu, który podałeś na początku wystarczy, że zrobisz tak jak poradził Maciek - czyli nie onlick, tylko onsubmit:

$('#NewsletterForm').on('submit', function() {
ga('send', 'event', 'newsletter', 'wyslano');
});

Dodatkowe rzeczy są niepotrzebne, bo się nadpisują.

Analogicznie dla formularz kontaktowego, który ma id np. ContactForm robisz kod:

$('#ContactForm').on('submit', function() {
ga('send', 'event', 'formularz', 'wyslano');
});

Tomasz Ciepłucha

Dot.: Universal Analytics i śledzenie zdarzeń

Nowicjusz ✭ ✭
Dzięki Tomek, zaraz wdrożę tą zmianę i sprawdzę co się dzieje ze stroną.

Dot.: Universal Analytics i śledzenie zdarzeń

Nowicjusz ✭ ✭
Aha, ale jak mam link email i chcę wygenerować zdarzenie to tutaj już pozostawiam onclick zamiast onsubmit?

Dot.: Universal Analytics i śledzenie zdarzeń

Magister ✭
Tak, wtedy zostawiasz onClick

Dot.: Universal Analytics i śledzenie zdarzeń

Nowicjusz ✭ ✭

Witam, niestety nadal nic, mimo że dokonywałem próbnych pomiarów 3 dni temu - 0 zdarzeńEmotikon: Smutny

Dot.: Universal Analytics i śledzenie zdarzeń

Wschodząca Gwiazda
Zaraz po wczytaniu strony w konsoli js mam błąd:
Uncaught TypeError: Cannot read property 'on' of null

Na stronie korzystasz ze starej wersji jQuery, w której metoda "on" jeszcze nie istniała.

Musisz użyć nowszej wersji jQuery lub zamiast metody "on" użyć metody "live".
W przypadku aktualizacji jQuery sprawdź, czy po aktualizacji inne rzeczy nie przestaną Ci działać.

Poza tym cały ten fragment kodu jQuery weź dla pewności w następujący blok:

$( document ).ready(function() {
...tutaj wstaw swój kod jQuery...
});

Tomasz Ciepłucha

Dot.: Universal Analytics i śledzenie zdarzeń

Nowicjusz ✭ ✭
Tomek, dzięki wysłałem te informacje do administratora, czekam na zmiany. Natomiast mam inne pytanie - mam widget który na stronie odpowiada za wyświetlenie modułu gdzie można wstawiać opinie o stronie - chciałbym móc to zmierzyć - jak wiele osób kliknie mi w ten widget. Mam taki kod od autora widgetu
&lt;script src="http://www.stronie.pl/fdsjfdoaij54iojrwmddd43vlmfkgf/opinions.js">&lt;/script&gt;&lt;script&gt;BaltJ... hash: "fdsjfdoaij54iojrwmddd43vlmfkgf" });&lt;/script&gt;

Mam jakieś możliwości?

Dot.: Universal Analytics i śledzenie zdarzeń

Wschodząca Gwiazda
Na pewno są jakieś możliwości, ale nie widzę tego widżetu na Twojej stronie.
Więc Ci nie podpowiem, co dokładnie musisz zrobić.
A ten kod, który podałeś coś się "popsuł" w Twoim poście.
Spróbuj go jeszcze raz wstawić korzystając przy odpowiadaniu z opcji "Zaawansowane Opcje" (znajduje się pod przyciskami Anuluj/Postuj).
Tomasz Ciepłucha

Dot.: Universal Analytics i śledzenie zdarzeń

Nowicjusz ✭ ✭

witam, wrzucam raz jeszcze kod - do tego kodu nie mogę jednak dodać odnośnika. Pewnie bardziej pomocny byłaby sama zawartośc funkcji js?

<script src="http://www.mojastrona.pl/a6500a926495ef0285f2762defa2efec/opinions.js"></script> <script>// BaltJS.Widget({ hash: "a6500a926495ef0285f2762defa2efec" }); // </script>

Dot.: Universal Analytics i śledzenie zdarzeń

Wschodząca Gwiazda
Na podstawie tego nie jestem Ci w stanie pomóc.
Jak będziesz mieć ten działający widget na stronie to wówczas daj znać.
Tomasz Ciepłucha

Dot.: Universal Analytics i śledzenie zdarzeń

Student ✭ ✭ ✭
Czy wystarczyłaby ci zawartość pliku js? Nie mogę podać adresu strony na której to będzie działać. Mogę to jakoś wysłąć na priv?