我在设置 virtualPageView 时遇到了一点问题,它应该覆盖在没有结果时发送给 google 的 URL。
下面是我的 JavaScript 代码:
function returnNoSearchResultsGoogleTagManagerCode($searchterm){
if ($searchterm == "") return "";
$requestUri = $_SERVER['REQUEST_URI'] . "&no_result=".$searchterm;
$js = "<script>
$(document).ready(function(){
dataLayer.push({
'event':'empty_result',
'virtualPageURL':'".$requestUri."'
});
});
</script>";
return $js;
}
如您所见,我想使用事件触发器(empty_result)。
在谷歌中,我使用触发器来确定页面是否为无结果页面。首先,我使用自定义 JS 创建了一个自定义变量
function(){
if (document.getElementsByClassName('ga-no-result').length > 0){
return true;
}else{
return false
}
}
如果 SearchEngine 找不到结果,则设置类。到目前为止,一切都很好。我还创建了一个 dataLayer 变量来保存 virtualPageURL
现在我需要一个在变量为真时触发的事件。
最后,我创建了一个 PageView 类型的标签,在事件发生时触发:
到目前为止,它似乎还可以,标签已正确配置(我猜)但如果我进行没有结果的搜索,则页面 URL不会被覆盖
标签被正确触发并填充变量。dataLayer 的概览显示了正确的 dataLayer 事件。但是 PageURL 没有被覆盖......即使我等了一整天,该类别也不会发送给谷歌。
我究竟做错了什么?如果有人有想法甚至解决方案,我将非常感激:)
提前致谢
艾字节
更新:
嘿,我忘了提,我想使用新的页面变量作为谷歌应该用来确定搜索词和搜索类别的字符串在谷歌分析中,我将搜索配置为“q”参数,将“no_result”配置为类别。甚至可以更改谷歌最终解析的字符串吗?