Google analytics Google Analytics:_linkbypost()在非表单跨域链接上?

Google analytics Google Analytics:_linkbypost()在非表单跨域链接上?,google-analytics,cross-domain,Google Analytics,Cross Domain,我只是好奇,在跨域链接上使用Google Analytics的_linkbypost()而不仅仅是_link(),是否有可能(或可取)避免我在_link()产生的长查询字符串方面遇到的问题 _link()通过在目标url上附加一个巨大的乱七八糟的查询字符串来传递数据,这给我带来了一些麻烦:它阻止了我的缓存方案(对精确匹配的url进行键控),使我的许多社交媒体小部件疯狂(这些小部件对我的业务非常重要),我发现它确实影响了多少用户信任你的网站 因此,我希望通过post而不是get传递数据,能够获得同

我只是好奇,在跨域链接上使用Google Analytics的_linkbypost()而不仅仅是_link(),是否有可能(或可取)避免我在_link()产生的长查询字符串方面遇到的问题

_link()通过在目标url上附加一个巨大的乱七八糟的查询字符串来传递数据,这给我带来了一些麻烦:它阻止了我的缓存方案(对精确匹配的url进行键控),使我的许多社交媒体小部件疯狂(这些小部件对我的业务非常重要),我发现它确实影响了多少用户信任你的网站

因此,我希望通过post而不是get传递数据,能够获得同样的跟踪能力,而不会丢失干净有序的可缓存URL。但由于我不太明白post是如何工作的,我不知道这是否可行,或者这是否是一个非常糟糕的想法,因为其他一些原因

我知道_linkbypost()需要一个表单对象来运行,所以我的计划是向每个跨域链接添加一个onSubmit函数,如下所示:

var crossLink = $(this).attr("href"); 
var formHTML = '<form id="crossForm" action="'+crossLink+'" method="post"></form>';
$('body').append(formHTML);
var crossForm = $('#crossForm');
_gaq.push(['_linkByPost', crossForm]);
return false;
var crossLink=$(this.attr(“href”);
var formHTML='';
$('body').append(formHTML);
变量交叉形式=$(“#交叉形式”);
_gaq.push([''U linkByPost',交叉形式]);
返回false;

假设从一开始这不是个坏主意,那么这个实现看起来合理吗?

我很确定linkByPost仍然会通过您的url接收数据。所以我不认为这是解决你问题的办法

您可以使用_link将查询参数作为true传递到url的锚(而不是作为查询参数)部分

_gaq.push(['_link', 'http://www.myothersite.com', true]);
这将生成一个url,如

http://www.myothersite.com#__utma=1.2.123123...
您还需要
\u gaq.push([''u setAllowAnchor',true])
告诉GA从锚读取数据


它应该足以不再破坏缓存,并减少社交插件的问题。

感谢您的帮助!好的,这就解决了最大的问题,现在是一个足够好的解决方案。但是,如果我想追求100%干净URL的目标,请继续前进。你知道是否有任何方法可以从链接器获取数据,自己将其作为post数据传递,然后在加载分析跟踪程序之前手动添加cookies,并使其正常工作?我修改了上面的方案,通过post将所有的_u*变量作为隐藏表单数据传递。分析是如何正常读取查询数据的,以及如何模仿我这边的效果?谢谢