我偶然发现了@igrigorik(https://github.com/igrigorik/ga-beacon)的代码。
function sendGAMP(tid, url) {
var payload = {
'v': '1',
'tid': tid,
'cid': generateUUID_(),
'z': Math.floor(Math.random()*10E7),
't': 'pageview',
'dl': url
};
var options = {
'method': 'POST',
'payload': payload
};
UrlFetchApp.fetch('https://www.google-analytics.com/collect', options);
}
从编辑器中的onOpen函数触发时,代码可以正常工作,例如:
function onOpen(){
sendGAMP("UA-YOUCODEHERE-X", SpreadsheetApp.getActiveSpreadsheet().getName());
}
我尝试在用户打开作为网页发布的Google电子表格时捕获活动,但没有成功。
我可以使用哪种类型的功能来确保在用户打开文件时触发sendGAMP?点击文件?是否有可能由于限制从Google Spreadsheets触发JavaScript?
答案 0 :(得分:0)
我可以使用哪种类型的功能来确保在用户打开文件时触发sendGAMP?
没有快乐 - onOpen()
触发器仅链接到Sheets Web GUI,没有其他形式的“打开”电子表格会调用触发器功能。
...点击文件?
此处不确定“文件”的含义。如果他们可以在Google云端硬盘中看到工作表,并在网上在网上打开它,则会调用onOpen()
触发器,如上所述。
编写Google Apps脚本网络应用以提供电子表格内容,例如通过Content Service作为JSON数据。然后,网络应用会负责启动sendGAMP()
以启动您的分析统计信息。