Obecnie 192 forumowiczów jest online
Obecnie 192 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

Ładowanie 2x kodu GA via GTM

Student ✭

Hej,

 

mam taki dziwny problem otóż chciałem troche zminimalizować ilość tagów bo dużo naprodukowałem i w celu ich zuniwersalnienia chce sobie dynamicznie zmieniać GA ID w tagach.

 

Zdefiniowałem zmienną w JS która sprawdza w którym dziale strony jestem i zwraca nazwę działu do tabeli przeglądowej, która zwraca właściwe GA ID.

 

Problem polega na tym, że jak zmieniam dział A na B to GTM ładuje mi kod GA z działu A i B jak zmienie na na C to załaduje mi kod z B i C - jakby to pamiętał

 

Zmienna JS

GTM_afltn_var.png

 

... i tabela 

 

GTM_gaidswitch_var.png

 

Może coś źle zrobiłem?

Odpowiedź eksperta 1verified_user

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

Dot.: Ładowanie 2x kodu GA via GTM

Wschodząca Gwiazda

Na pewno rozwiązaniem było by przeniesienie tego kodu ze zmiennej Afltn do niestandardowego tagu HTML, który byłby uruchamiany regułą gtm.js.
Kod mógłby wyglądać tak:

 

<script>

var p =window.location.path;

switch(p[1]){
    case 'szkola':
    case 'ksiegarnia':
    case 'hurt':
                dataLayer.push({'event': 'customEvent', 'Afltn': p[1]);break;
    default:
        dataLayer.push({'event': 'customEvent', 'Afltn': 'detal');
}

</script>

 

Następnie masz 2 opcje:

1. tworzysz regułę opartą o niestandardowe zdarzenie 'customEvent', która odpala tag GA

lub

2. odpalasz tag GA za pomocą gtm.dom (w tym momencie zmienna Afltn będzie już ustawiona)

 

Oczywiście w obu przypadkach musisz utworzyć zmienną warstwy danych Afltn.

Tomasz Ciepłucha

Wyświetl rozwiązanie w oryginalnym poście


Wszystkie odpowiedzi

Dot.: Ładowanie 2x kodu GA via GTM

Wschodząca Gwiazda
Zdefiniuj co to znaczy "ładuje mi kod GA z działu A i B".
Podałeś jak utworzyłeś zmienne, ale nie napisałeś w jaki sposób wykorzystujesz to w tagach.

Zrób sobie coś takiego, że w tym kodzie, gdzie definiujesz Afltn dodaj zaraz po definicji var path.... linijkę: console.log(path[1]);
Następnie odpal tag w trybie podglądu i otwórz sobie konsolę.
W momencie gdy klikasz do innego działu, zanim nastąpi przejście (w konsoli pojawia się napis Navigated to....) to wykonywanych jest jeszcze wiele różnych czynności.
Przy każdej z nich następuje określenie wszystkich zmiennych i zanim przejdziesz ze strony A do strony B GTM widzi Twoją zmienną path[1] jako strona A, a dopiero po przeładowaniu strony widzi B.
Tomasz Ciepłucha

Dot.: Ładowanie 2x kodu GA via GTM

Student ✭
Zmienna GAID_Switch zwraca GA ID i to ładuje w Identyfikator śledzenia tagu GA - na razie pageViews.

W consoli ładnie pokazuje że odpala JS wiele razy ale za kazdym razem jest tam to czego oczekuje czyli jak przechodze ze strony "szkoła" do "hurt" to mam w consoli "hurt" i początkowo wszystko jest cacy ale na samym końcu jak w trybie podglądu kończy ładować stronę i skrypty wtedy wrzuca mi kod GA ze szkoły ...... i tak pomiędzy wszystkimi działami ....

Dot.: Ładowanie 2x kodu GA via GTM

Wschodząca Gwiazda
Jakim zdarzeniem uruchamiasz tag GA?
Tomasz Ciepłucha

Dot.: Ładowanie 2x kodu GA via GTM

Student ✭
Miałem standardowo "Wszystkie strony" do pageViews, zmienilem na gtm.dom ale to zupełnie nic nie dało
Zaakceptowane rozwiązanie.
Rozwiązanie
Zaakceptowane przez: Piotr Kazana (Community Manager)
kwietnia 2016

Dot.: Ładowanie 2x kodu GA via GTM

Wschodząca Gwiazda

Na pewno rozwiązaniem było by przeniesienie tego kodu ze zmiennej Afltn do niestandardowego tagu HTML, który byłby uruchamiany regułą gtm.js.
Kod mógłby wyglądać tak:

 

<script>

var p =window.location.path;

switch(p[1]){
    case 'szkola':
    case 'ksiegarnia':
    case 'hurt':
                dataLayer.push({'event': 'customEvent', 'Afltn': p[1]);break;
    default:
        dataLayer.push({'event': 'customEvent', 'Afltn': 'detal');
}

</script>

 

Następnie masz 2 opcje:

1. tworzysz regułę opartą o niestandardowe zdarzenie 'customEvent', która odpala tag GA

lub

2. odpalasz tag GA za pomocą gtm.dom (w tym momencie zmienna Afltn będzie już ustawiona)

 

Oczywiście w obu przypadkach musisz utworzyć zmienną warstwy danych Afltn.

Tomasz Ciepłucha

Dot.: Ładowanie 2x kodu GA via GTM

Student ✭
Niestety bez zmian ....
Problem musi leżeć gdzieś indziej .... może w GTMie?

Chyba odpuszczę pageViews i podepne to tylko pod eventy może choć tak zadziała .....
Ale wkurza mnie że tak prosta rzecz robi taki problem

Dot.: Ładowanie 2x kodu GA via GTM

Student ✭

Jednak jest OK :-)

 

Nie wiedziec dlaczego wtyczka Google Tag Assistant do Chrome kłamie ..... i trochę zbiła mnie z tropu.

Dot.: Ładowanie 2x kodu GA via GTM

Wschodząca Gwiazda
No na przyszłość fajnie jeśli napiszesz, że używasz wtyczki Tag Assistant, która mija się z prawdą ostatnio w wielu rzeczach Emotikon: Szczęśliwy
Najlepszym sposobem debugowania GTM'a jest jednak tryb podglądu.
Tomasz Ciepłucha

Dot.: Ładowanie 2x kodu GA via GTM

Student ✭
Oczywiście że używam trybu podglądu bez przerwy tylko tak się zasugerowałem tym co mi Tag Assistant pokazywał że zapedziłem się w kozi róg zupełnie bez sensu. Posprawdzałem wszystko w live w GA i działa pięknie moja pierwotna już udoskonalona wersja kodu JS ....

Dzięki za pomoc :-)