與 Google Analytics 整合

Google Analytics 平台可讓您評估使用者在各種裝置和環境中與貴公司互動的情形。這個平台提供收集、儲存、處理及回報這類使用者互動資料所需的一切運算資源。

在用戶端和伺服器端都能進行分析資料收集作業。Google Analytics 提供簡單好用的 API 和 SDK,方便您傳送資料至 Google Analytics。此外,我們還開發了可在 App Engine 應用程式中使用的程式碼,讓您輕鬆傳送伺服器端分析資料至 Google Analytics。

收集用戶端分析資料

您可以使用資料收集 API 和 SDK,評估使用者與您的內容和行銷活動互動的情形。實作這些 API 和 SDK 後,您就能透過 Google Analytics 或 Reporting API 查看使用者互動資料。如要進一步瞭解用戶端的分析數據收集,請依照用戶端類型選取下列相關連結:

  • Web Tracking (analytics.js):評估使用者和網站或網頁應用程式的互動。
  • Android:衡量使用者與 Android 應用程式的互動情況。
  • iOS:衡量使用者與 iOS 應用程式的互動情況。
  • Measurement Protocol:衡量使用者在任何環境中與這類低層級通訊協定的互動。

收集 App Engine 伺服器端分析資料

雖然 App Engine 提供在應用程式中記錄事件的機制,但在 Google Analytics 中追蹤特定伺服器端事件或許對您更有利。以下列舉一些好處:

  • 歷史資料分析:App Engine 可讓您設定記錄檔的天數上限或大小。超過天數上限後,您就無法再存取記錄檔。但如果您使用 Google Analytics 追蹤事件,過去事件的效期會更長,您也能夠查看更久以前的記錄。
  • 追蹤重要事件:由於應用程式的各種元件會將資料寫入記錄檔,因此這些檔案可能相當繁雜。事件追蹤功能可以讓您只鎖定想監控的重要事件,然後追蹤這些事件和一些其他中繼資料。
  • 強大的使用者介面:Google Analytics 提供豐富的使用者介面,可用於透過視覺效果呈現、回報及匯出伺服器端事件。

只要在 App Engine 應用程式中整合下列原始碼範例,即可輕鬆享有以上好處。如要進一步瞭解這個做法,請參閱 Google Analytics 開發人員指南的「事件追蹤」部分。

原始碼範例

def track_event(category, action, label=None, value=0):
    data = {
        'v': '1',  # API Version.
        'tid': GA_TRACKING_ID,  # Tracking ID / Property ID.
        # Anonymous Client Identifier. Ideally, this should be a UUID that
        # is associated with particular user, device, or browser instance.
        'cid': '555',
        't': 'event',  # Event hit type.
        'ec': category,  # Event category.
        'ea': action,  # Event action.
        'el': label,  # Event label.
        'ev': value,  # Event value, must be an integer
    }

    response = requests.post(
        'http://www.google-analytics.com/collect', data=data)

    # If the request fails, this will raise a RequestException. Depending
    # on your application's needs, this may be a non-error and can be caught
    # by the caller.
    response.raise_for_status()


@app.route('/')
def track_example():
    track_event(
        category='Example',
        action='test action')
    return 'Event tracked.'