发送服务器端 Google 分析数据而不发送服务器位置

Send server side Google Analytics data without sending server location

我正在使用 Google Analytics 客户端。

服务器端我将电子商务数据和事件发送到 Google Analytics。但是,它也会发送服务器的位置。添加实时概览我可以在服务器所在的同一位置看到很多访问者。我的猜测是 Google Analytics 从服务器端事件中获取用户位置信息。

我怎样才能避免这种情况?

var ua = require('universal-analytics');

function sendTransaction(analyticsProperty, {clientId, transactionId, profit}) {

    const totalProfit = +profit.toFixed(2);

    const visitor = ua(analyticsProperty, {
        cid: clientId,
        aip: 1 
    });
    visitor.transaction(transactionId, totalProfit).send();

    visitor.event('Transaction', 'Complete', '', totalProfit).send();
}

export function transactionCallback(transaction) {

    sendTransaction('UA-XXXXXX-1', transaction);
}

如果您有用户 ip,则可以使用 user ip override,然后应根据 ip 确定位置(与 aip 参数的匿名方式相同)。

专门为此目的构建的是 geographical override. More difficult to implement, since you need to determine the geo id 你自己并通过你的请求传递它。

我会把它移到客户端javascript。

假设您正在发出 Ajax 购买处理请求,如果 returns 成功 - 触发测量协议事件。