![](/img/trans.png)
[英]Loop for sending hits to Google Analytics via Measurement Protocol
[英]POST Request to Google Analytics with Measurement Protocol from the App Script returns valid response but doesnt work
我正在尝试使用测量协议将离线转化数据发送到 Google Analytics
我正在使用 Google AppScripts 发送这个 POST 请求:
function hitPageViewGA (line,sheet) {
var range = sheet.getRange(line,1,1,10);
var values = range.getValues();
var origem = values[0][6];
var campanha = values[0][7]
var data = {'v': '1',
'tid': 'UA-81598809-3',
'cid': generateUUID_(),
'z': Math.floor(Math.random()*10E7),
't':'pageview',
'dl':'https://77digitalmarketing.com/teste',
'cs':origem,
'cn':campanha
};
var payload = Object.keys(data).map(function(key) {
return encodeURIComponent(key) + '=' + encodeURIComponent(data[key]);
}).join('&');
var options = {
'method' : 'POST',
'payload' : payload,
'headers' : {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36'}
};
var response = UrlFetchApp.fetch('https:/www.google-analytics.com//collect',options);
return response;
}
当我将请求发送到https://www.google-analytics.com/debug/collect以验证请求时,我得到了有效的响应。 此外,当我在 Request Builder 中测试生成的有效负载时,它起作用了! 当请求由 Google App Scripts 完成时,我只是不工作。
有人知道为什么会这样吗?
谢谢!
好吧,事实证明这是一个IP问题。 Google AppsScripts 使用 Google Analytics 识别为机器人的一些标准 IP 发送请求,因此我只需要在请求中指定 IP 地址。
首先,您在代码“//collect”中有一个拼写错误。 这可能导致它...
我整个上午都在“用头撞墙”来让 Analytics 与 Apps Script 一起工作......
我有一个适用于另一个 Analytics 媒体资源的有效 Apps 脚本代码。 我设置了一个新属性,复制了代码,事件根本没有出现。 当我从 Postman 发送相同的请求时,我立即在实时仪表板中看到了它......
为了让故事简短,因为我仍然很生气,并为您省去一些挫折:) 只需禁用机器人过滤! 转到管理 -> 查看设置并禁用机器人过滤选项。
出于某种原因,来自 Apps 脚本环境的请求被视为可疑...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.