本地Google Analytics电子商务插件

时间:2015-03-27 08:48:50

标签: google-analytics

我正在使用本地版本的analytics.js作为没有互联网连接的用户的后备(但在这种情况下他们可以访问此服务器)。它工作正常,但我做:

ga("require", "ecommerce");

无论如何,这似乎是从www.google-analytics / plugins / wa / ecommerce.js下载的。有什么方法可以改变这个吗?

修改 我正在尝试代理GA,并使用analytics.js的本地副本和sendHitTask将答案重定向到我自己的控制器,并从那里将流量代理到Google分析服务器。服务器有互联网连接,用户没有。您可以在此处详细了解我的情况:Google Analytics proxy

1 个答案:

答案 0 :(得分:0)

如果您想在本地托管GA库,那就是您自己的问题: - )

如果您确实选择了这条路线,请确保您了解ec.js和ecommerce.js是两个不同的库(ec.js仅用于增强商务)

您确实可以使用与此类似的设置:

<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.yoursite.local/analytics.js','ga');

  ga('create', 'UA-12345678-1', 'auto');

  (function(){var f=window,g="push",k="length",m="prototype",n={action:"pa",promoAction:"promoa",id:"ti",affiliation:"ta",revenue:"tr",tax:"tt",shipping:"ts",coupon:"tcc",step:"cos",label:"col",option:"col",options:"col",list:"pal",listSource:"pls"},p={id:"id",name:"nm",brand:"br",category:"ca",variant:"va",position:"ps",price:"pr",quantity:"qt",coupon:"cc","dimension(\\d+)":"cd","metric(\\d+)":"cm"},q={id:"id",name:"nm",creative:"cr",position:"ps"},r=function(a,d){this.name=a;this.source=d;this.e=[]},t=function(a){if(a.get&&
    a.set){this.clear();var d=a.get("buildHitTask");a.set("buildHitTask",s(this,d))}};t[m].clear=function(){this.b=void 0;this.c=[];this.a=[];this.d=[]};t[m].i=function(a,d){var c=d||{};"promo_click"==a?c.promoAction="click":c.action=a;this.b=u(c)};t[m].g=function(a){(a=u(a))&&this.c[g](a)};t[m].f=function(a){var d=u(a);if(d){var c,b=a.list||"";a=a.listSource||"";for(var e=0;e<this.a[k];e++)if(this.a[e].name==b){c=this.a[e];break}c||(c=new r(b,a),this.a[g](c));c.e[g](d)}};
    t[m].h=function(a){(a=u(a))&&this.d[g](a)};var s=function(a,d){return function(c){var b,e,h;a.b&&v(n,a.b,c,"&");for(b=0;b<a.c[k];b++)e="&pr"+(b+1),v(p,a.c[b],c,e);for(b=0;b<a.a[k];b++){h=a.a[b];e="&il"+(b+1);h.name&&c.set(e+"nm",h.name,!0);h.source&&c.set(e+"ls",h.source,!0);for(var l=0;l<h.e[k];l++)v(p,h.e[l],c,e+"pi"+(l+1))}for(b=0;b<a.d[k];b++)e="&promo"+(b+1),v(q,a.d[b],c,e);a.clear();return d(c)}};
    function u(a){var d=0,c={};if(a&&"object"==typeof a)for(var b in a)a.hasOwnProperty(b)&&(c[b]=a[b],d++);return d?c:void 0}function v(a,d,c,b){for(var e in d)if(d.hasOwnProperty(e))for(var h in a)if(a.hasOwnProperty(h)){var l=e.match("^"+h+"$");l&&c.set(b+a[h]+l.slice(1).join(""),d[e],!0)}}function w(a,d){t[m][a]=function(){return d.apply(this,arguments)}}
    (function(){f.gaplugins=f.gaplugins||{};f.gaplugins.EC=t;w("setAction",t[m].i);w("addProduct",t[m].g);w("addImpression",t[m].f);w("addPromo",t[m].h);w("clear",t[m].clear);var a=f.GoogleAnalyticsObject||"ga";f[a]=f[a]||function(){(f[a].q=f[a].q||[])[g](arguments)};f[a]("provide","ec",t)})();})();

  ga('send', 'pageview');

  /*
    transaction details go here
  */

</script>

现在请记住,如果您的用户没有互联网连接,流量和交易将不会被记录,除非您也主持数据收集。