Obecnie 126 forumowiczów jest online
Obecnie 126 forumowiczów jest online
Jeśli jesteś nowy i zaczynasz korzystanie z AdWords w tej kategorii możesz zadawać pytania na temat ustawień kampanii i budżetu, zasad reklamowych, zarządzania kontem czy zatwierdzania reklam.
Poprowadź mnie
star_border
Odpowiedz

Własne skrypty w GTM

B
Student ✭ ✭

Witam,

 

Chciałbym dowiedzieć się dzisiaj czy istnieje możliwość dodania skryptów przekazujących maila do serwisów zbierających opinie do Google Tag Managera, a jeśli się da i to działa to w jaki sposób można to zrobić? 

 

W tym momencie stworzyłem niestandardowy tag w którym wkleiłem treść skryptu.
Z uwagi na wymaganie przekazywania danych do serwisu od opinii stworzyłem zmienne niestandardowe, które zbierają informacje jak mail, id zamówienia oraz kwotę.

Zmienne niestandardowe tworzone są poprzez dataLayer i wysyłane do GTM w tagu niestandardowym w miejscach, gdzie powinny być te dane wstawiłem nazwę w {{}} i tak np. dla maila w skrypcie w miejscu, gdzie powinien się znajdować widnieje: {{mail}}.

 

A pojawiło się:

​mail:"undefined",orderId:google_tag_manager["GTM-KTXWSH"].macro(\'gtm1425228250331\')

 

Z góry dzięki za wszelkie porady Emotikon: Szczęśliwy

Odpowiedź eksperta 1verified_user

Dot.: Własne skrypty w GTM

Wschodząca Gwiazda
Jeśli piszesz o tym samy sklepie, co ostatnio, to na stronie produktu masz błąd w:

var google_tag_params = {
ecomm_prodid: '587',
ecomm_pagetype: product',
.....

Przy ecomm_pagetype słowo product nie ma otwartego apostrofu.

A jeśli chodzi o to, co chcesz zrobić to w momencie dodania opinii możesz do dataLayer wstawić np. coś takiego:
dataLayer.push({"event":"opinia","cena":"123zł","email":"test@example.com","trans_id":
"1234"});

Oczywiście musisz zamienić przykładowe dane w powyższym przykładzie na te, które chcesz przesyłać do GTM.

Następnie w GTM tworzysz zmienne warstwy danych o nazwach cena, email i trans_id oraz własne zdarzenie o nazwie "opinia". To zdarzenie będzie uruchamiać Twój tag HTML, w którym możesz użyć zmiennych {{email}}, {{trans_id}}, {{cena}}

Podczas testowania tagu w trybie debugowania, zwróć uwagę, czy po dodaniu opinii w lewej kolumnie pojawia się event "opinia". Jak na niego klikniesz i otworzysz kartę "Variables" powinieneś zobaczyć swoje zmienne: email, trans_id oraz cena poprawnie zdefiniowane.
Tomasz Ciepłucha

Dot.: Własne skrypty w GTM

B
Student ✭ ✭

Dzięki za podpowiedź z product Emotikon: Mrugający

 

Jeśli chodzi o opinie to nie wiem czy jest to jasne z wcześniejszego mojego posta, ale chodzi tutaj o wysłanie informacji do strony "od opinii" informacji o zamówieniu by za 3-4 dni mogła wysłać maila z prośbą o napisanie opinii na temat zamówienia. 

 

Trochę nie do końca jednak rozumiem jak można to zrobić. 

 

Przytoczę może kilka szczegółów. 

 

1. Tag niestandardowy mam skonfigurowany w taki sposób:

2015-03-01 08.52.58 pm.png

 

Wywołuje się on na stronie dziękującej za zamówienie.

2. Zmienne jak {{mail}} dodałem do zmiennych oraz jest to przekazywane w dataLayer na Thank-you Page w sposób:

 

2015-03-01 09.05.43 pm.png

 

I właśnie zastanawia mnie czy na tej samej stronie gdzie generowane są zmienne te same zmienne mogą być dodawane do skryptu w GTM?

 

Czy taki sposób załatwienia tego jest nie możliwy do wykonania?

Dot.: Własne skrypty w GTM

Wschodząca Gwiazda
Za każdym razem gdy używasz dataLayer = [....] definiujesz obiekt na nowo.
To zapewne dlatego Ci nie działa.

Jeśli obiekt dataLayer został już stworzony kolejne elementy powinieneś w nim umieszczać za pomocą metody push, czyli:
dataLayer.push({"zmianna1":"wartość1","zmienna2":"wartość2"});

Używaj debugowania GTM i patrz co masz w dataLayer w danym momencie, to Ci pomoże.
Tomasz Ciepłucha

Dot.: Własne skrypty w GTM

B
Student ✭ ✭
Masz rację, gdy sprawdziłem w podglądzie, została tylko jedna zmienna zdefiniowana, a reszta było jako "undefined".

Rozumiem, że dataLayer.push mogę wywołać po zrobieniu jakiejś akcji przez użytkownika już na konkretnej stronie, np. w <a href="" onclick="dataLayer.push... a czy istnieje jakiś sposób by było to wywoływane bezpośrednio po załadowaniu się strony?
Na mojej Thank-you Page nie mam możliwości takiej implementacji.

A może mógłbym dodać te zmienne pod skrypt odpowiadający za wysłanie danych do modułu ecommerce?

Dot.: Własne skrypty w GTM

Wschodząca Gwiazda
dataLayer.push możesz wywołać w dowolnym momencie, nie koniecznie związanym z interakcją użytkownika, po tym jak obiekt dataLayer zostanie zdefiniowany.

W Twoim przypadku - jeśli możesz tak zrobić - to wstaw do dataLayer od razu wszystkie zmienne, jakich potrzebujesz.

Czyli zamiast:

dataLayer = [{'zmienna1':'wartosc1','zmienna2':'wartosc2' ...}]
i
dataLayer = [{'email':'mail@example.com'}];

Robisz po prostu tak:

dataLayer = [{'zmienna1':'wartosc1','zmienna2':'wartosc2' ...,'email':'mail@example.com'}]

Natomiast możesz też użyć metody dataLayer.push w tagu html, ale nie możesz w tym samym tagu korzystać z tych zmiennych, ale nie komplikuj sobie życia Emotikon: Szczęśliwy
Tomasz Ciepłucha