我的网站上有一个Google自定义搜索元素,配置为使用"覆盖布局":
我在相关部分设置了与此Google自定义搜索帐户相关联的Google Analytics配置文件,如下所示:
我使用默认的Google Analytics代码,以及Google自定义搜索代码。 分析"网站搜索跟踪"在"报告视图设置"像这样:
即使数天之后,Google Analytics也不会收集任何网站搜索信息。 只有在使用叠加布局时才会出现此问题。 当我使用单独的搜索结果页面时,由于Google Analytics正在记录结果页面请求,因此正在收集查询。
使用叠加层布局,搜索结果将以叠加Div显示,而查询只能通过Google的自定义搜索API进行。
如何确保Google Analytics获取关键字查询? 我有没有丢失的callbak? 还有其他我想念的东西吗?
答案 0 :(得分:0)
咨询Google支持后,以下是解决方案:
在管理控制台@ https://www.google.com/cse
在Analytics中设置如上所述的网站搜索设置
使用分析的异步跟踪代码(Universal Analytics Code自2014年5月起不起作用)。把它放在结束标签之前。像这样:
<head>
<!-- Your head tags, etc here -->
<script type="text/javascript">
var gaq;
var _gaq = gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXXX-YY']);
_gaq.push(['_setDomainName', 'yourdoamin.com']);
_gaq.push(['_setAllowLinker', true]);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script');
ga.type = 'text/javascript';
ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www')
+ '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(ga, s);
})();
</script>
</head>
使用您从secion中的管理控制台获得的GCS跟踪代码
使用自定义回调渲染搜索框以处理自定义属性,如下所示:
<body>
<script>
var customUIBehaviours = function(){
//your jQuery Post UI changes to the GCS box may come here
};
var renderSearchElement = function() {
google.search.cse.element.render({
div: 'gsd',
tag: 'search',
attributes:{
linkTarget:'_self',
gaQueryParameter: 'q',
gaCategoryParameter:'',
noResultsString:'No results.',
enableAutoComplete: true
}
});
};
var myCallback = function() {
if (document.readyState == 'complete') {
renderSearchElement();
customUIBehaviours();
} else {
google.setOnLoadCallback(function() {
renderSearchElement();
customUIBehaviours();
});
}
};
//this will make the GCS render by myCallback
window.__gcse = {
parsetags: 'explicit',
callback: myCallback
};
(function() {
var cx = 'YOUR GCS CODE HERE';
var gcse = document.createElement('script');
gcse.type = 'text/javascript';
gcse.async = true;
gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') +
'//www.google.com/cse/cse.js?cx=' + cx;
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(gcse, s);
})();
</script>
<div id="gsd" class="gsce-searchBox"></div>
</body>
有关GCS V2的更多信息,请访问https://developers.google.com/custom-search/docs/element#cse-element