GTM을 사용하여 내 전화 통화 추적 기능을 사용하려고합니다. 애드워즈 사이드 (전화 확장 + 웹 사이트 전환에서 전화)에서 모든 것이 설정되지만 바꾸기 기능은 여전히 작동하지 않습니다._googWcmGet 동적 전화 번호가 포함 된 GTM을 통해 작동하지 않는 콜백
<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가 호출되지 않습니까?
하나의 문제는 onload 이벤트 처리기 일 수 있습니다. 실제로 페이지로드시 스크립트를 실행하도록 GTM에 지시 할 수 있으므로 실제로는 필요하지 않습니다. –
그것은 나의 초기 생각이었습니다. 그러나 getNumber에 넣은 것이 실행되기 때문에'_googWcmGet (replaceNumber, getNumber()); '가 확실히 실행됩니다. 이게 네가 말하는거야? – mz3