Google analytics Google Analytics能否跟踪使用UiService的Google应用脚本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

是否有可能使用UiApp作为用户界面将工作的Google Analytics tracker插入web应用程序

这将为应用程序所有者提供深入的使用统计信息


我能想到的唯一可能的替代方案是,在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"); 
}