我正在网站上使用Google Analytics(分析)(gtag.js),并且正在尝试发送事件。

我有一个“添加到购物车”按钮,一个简单的<a class="ga-add-to-cart">Buy me!</a>元素。

单击此按钮后,将触发gtag('event' ... )方法:

$('.ga-add-to-cart').click(function(){

    productName = 'something';
    price = 123;

    gtag('event', 'add_to_cart', {
        'event_category': 'ecommerce',
        'event_label': productName,
        'value': price
    });
});


这由Google here记录。

当然,因为我对按钮使用了<a>标记,所以单击页面后将重新加载该页面。页面重新加载和gtag事件存在争用条件。

但是在桌面浏览器中触发时,它仍然可以正常工作-我可以在控制台中看到HTTP请求,并在Google Analytics(分析)中看到事件。

但是,在iPhone,Safari浏览器上时,不会触发该事件。通过桌面Safari检查手机时,我看到HTTP请求已取消。

我显然在这里做错了。

在页面(重新)加载之前触发此事件的最佳方法是什么?

最佳答案

好的,所以也许我在搜索错误的内容。在这里找到了一些有用的信息...

https://developers.google.com/analytics/devguides/collection/gtagjs/sending-data#implement_event_callback_functions

....给出了gtag('event' ...)方法上的回调示例。

我认为我的解决方案是


使用回调来延迟我的<a>的默认操作,或者;
在页面重新加载的另一侧触发gtag('event' ...)

关于javascript - 重新加载页面之前触发的Google Analytics(分析)gtag事件在iPhone上不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49998966/

10-09 17:45