背景介紹
最近一期的開發任務中,有集成GrowingIo一項。據說這是數據埋點方面的內容。一開始以為是公司自己開發的一套sdk,接入之后,在需要數據統計的點寫一條調用函數??傮w上很方便,不過有時候比較難搞,關鍵是繁瑣,各個地方到處插入。當然,后臺也要開發相應的查看工具,產品經理還要決定埋點的地方,字段名稱,還要經常糾結數據對不對,是客戶端埋得不對還是后臺收集處理有問題。總之,看似簡單一件事,坑還是蠻多的。
后來聽說不需要埋點,但是可以進行數據分析,集成進來比較簡單,基本上是添加靜態庫,然后在啟動的時候添加一行啟動函數。既然這樣,加一個任務就加一個任務吧。
產品特色
是一款用戶行為分析工具,不需要埋點
是一個靜態庫,包括Growing.h 和 libGrowing.a
可以使用 CocoaPods進行管理
在application:didFinishLaunchingWithOptions函數中設置id和打開標識
需要通過URL Scheme調用App,不需要工程師埋點,可以通過網站或者GrowingIo App外部調用目標App,進行標簽的“圈選”和定義,方式更加直觀。
“無埋點”是“全埋點”,不會“錯埋”、“漏埋”,屬于全量數據采集?!叭x”只是提供可視化自定義標簽的功能。在接入時,用Charles抓包,發現沒有“圈選”的頁面,也會向GrowingIO發數據,可以推測是全量數據采集
- 如果要更精確控制,要定義各種id,屬性名字固定。
@interface UIView(GrowingAttributes)
@property (nonatomic, copy) NSString* growingAttributesUniqueTag;
@end
@interface UIViewController(GrowingAttributes)
@property (nonatomic, copy) NSString* growingAttributesPageName;
@end
- 用到了Obejct-C的動態特性,在Swift等靜態語言中,估計就尷尬了
[Growing setAspectMode:GrowingAspectModeDynamicSwizzling]
諸葛IO
傳統的“埋點”方式
特色是以“用戶”為中心,用戶信息由客戶公司導入
如果沒有輸入用戶信息,“用戶”以cookie(網站)或者設備ID(App)來表示
數據可以放在云端,也可以放在客戶公司的服務端。對于互聯網金融類產品,更傾向于私有化部署
有點類似客戶公司自己寫的后臺統計,數據由“客戶端埋點”獲得。相當于傳統的軟件服務,提供數據挖掘,表格展示等功能
“埋點”分為事件、屬性、值、采集時機等幾個要素;埋點會帶來工作量,但是可以做到更精確
側重點在精細化數據分析;實名前采用手機設備號標識用戶,實名后關聯用戶ID,可以解決比如支付寶跳出又跳回來的用戶標識問題。都是持久信息,并不是session之類有時效限制的信息
對于私有化部署,可以提供定制化需求開發,跟傳統軟件一樣
近期收購DeepShare,可以區分營銷渠道信息,解決運營的一大關注痛點
至于代碼“埋點”帶來的工作量,錯埋,漏埋等問題,還是通過流程管理來改善
- 由業務方提供“埋點需求文檔”,提升“數據驅動”的緊急、重要程度
- 控制埋點數量,隨著版本迭代,逐步細化。比如第1版20個“關鍵點”,以后每一版5個左右具體業務“關鍵點”
- 提供技術協助,可以在埋點時候馬上驗證埋點是否正確
- 提供比如“別名”之類的手段,識別或者過濾諸如“名字錄入錯誤”等錯埋情況
- 對于互聯網金融做過專門的深入分析,有互聯網金融DEMO
參考資料
選擇建議
如果是產品初期,更傾向于節省開發工作量,不愿意“埋點”,GrowingIO的“無埋點”(全埋點)比較合適?;镜慕y計功能也能滿足需求,也支持一定的自定義功能
如果要求“精細化運營”,以用戶為中心深入分析用戶行為,將“數據驅動”提升到戰略高度,并且注重信息安全,還是選擇“私有化部署”的諸葛IO,并且后續定制化需求開發。相當于“外包大數據分析部門”