是的,這是完全可行的,我有一個這樣的內部庫。概念是你從谷歌分析服務器Urfetch一個GIF並通過查詢字符串傳遞數據。這是工作代碼和測試。谷歌Analytics(分析)文檔引用是內聯:
編輯:我已經打包以下爲圖書館稱爲GASAnalytics,並且增加了項目的關鍵「MvzvykyEXRZJoG1Gjj2h1JnHAGDwXQ1CH」到更多的谷歌Apps腳本庫列表中的位置:
/**
* 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");
}
設我們知道你如何去。
您提出的解決方案與Google AnalyticsTracker代碼不同。以下是剩餘的問題: – Taras
訪客記錄始終是GAS服務器 - 有關實際用戶的位置,語言或設備的信息將丟失。該腳本將要求用戶代表他授權URLfetch。 – Taras
是的,它不同於你的代碼,因爲你不能在瀏覽器中運行代碼。代碼總是被調用的服務器端和客戶端瀏覽器數據和cookie不會暴露在服務器之外。例如,您無法從瀏覽器或referer或ip獲取lang或useragent。我不認爲HtmlService改變了這一點。對於位置信息,我的通用報告顯示來自澳大利亞>悉尼的熱門報道,因此script.google.com服務器至少能夠對位置進行智能邊緣緩存(但可能不是您的)。關於身份驗證,您無法繞過GAS安全控制,因此有效用戶必須授權(一次)。 –