Google analytics Google Analytics能否跟踪使用UiService的Google应用脚本Web应用?
是否有可能使用UiApp作为用户界面将工作的Google Analytics tracker插入web应用程序 这将为应用程序所有者提供深入的使用统计信息Google analytics Google Analytics能否跟踪使用UiService的Google应用脚本Web应用?,google-analytics,google-apps-script,Google Analytics,Google Apps Script,是否有可能使用UiApp作为用户界面将工作的Google Analytics tracker插入web应用程序 这将为应用程序所有者提供深入的使用统计信息 我能想到的唯一可能的替代方案是,在ScriptDb中存储对web应用的所有访问,包括用户Id,从数据隐私角度来看是有问题的,并且没有提供有关用户的基本信息,如位置、语言或设备。是的,这完全可行,我有一个内部库。其概念是从google analytics服务器获取gif并通过querystring传递数据。下面是工作代码和测试。Google A
我能想到的唯一可能的替代方案是,在ScriptDb中存储对web应用的所有访问,包括用户Id,从数据隐私角度来看是有问题的,并且没有提供有关用户的基本信息,如位置、语言或设备。是的,这完全可行,我有一个内部库。其概念是从google analytics服务器获取gif并通过querystring传递数据。下面是工作代码和测试。Google Analytics文档参考是内联的: 编辑:我已将以下内容打包为一个名为GASAnalytics的库,并将项目密钥“MvzvykyEXRZJoG1Gjj2h1JnHAGDwXQ1CH”添加到更多Google应用程序脚本库列表中:
让我们知道您的进展。您提出的解决方案与Google Analytics Tracker代码不同。剩下的问题是:登录的访问者始终是GAS服务器-关于实际用户的位置、语言或设备的信息丢失。脚本将请求用户代表他授权URLfetch。是的,这是不同的,因为您无法使代码在浏览器中运行。代码总是在服务器端调用,客户端浏览器数据和cookie不会通过服务器公开。例如,您无法从浏览器或referer或ip获取lang或useragent。我认为HtmlService不会改变这一点。对于位置,我的GA报告显示,点击来自澳大利亚>悉尼,因此script.google.com服务器至少能够对位置进行一些智能边缘缓存(但可能不是您的)。关于认证,您不能绕过气体安全控制,因此有效用户必须对其进行授权(一次)。
/**
* hits Google Analytics with a "path" you want to track as a pageview
* e.g. track("UA-ABC123-4", "/track/my/event")
*/
function track(propertyId, path) {
//ref https://developers.google.com/analytics/resources/articles/gaTrackingTroubleshooting#gifParameters
//https://developers.google.com/analytics/devguides/collection/other/mobileWebsites
var utmGifLocation = "http://www.google-analytics.com/__utm.gif";
// Construct the gif hit url.
var utmUrl = utmGifLocation + "?" +
"utmwv=4.4sa" +
//"&utmcn=1"+ //added - extra - not required
"&utmn=" + (new Date().getTime())+ //unique - cache buster
"&utmhn=" + 'example.com' +
"&utmr=" + '-' +
"&utmp=" + encodeURIComponent(path) +
"&utmac=" + propertyId +
"&utmcc=__utma%3D999.999.999.999.999.1%3B" +
"&utmvid=" + Math.random() +
"&utmip=" + '-';
Logger.log("Fetching " + utmUrl);
var test = UrlFetchApp.fetch(utmUrl);
return;
}
function testTrack() {
// confirm in GA > Realtime (immediate) or Standard Reports > Content > Content drilldown (after 2 hours)
track("UA-heyuseyourown:/!", "/track1/my1/test1");
}