锚点标签中的onclick和href重定向

时间:2015-02-18 16:29:46

标签: wordpress redirect google-analytics onclick anchor

我在Wordpress page.php模板中有以下内容:

<a role="button" onclick="<?php echo $link['analytics']; ?>" href="<?php echo $link['link']; ?>" target="<?php echo $link['target']; ?>" class="btn btn-large btn-<?php echo $link['color']; ?>">
                                    <i class="icon-white icon-<?php echo $link['icon']; ?>"></i> 
                                    <?php echo $link['link_text']; ?>
                                </a> 

生成的源代码如下所示:

<a role="button" onclick="ga('send', 'event', 'button', 'click', ‘itunes')" href="http://itunes.apple.com/us/app/rescue-field-guide/id426955029?mt=8&ls=1" target="_blank" class="btn btn-large btn-primary">
                                    <i class="icon-white icon-download"></i> 
                                    Download from the App Store                                    </a> 



<a role="button" onclick="ga('send', 'event', 'button', 'click', 'google-play’)" href="https://market.android.com/details?id=com.cmc_rescue.rescue_field_guide&feature=search_result" target="_blank" class="btn btn-large btn-success">
                                    <i class="icon-white icon-download"></i> 
                                    Download from Google Play                                        </a> 

链接看起来像按钮,因为样式是我想要的,他们成功地重定向到各自的页面,但他们注册为我的GA帐户中的点击。

如何才能使此功能的两个部分都正常工作;重定向和onclick?

从我对这些其他问题的回顾中:

Html anchor tag onclick() and href execute simultaneously

HTML anchor link - href and onclick both?

似乎可能有多种方法可以解决这个问题。在我的场景中完成此操作的最简单方法是什么?我是否可以在不使用单独的javascript函数的情况下执行此操作,或者我的Google分析功能是否存在问题?

谢谢!

2 个答案:

答案 0 :(得分:1)

这不起作用,因为ga异步提交事件。由于在您的方案中,之后会立即加载新页面,因此事件将丢失。以下是关于如何正常工作的讨论:

http://veithen.github.io/2015/01/24/outbound-link-tracking.html

答案 1 :(得分:0)

阅读link安德烈亚斯发来后,这是有用的,谢谢!

我改变了方法并在头部放置了一个jquery脚本:

<script> 
$(function() { $("a.tracked").click(function(e) 
{ if (!ga.q) { var url = $(this).attr("href"); 
ga('send', 'event', 'outbound', 'click', url, {'hitCallback': 
function () { document.location = url; } }); 
e.preventDefault(); } }); }); 
</script>

然后在我的page.php中,我放了一个名为&#34;跟踪&#34;的css类。在标签中。

<a role="button" href="<?php echo $link['link']; ?>" target="<?php echo $link['target']; ?>" class="tracked btn btn-large btn-<?php echo $link['color']; ?>"> 
<i class="icon-white icon-<?php echo $link['icon']; ?>"></i> 
<?php echo $link['link_text']; ?>
</a>