2012-09-18 77 views
2

是否有可能將使用UiApp作爲用戶界面的正在運行的Google Analytics(分析)跟蹤器插入Web應用程序?可以使用Google Analytics跟蹤使用UiService的Google Apps腳本Web應用程序嗎?

這將爲應用程序擁有者提供深入的使用統計信息。

我能想到的唯一可能替代方案是存儲每個對Web應用程序的訪問權限,包括ScriptDb中的用戶標識,從數據隱私點出發存在問題,並且不提供有關用戶的基本信息,如位置,語言或設備。

回答

3

是的,這是完全可行的,我有一個這樣的內部庫。概念是你從谷歌分析服務器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"); 
} 

設我們知道你如何去。

+0

您提出的解決方案與Google AnalyticsTracker代碼不同。以下是剩餘的問題: – Taras

+0

訪客記錄始終是GAS服務器 - 有關實際用戶的位置,語言或設備的信息將丟失。該腳本將要求用戶代表他授權URLfetch。 – Taras

+0

是的,它不同於你的代碼,因爲你不能在瀏覽器中運行代碼。代碼總是被調用的服務器端和客戶端瀏覽器數據和cookie不會暴露在服務器之外。例如,您無法從瀏覽器或referer或ip獲取lang或useragent。我不認爲HtmlService改變了這一點。對於位置信息,我的通用報告顯示來自澳大利亞>悉尼的熱門報道,因此script.google.com服務器至少能夠對位置進行智能邊緣緩存(但可能不是您的)。關於身份驗證,您無法繞過GAS安全控制,因此有效用戶必須授權(一次)。 –

相關問題