1 iOS 與安卓的發(fā)行渠道的差異
Google 官方的應(yīng)用商店 Google Play 在國內(nèi)一直是無法使用的狀態(tài)贴谎,所以國內(nèi)的安卓 App 分發(fā),都是依托數(shù)十個不同的應(yīng)用市場或發(fā)行渠道季稳,如百度擅这、360、騰訊等互聯(lián)網(wǎng)企業(yè)以及小米景鼠、華為仲翎、魅族等手機(jī)生產(chǎn)商。對于安卓 App 的渠道追蹤铛漓,主要是圍繞上面這些大的渠道來進(jìn)行溯香,并且這些渠道自己一般也會提供非常詳盡和周全的數(shù)據(jù)分析給應(yīng)用開發(fā)者。
iOS 的發(fā)行渠道則與安卓有很大的不同浓恶,除了少數(shù)越獄的機(jī)器之外(對于越獄玫坛,以及各種“助手”的發(fā)行渠道,本文暫時(shí)先不討論)包晰,大部分用戶的 App 都是從 App Store 下載的湿镀。iOS 的“渠道”其實(shí)通常是指那些在其它 App 或者網(wǎng)頁內(nèi)部炕吸,提供到 AppStore 的鏈接的頁面。因此肠骆,在 iOS 中追蹤發(fā)行渠道算途,主要是追蹤進(jìn)入 App Store 相關(guān)頁面的渠道信息。
2 現(xiàn)有的 iOS 渠道追蹤方案
正如前面所說蚀腿,iOS 的渠道分發(fā)都有跳轉(zhuǎn)到 App Store 這一步嘴瓤,而 Apple 本身是不會提供太多信息給開發(fā)者的。所以莉钙,對于整個流程的三個步驟:在某個渠道點(diǎn)擊下載鏈接并跳轉(zhuǎn)到 App Store ---> App Store 內(nèi)下載 App ---> 用戶激活 App 中的第二步廓脆,是一個完全的黑盒,所以磁玉,沒有辦法精確地追蹤一個用戶在這三個步驟中的完整軌跡停忿,也即沒有辦法精確地衡量渠道的具體推廣效果。同時(shí)蚊伞,安卓渠道效果分析中席赂,常見的對于不同渠道打不同包的方案,在 iOS 分發(fā)時(shí)也是不可行的时迫。
目前颅停,對于 iOS 的渠道追蹤,業(yè)內(nèi)一般有兩種解決方案:
通過 IDFA 來貫穿第一步和第三步:這個方案只能用作在 App 里面打開下載鏈接這種推廣方式掠拳●啵基本的方案是,提供下載鏈接溺欧,也即是作為推廣渠道的 App(例如今日頭條)喊熟,會詳細(xì)記錄哪個 IDFA 點(diǎn)擊了待推廣的 App(例如某個手游)的鏈接,而手游本身姐刁,則會記錄具體的哪個 IDFA 激活了手游 App芥牌,從而,可以用 IDFA 將用戶的第一步和第三步貫通起來龙填。但是胳泉,對于那些在騰訊微信、應(yīng)用寶推廣的 App岩遗,或者是在網(wǎng)頁中增加下載鏈接的渠道,由于微信與各個瀏覽器(例如 Safari 等)都不會提供 IDFA 的獲取接口凤瘦,所以這種情況下是拿不到點(diǎn)擊推廣渠道的設(shè)備的 IDFA 的宿礁,方案也因此而不可行。
通過模糊特征匹配的方式來進(jìn)行追蹤:對于上面描述的第二種情況蔬芥,雖然拿不到 IDFA梆靖,但是卻是可以獲取點(diǎn)擊下載鏈接時(shí)的 User Agent 和 IP 的控汉,根據(jù) User Agent 可以獲取一些與手機(jī)操作系統(tǒng)、機(jī)型相關(guān)的信息返吻。同時(shí)姑子,手游 App 這邊,也是可以記錄用戶激活 App 時(shí)使用的機(jī)器的一些基本情況测僵。所以街佑,結(jié)合下載和激活的時(shí)間差,再結(jié)合設(shè)備的機(jī)型和 IP 等信息捍靠,可以模糊地識別出同一個用戶先點(diǎn)擊了下載鏈接沐旨,再激活了 App。對于一些用戶量比較少的用戶榨婆,這種追蹤方案準(zhǔn)確率還是比較高的磁携,如 TalkingData 等第三方數(shù)據(jù)分析商就提供了此類追蹤方案。
3 Sensors Analytics 的解決方案
前文中良风,我們描述了兩種渠道追蹤的方案谊迄,其中通過 IDFA 可以精準(zhǔn)地追蹤渠道的推廣效果,與 Sensors Analytics 一直推崇的“精準(zhǔn)分析”理念是一脈相承的烟央。
而基于 IP统诺、Date、UserAgent 的模糊匹配方案吊档,可以覆蓋所有設(shè)備及推廣渠道篙议,可以很好地彌補(bǔ)精準(zhǔn)匹配方案無法覆蓋的需求。
因此怠硼,結(jié)合兩種方案鬼贱,用戶可根據(jù)需求選擇不同方案,實(shí)現(xiàn)渠道追蹤香璃。
3.1 通過 IDFA 實(shí)現(xiàn) App 內(nèi)精準(zhǔn)匹配(以今日頭條為例)
3.1.1 實(shí)現(xiàn)原理
1)使用神策鏈接生成工具生成監(jiān)測鏈接这难,并將鏈接放到今日頭條的后臺監(jiān)測地址中進(jìn)行配置。
2)配置成功后葡秒,當(dāng)用戶在今日頭條 App 內(nèi)點(diǎn)擊該廣告時(shí)姻乓,今日頭條會把之前監(jiān)測鏈接中占位符中的數(shù)據(jù)通過檢測地址返回給神策,神策服務(wù)端將記錄這些信息眯牧,比如 IDFA蹋岩,utm_ 屬性,IMEI学少,MAC Address 剪个,同時(shí)也會記錄今日頭條回調(diào) URL(CALLBACK_URL) 等信息。
3)當(dāng)用戶下載 App 并啟動(需手動調(diào)用 trackInstallation 接口)時(shí)版确,客戶端 SDK 會獲取用戶的 IDFA(iOS 端)或 IMEI(Android 端)然后傳給神策服務(wù)端扣囊,服務(wù)端進(jìn)行匹配乎折。
4)匹配成功后會將之前記錄的 utm_ 屬性自動添加到調(diào)用 trackInstallation 接口對應(yīng)的事件中,同時(shí)也會把這些 utm_ 屬性自動添加到該用戶的用戶屬性中侵歇。
5)匹配成功后骂澄,神策服務(wù)端會訪問今日頭條回調(diào) URL,通知今日頭條惕虑。?
具體流程如下圖所示:
3.1.2 操作步驟
1.使用 Sensors Analytics 渠道鏈接生成工具 生成監(jiān)測鏈接坟冲,并將鏈接配置在今日頭條后臺:?
下圖為今日頭條后臺配置界面:?
2.App 端開啟 IDFA
由于 App 內(nèi)推廣是基于 IDFA 進(jìn)行的精準(zhǔn)匹配,所以項(xiàng)目中需要開啟 IDFA枷遂。如果使用源碼集成 iOS SDK樱衷,可在項(xiàng)目的編譯選項(xiàng) Preprocessor Macros 中定義選項(xiàng) SENSORSANALYTICSIDFA=1 開啟 IDFA;如果使用 cocoaPods 集成酒唉,在集成時(shí)可直接使用 pod 'SensorsAnalyticsSDK', :subspecs => ['IDFA'] 集成矩桂,該方式集成后將直接開啟 IDFA。
3.App 端調(diào)用 trackInstallation 接口
在 App 啟動時(shí)調(diào)用 Sensors Analytics iOS SDK 的 trackInstallation: 接口痪伦,傳入事件名稱和屬性侄榴,iOS SDK 向 Sensors Analytics 的服務(wù)器上報(bào)數(shù)據(jù),進(jìn)行服務(wù)端渠道匹配网沾。
3.2 通過 IP癞蚕、Date 和 User Agent 實(shí)現(xiàn)模糊匹配
3.2.1 實(shí)現(xiàn)原理
1)使用神策鏈接生成工具生成對應(yīng)的鏈接.
2)當(dāng)用戶點(diǎn)擊鏈接之后會跳轉(zhuǎn)到 App 的下載頁,神策會記錄用戶的 IP辉哥、Date 和 User Agent 值桦山,同時(shí)也會記錄在鏈接生成工具中傳入的廣告信息(utm_ 屬性)。
3)當(dāng)用戶通過該鏈接進(jìn)入下載頁面并下載 App醋旦,然后啟動 App后(App在啟動時(shí)需手動調(diào)用 trackInstallation 接口)恒水,App 端通過 trackInstallation 獲取 IP、Date饲齐、User Agent 钉凌,并傳給服務(wù)端進(jìn)行匹配。
4)服務(wù)端將 App 端接收到的信息與之前保存的信息進(jìn)行匹配,如果匹配成功,則把對應(yīng)的渠道信息( utm_ 屬性)自動加入調(diào)用 trackInstallation 接口對應(yīng)的事件中灌具,同時(shí)也會把渠道信息自動設(shè)置到用戶屬性中。
具體流程如下圖所示:?