【问题标题】:Tracking Social Tweets on Website with Google Analytics使用 Google Analytics 跟踪网站上的社交推文
【发布时间】:2015-07-15 06:24:06
【问题描述】:

我们有一个包含 Twitter 推文按钮的网站。我们正在寻找跟踪点击推文按钮的社交事件。

我们正在使用更新的 Universal Analytics 并遵循以下示例: https://developers.google.com/analytics/devguides/collection/analyticsjs/social-interactions

对于 twitter,我们将他们的 JS 包含如下:

<script async defer>
!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');
</script>

我们在绑定到推文事件时遇到问题,如 Twitter 上所述: https://dev.twitter.com/web/javascript/events

问题是'twttr 未定义'。这里有一个关于 SO 的类似问题: ReferenceError: "twttr is not defined" even while using twttr.ready()

我已尝试在此处实施相同的方法,但没有出现任何控制台日志?

<script>
window.addEventListener("load", function() {
    document.getElementById('twitter-wjs').addEventListener('load', function() {
      console.log('1');
        twttr.ready(function (twttr) {
          console.log('2');
            twttr.events.bind('tweet', function(e){
              console.log('3');
                if(!e) return;
                ga('send', 'social', 'twitter', 'tweet', theURL);
                console.log('tweet');
            })
        });
    }, false);
}, false);
</script>

我们如何在 GA 中跟踪 Twitter 推文点击次数?

【问题讨论】:

    标签: javascript jquery twitter google-analytics google-analytics-sdk


    【解决方案1】:

    问题是您要在window 对象的load 事件回调中为Twitter 小部件脚本添加load 事件处理程序。如果 Twitter 小部件的脚本代码是页面初始内容的一部分,则浏览器将下载该脚本并在触发 windowload 事件之前运行它。

    换句话说,您脚本的load 处理程序永远不会运行,因为它的load 事件已经发生——在您为其添加侦听器之前。

    在为脚本添加 load 侦听器之前,您可以更新代码以检查 twttr 对象是否存在:

    window.addEventListener("load", function() {
    
      function onTwttrReady() {
        twttr.events.bind('tweet', function(e){
          if(!e) return;
          ga('send', 'social', 'twitter', 'tweet', theURL);
          console.log('tweet');
        })
      }
    
      if (window.twttr) {
        onTwttrReady();
      } else {
        document.getElementById('twitter-wjs')
                .addEventListener('load', onTwttrReady);
      }
    });
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-19
    • 2018-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多