Obecnie 196 forumowiczów jest online
Obecnie 196 forumowiczów jest online
Pytania nie pasujące do innych kategorii.
Poprowadź mnie
star_border
Odpowiedz

DuracellTomi Google Tag Manager for WordPress a własny dataLayer

[ Edytowane ]
Student ✭ ✭ ✭

Witajcie,

 

taka sytuacja:

używam na stronie na WP wtyczki DuracellTomi's Google Tag Manager, korzystając z wbudowanych już zmiennych. Chcę dodać wymiar niestandardowy. Po dodaniu warstwy danych z tym wymiarem przestaje czytać warstwy zakodowane we wtyczce.

Jest jakiś sposób na dodanie tego wymiaru (stała dodawana do każdego wywołania kodu UA) nie wykorzystując własnych warstw danych?

Odpowiedź eksperta 1verified_user

Zaakceptowane rozwiązania
Zaakceptowane rozwiązanie.
Rozwiązanie
Zaakceptowane przez autora tematu: Marcin Bernad
września 2015

Dot.: DuracellTomi Google Tag Manager for WordPress a własny dataLayer

Wschodząca Gwiazda

A w jaki sposób dodajesz tą zmienną do warstwy danych? To znaczy w którym miejscu w kodzie pojawia się Twoja zmienna i w jaki sposób ją definiujesz?

 

Jeśli zajrzysz do źródła swojej strony znajdziesz tam gdzieś w kodzie coś takiego:
<!-- Google Tag Manager for WordPress by DuracellTomi - http://duracelltomi.com -->
<script type="text/javascript">
var gtm4wp_datalayer_name = "dataLayer";
var dataLayer = dataLayer || []
</script>

 

Jeśli chcesz, żeby Ci wszystko poprawnie działało to zdefiniuj swoja zmienną wcześniej (np. w szablonie header.php zaraz za otwartym tagiem <head>), np. w taki sposób:

 

<script>
var dataLayer = [{"myVar":"12344"}];
</script>

 

Jeśli natomiast nie masz takiej możliwości i Twoja definicja pojawia później, ale jeszcze przed kodem kontenera wówczas powinieneś użyć metody push:

 

dataLayer.push({"myVar":"12345"});

 

Trzeci przypadek to taki, że definicja pojawia się za kodem kontenera. 

Wówczas może się okazać, że podczas wysyłania odsłony (bo rozumiem, że swój wymiar wysyłasz wraz z odsłoną GA) zmienna ta zdefiniowana w taki sposób nie będzie jeszcze dostępna.

 

Wówczas należy zmienić regułę uruchamiającą tag GA z gtm.js na gtm.dom (czyli Element DOM dostępny).

 

Trzeba przy tym pamiętać, by przed tagiem GA nie uruchamiały się przypadkiem inne zdarzenia.

 

Natomiast mam pytanie, czy zawsze w danej sesji wartość tego wymiary będzie taka sama dla danego użytkownika? Bo jeśli tak to zamiast wysyłać wymiar przy każdej odsłonie możesz zmienić jego zakres w GA na sesję i wówczas wysyłać go w sesji tylko raz, a dla wszystkich hitów w danej sesji zostanie on dopisany w GA. Wówczas możesz przesyłać ten wymiar z jakimś niestandardowym zdarzeniem.

 

Tomasz Ciepłucha

Wyświetl rozwiązanie w oryginalnym poście


Wszystkie odpowiedzi
Zaakceptowane rozwiązanie.
Rozwiązanie
Zaakceptowane przez autora tematu: Marcin Bernad
września 2015

Dot.: DuracellTomi Google Tag Manager for WordPress a własny dataLayer

Wschodząca Gwiazda

A w jaki sposób dodajesz tą zmienną do warstwy danych? To znaczy w którym miejscu w kodzie pojawia się Twoja zmienna i w jaki sposób ją definiujesz?

 

Jeśli zajrzysz do źródła swojej strony znajdziesz tam gdzieś w kodzie coś takiego:
<!-- Google Tag Manager for WordPress by DuracellTomi - http://duracelltomi.com -->
<script type="text/javascript">
var gtm4wp_datalayer_name = "dataLayer";
var dataLayer = dataLayer || []
</script>

 

Jeśli chcesz, żeby Ci wszystko poprawnie działało to zdefiniuj swoja zmienną wcześniej (np. w szablonie header.php zaraz za otwartym tagiem <head>), np. w taki sposób:

 

<script>
var dataLayer = [{"myVar":"12344"}];
</script>

 

Jeśli natomiast nie masz takiej możliwości i Twoja definicja pojawia później, ale jeszcze przed kodem kontenera wówczas powinieneś użyć metody push:

 

dataLayer.push({"myVar":"12345"});

 

Trzeci przypadek to taki, że definicja pojawia się za kodem kontenera. 

Wówczas może się okazać, że podczas wysyłania odsłony (bo rozumiem, że swój wymiar wysyłasz wraz z odsłoną GA) zmienna ta zdefiniowana w taki sposób nie będzie jeszcze dostępna.

 

Wówczas należy zmienić regułę uruchamiającą tag GA z gtm.js na gtm.dom (czyli Element DOM dostępny).

 

Trzeba przy tym pamiętać, by przed tagiem GA nie uruchamiały się przypadkiem inne zdarzenia.

 

Natomiast mam pytanie, czy zawsze w danej sesji wartość tego wymiary będzie taka sama dla danego użytkownika? Bo jeśli tak to zamiast wysyłać wymiar przy każdej odsłonie możesz zmienić jego zakres w GA na sesję i wówczas wysyłać go w sesji tylko raz, a dla wszystkich hitów w danej sesji zostanie on dopisany w GA. Wówczas możesz przesyłać ten wymiar z jakimś niestandardowym zdarzeniem.

 

Tomasz Ciepłucha

Dot.: DuracellTomi Google Tag Manager for WordPress a własny dataLayer

Student ✭ ✭ ✭

@Tomasz_C dzięki za wyczerpującą odpowiedź.

 

Problemem było to, że dodawałem zmienną w headzie tuż przed </head>.
Po przeniesieniu na sam początek (jak zasugerowałeś) wszystko działa poprawnie.

 

Dzięki za pomoc.