Я пытаюсь настроить отслеживание конверсий звонков Adwords на своем сайте с помощью GTM. На стороне Adwords все настроено (дозвон + звонок с сайта-конверсия), но функция замены по-прежнему не работает.
<script type="text/javascript">
// the code from adwords, loads the _googWcmGet function
(function(a,e,c,f,g,b,d){var h={ak:"XXXXXXX",cl:"XXXXXXXX"};a[c]=a[c]||function(){(a[c].q=a[c].q||[]).push(arguments)};a[f]||(a[f]=h.ak);b=e.createElement(g);b.async=1;b.src="//www.gstatic.com/wcm/loader.js";d=e.getElementsByTagName(g)[0];d.parentNode.insertBefore(b,d);a._googWcmGet=function(b,d,e){a[c](2,b,h,d,null,new Date,e)}})(window,document,"_googWcmImpl","_googWcmAk","script");
// my callback to replace the number
var replaceNumber = function (formatted_number, unformatted_number) {
console.log("replaceNumber() called");
}
var getNumber = function () {
var links = document.getElementsByTagName("a");
var oldNumber = null;
for(var i=0; i<links.length; i++) {
if( links[i].href.indexOf("tel") > -1 ) {
var el = links[i];
var oldNumber = el.innerHTML.split("<")[0];
}
}
// console.log(oldNumber); -> 123-456-7890
return oldNumber;
}
window.onload = function() {
_googWcmGet( replaceNumber, getNumber() );
};
</script>
getNumber() возвращает правильный номер телефона для замены (формат: 123-456-7890), но replaceNumber никогда не вызывается. Это выглядит почти так же, как в примере, за исключением того, что номер телефона извлекается функцией, а не предоставляется статически.
Почему не вызывается replaceNumber?
_googWcmGet( replaceNumber, getNumber() );
определенно срабатывает, потому что все, что я помещаю в getNumber, выполняется. Это то, что ты имеешь в виду? - person mz3   schedule 22.12.2014