ДОБАВЕНО след публикуване. Когато посетител щракне върху изходна връзка на сайт и тази изходна връзка е маркирана в инструмент за анализ (в този случай Google Анализ), понякога данните за събитието не се предават навреме на инструмента за анализ, докато браузърът достигне новия сайт . Често срещано решение е да се добави забавяне към връзката, за да се даде време на инструмента за анализ да вземе данните. Откакто зададох въпроса си по-долу, експериментирах колко забавяне да добавя. Първоначално ми казаха 5 милисекунди. Накрая трябваше да стигна до 500 милисекунди
Бях настроил някои персонализирани html
в Google Tag Manager, за да проследявам събития.
Оригиналният код, който използвах, е тук:
<script type="text/javascript">
$(document).ready(function(){
$('.app-cta a').click(function(){
dataLayer.push({ 'event':'GAevent', 'eventCategory':'App', 'eventAction':'Click to App Store', 'eventLabel':'iOS' })
});
});
</script>
Това не успя да улови категориите, действията и етикета на събитието в Google Analytics. Аз обаче ги взимах в Httpfox
. Един колега предложи да добавите 5 millisecond delay
. Не съм сигурен в логиката, но ми казаха, че това е често срещано решение на моя проблем.
Използвайки Google и W3 Schools, мисля, че разбрах как да добавя забавянето от 5 милисекунди:
<script type="text/javascript">
setTimeout(function(){
$(document).ready(function(){
$('.app-cta a').click(function(){
dataLayer.push({ 'event':'GAevent', 'eventCategory':'App', 'eventAction':'Click to App Store', 'eventLabel':'iOS' })
});
});
},5);
</script>
Изглежда, че това не е проработило. Google Analytics не събира данните за събитията, но Httpfox все още го прави. Тъй като нямам опит с Javascript, се чудех дали вторият кодов блок изобщо е правилен - правилно ли съм добавил метода setTimeout
?