2017-12-06 117 views
5

Nasza firma korzysta z usług strony trzeciej w naszej witrynie zawodowej/miejscu pracy, umożliwiając użytkownikom przesyłanie zgłoszeń ofert pracy. Początkowo użytkownicy lądują na platformie zewnętrznej, która dobrze integruje się z GTM. W systemie CMS można łatwo dodać kod GTM do nagłówka i obszaru ciała. Jednak gdy użytkownik kliknie "zastosuj" w opisie zadania, zostanie przekierowany do aplikacji internetowej, która jest zasadniczo oddzielnym systemem. Niestety ten drugi system nie pozwala na dodanie kodu do nagłówka lub stopki. Mogę jednak dodać kod do strony "dziękuję", którą widzą użytkownicy po przesłaniu wniosku.Uzyskiwanie kodu GTM przy użyciu aplikacji internetowej

Na stronie z podziękowaniami, jedynym sposobem na wstawienie kodu GTM jest WYSIWYG. Nie można wstawić kodu do <head>, ale można go wstawić do <body>. Wiem, że to nie jest idealne, ale to jedyna opcja.

Mimo że mogę uzyskać kod do renderowania na stronie, nie działa on wcale. Nie rejestruje wyświetleń stron, Google Tag Assistant nie widzi kodu, a pasek narzędzi Menedżera tagów Google nie wyświetla się, gdy kontener GTM jest w trybie podglądu.

Z tego co wiem, strona nie odświeża się, gdy użytkownik przesyła aplikację. Zakładam, że to jest powód, dla którego tag nie działa. Próbowałem używać wielu różnych wyzwalaczy, bazując na radach, które czytałem w Internecie, ale żaden z nich nie rozwiązał problemu.

jestem po prostu za pomocą standardowego kodu GTM, ale wyślę mojego kodu poniżej anyways:

<!-- Google Tag Manager --> 
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 
})(window,document,'script','dataLayer','###');</script> 
<!-- End Google Tag Manager --> 

UWAGA: Jestem również wykorzystując kod <noscript> natychmiast po kodzie <script>.

+0

Tylko dla pewności: Czy opublikowałeś kontener GTM co najmniej raz? – SomewhereDave

+0

@SomewhereDave yes, kontener aktualnie uruchamia się na wszystkich stronach poza aplikacją internetową. – Kellen

+1

Czy możesz sprawdzić, czy GTM i GA są zapisane za pomocą konsoli? W Chrome otwórz Dev Tools, przejdź do Network i wyszukaj gtm (Powinien być wpis taki jak gtm.js? Id = GTM-ABC123) i collect.gifs dla wysłanych trafień. W przypadku GA jej analytics.js. Ponadto, jeśli załadowano GTM i GA, powinno być możliwe ręczne wywoływanie trafień za pomocą ga ("send", "odsłon", location.pathname); – SomewhereDave

Odpowiedz

1

Wygląda na to, że witryna, do której próbujesz wprowadzić wtyczkę GTM, podejmuje kroki, aby uniemożliwić dodanie JavaScriptu do strony.

Jest to bardzo powszechny środek bezpieczeństwa w witrynach, które pozwalają użytkownikom dodawać treści do stron, ponieważ zamiast GTM można dodać coś, co atakuje ich serwer lub umieszcza na stronie górnika bitcoinów.

https://en.wikipedia.org/wiki/Code_injection

Twoje tylko rozwiązania tego problemu jest zwrócić się do dostawcy w celu wsparcia GTM bezpośrednio, lub jeśli masz szczęście można znaleźć wersję <noscript> działa i że może być wystarczający, aby spełnić Twoje wymagania.