首页 > 解决方案 > 一个 href click 和 onClick 同时进行

问题描述

我使用 onClick 事件将数据层推送到谷歌标签管理器,但我也想将用户发送到使用a href. 因此,我认为我的事件没有记录在 Google Analytics 中,因为在记录事件之前页面已被重定向。

JS

$(document).ready(function () {
    $('.gtm-click-evt').click(function(){
        var dataAmount = $(this).data('value').replace("$", ""); //Remove dollar sign
        var value = parseInt(dataAmount); //convert to int
        dataLayer.push({
            'event': 'clickEvent',
            'category': $(this).data('category'),
            'action': $(this).data('action'),
            'label': $(this).data('label'),
            'value': value
        });
    });
});

HTML

<a href="/want-to-also-redirect-to-a-page"
   class="gtm-click-evt gtm-colo btn btn-primary bg-green"
   data-category="productClick"
   data-action="colocationClick"
   data-label="label"
   data-value="99">
   Buy Now
</a>

标签: javascriptjqueryhtml

解决方案


停止默认操作 (event.preventDefault();) 运行您的基本代码,然后等待一秒钟并重定向。

$(document).ready(function () {
$('.gtm-click-evt').click(function(event){
    event.preventDefault();
    var dataAmount = $(this).data('value').replace("$", ""); //Remove dollar sign
    var value = parseInt(dataAmount); //convert to int
    dataLayer.push({
        'event': 'clickEvent',
        'category': $(this).data('category'),
        'action': $(this).data('action'),
        'label': $(this).data('label'),
        'value': value
    });
     url=$(this).attr('href');
    setTimeout(function(){location.href = url}, 1000);
});
});

推荐阅读