微信小程序數據分析之自定義分析

在小程序後臺,微信已經提供了強大的數據分析功能,包括實時統計、訪問分析、來源分析和用戶畫像功能,能夠說對通常的數據分析已經徹底足夠了,但有時應用須要作一些更加精準的數據分析,好比具體到某一個頁面的分享,頁面中某一個button的點擊等,這時候就須要用到自定義分析功能。json

什麼是自定義分析?

引用下官方文檔:小程序

自定義分析支持靈活多維和近實時的用戶行爲分析,能夠經過自定義上報,對用戶在小程序內的行爲作精細化跟蹤,知足頁面訪問等標準統計之外的個性化分析需求。

建立自定義事件

進入自定義事件頁面

  • 事件英文名稱和事件中文名稱按照說明要求填寫,這兩個名稱都是惟一的,不能設置成已經設置過的,並且設置的時候儘可能簡潔、還要見名知意
  • 配置方式有:填寫配置、API上報。
  • 配置模版:官方已經提供了一些自定義事件模版,直接使用就能夠,包括有:進入頁面、離開頁面、小程序內分享,不過這些事件的分析粒度都比較粗,針對整個應用,能夠本身修改只針對某一頁
  • 填寫配置的方式支持如下幾種統計觸發器,有:
click 點擊時觸發
enterPage 進入頁面時觸發,包括新開、後退、切換到前臺都屬於進入頁面
leavePage 離開頁面時觸發,包括離開、切換到後臺都屬於離開頁面
pageLoad 新開頁面時觸發,即第一次進入頁面
pageUnload 回收頁面時觸發
pullDownRefresh 下拉刷新時觸發
launch 加載小程序時觸發
background 切換到後臺觸發
foreground 切換到前臺觸發
share 右上角菜單分享
switchTab 調用switchTab接口切換頁面時觸發

配置信息

  • action指出發時的動做,一次性上報,表示在每一次 click 中,收集數據並上報一條數據;分步驟上報我也還沒搞懂 😅
  • page指要觸發該事件的頁面,這裏填寫的內容必需要和app.json中配置的頁面路徑同樣
  • data是選填的,是用來給事件觸發時傳遞一些數據的,其中,字段值就是當前page的data中的數據名稱

舉個例子🌰

電商類小程序中,用戶會有一個點擊商品添加到購物車的動做,咱們能夠對這個動做進行數據分析,如下是填寫配置的方式:數組

  1. 填寫事件英文和中文名稱:

填寫事件英文和中文名稱

  1. 填寫事件配置,定義如何收集數據:

填寫事件配置

這個例子中,用一個動做上報「加入購物車」事件。微信

  • trigger:觸發條件,click,表示點擊操做觸發;
  • action:觸發時動做,一次性上報,表示在每一次 click 中,收集數據並上報一條數據;
  • page:觸發頁面,填 viewProduct(viewProduct 是商品詳情頁);
  • element:觸發元素,填 .addToCart(.addToCart 是一個「加入購物車」的按鈕);
  • data:事件的數據及其來源,用「字段名 字段值」來表示,其中字段值是頁面上的一個變量。

詳細說一下字段值,他有以下規則:app

  • 填寫的變量名,默認從page實例的data字段中獲取
  • 若想收集由list變量渲染的列表中的某一項數據,則可用list[].*表示,這裏會根據當前填寫的element(只能是class)獲得的NodeList的第幾個來決定數組下標。
  • 若列表是二維的,則可用list[](file:///Users/wanghui/Blog/source/_posts/WeChat-miniprogram-data-analysis-custom-analysis.md#).*表示,這裏element需填寫兩個class(空格隔開)分別表示父列表與子列表。
  • 若想取得數組的下標,則可用list[].$INDEX表示
  • 若想取得wxml中data-系列屬性的值,則可用$DATASET.表示
  • 若想取得app實例的數據,則可用$APP.*表示,只支持獲取基本類型的數據,如number、string、boolean。

除此以外,還能夠填寫一些提供的系統屬性,以「$」開頭,目前支持如下屬性:函數

  • $PAGE_TIME 用戶從進入本頁面到當前的時間(觸發action的時間點)
  • $APP_TIME 用戶進入小程序到當前的時間(觸發action的時間點)
  • $CURRENT_PAGE 當前用戶所在的頁面
  • $LAST_PAGE 上一頁
注:data能夠爲空,爲空時該事件上報僅收集系統默認字段的數據

這個例子中,data有四項:post

product_id: itemID測試

product_name: itemNameui

product_price: pricespa

product_category: category

即:

事件的product_id字段,收集viewProduct頁面上page實例的data中的itemID字段;

事件的product_name字段,收集viewProduct頁面上page實例的data中的itemName字段;

事件的product_price字段,收集viewProduct頁面上page實例的data中的price字段;

事件的product_category字段,收集viewProduct頁面上page實例的data中的category字段;

以上內容表示:當用戶點擊 viewProduct 頁面上的 .addToCart 按鈕時,上報一條記錄到 add_to_cart 事件,事件的 product_id, product_name, product_price, product_category 字段, 取值分別是頁面上的 itemID, itemName, price, category。

填寫完配置後,還要點擊檢查字段

此時會提示 add_to_cart 事件包含的具體字段,繼續補充字段的名稱、數據類型和備註信息。

關於API上報

API上報比填寫配置的方式更加靈活,但這也涉及到一些代碼的更改,須要發佈新版本,而填寫配置的方式幾乎不須要更改代碼,因此無需發佈新版本。當咱們選擇API上報後,咱們能夠設置須要上報的一下參數:

API上報

點擊生成代碼:

時間建立完成後,點擊保存,後臺就生成了一條事件記錄,並有惟一的ID與它對應:

image

接着,咱們在小程序代碼中能夠插入生成的代碼,以下是我在轉發成功後的success()回掉函數中提交API上報。

...
// 轉發成功
success: function (res) {
      wx.reportAnalytics('click_share', {
        page_path: current_page_path,
        from: from,
      });
},
...

無論是填寫配置仍是API上報,都須要在填寫完配置後保存並測試。

咱們在測試事件的時候,每每要過一段時間才能接收到數據,大概1-2分鐘,爲了可以及時判斷正確性,咱們能夠在手機上的小程序應用中,打開調試,這樣,每次觸發事件時,都會在控制檯的Log中看到[自定義分析]上報成功的字樣,點擊查看還能看到更多數據,好比上報的參數等,裏面的eventID就對應事件的英文名稱,能夠經過這種方式快速判斷事件觸發是否符合預期,以下截圖:

遠程調試

經過使用,咱們發現小程序的自定義分析功能很強大,你能夠在頁面上分析任何元素、任何事件,使咱們能夠全方位的瞭解到小程序的使用狀況,對數據加以分析總結,並以數據來驅動產品的迭代,提升用戶留存。

參考:小程序官方文檔 https://developers.weixin.qq.com/miniprogram/analysis/custom

相關文章
相關標籤/搜索