大家好,一節(jié)課我們大概講了ASA歸因的整體流程,接下來我們會按照步驟講解具體的流程。
AdServices framework是Apple專門為ASA提供的歸因框架。尤其在ATT政策推出以后,app獲取用戶IDFA的比例大幅降低,傳統(tǒng)的依靠IDFA的方法也無法準確歸因。
但是Apple為ASA開了一個后門,其他廣告渠道無法獲取用戶的IDFA作為身份標識符進行歸因,而ASA可以獲取一個甚至比IDFA更好的用戶token進行歸因——因為即便ATT之前,用戶在iPhone的設置也會導致無法完全獲取IDFA,但是ASA的用戶token,只要接入AdServices framework,就可以獲取到。
另外要注意的是,除了AdServices framework,ASA還有一個iAd framework。但是后者僅適用于iOS 14.3之前版本,且此框架已經停用,iOS 14.3之前的用戶占比也很小,所以不接入對歸因也沒有太大影響,所以這節(jié)課不會涉及iAd framework。
官方文檔
https://ads.apple.com/cn/help/reporting/0028-apple-ads-attribution-api
AdServices接入目的
通過AdServices framework,可以讓我們對每一個激活用戶獲取一個Token標識符,用此Token可以得知該用戶是否點擊過ASA廣告、點擊過那個廣告系列/廣告組/關鍵詞/素材等廣告信息。
AdServices接入步驟
1.選擇項目主文件-TARGETS-General
2.引入AdServices framework
3.進入link binary with Libraries將AdServices改為optional
4.導入AdServices framework
5.添加獲取用戶Token的代碼
6.更新App并發(fā)布至App Store
AdServices接入流程
AdServices調用步驟
1.判斷設備信息
用戶是否首次激活
網絡請求成功
系統(tǒng)版本≥14.3
2.獲取用戶的Token
獲得Token成功
注意:Token的有效期為24小時,請在有效期內完成后續(xù)操作。
獲得Token不成功
錯誤代碼與原因(詳見下表)
重試:建議重試時間間隔≥5秒,初步設定的重試上限為3次,實際在時效性內重試次數無上限。
3.以此Token請求Apple的歸因數據
策略:此請求過程既可以在App客戶端完成,也可以先將Token發(fā)送至服務端,然后在服務端進行請求,Apple更推薦后一種策略。
注意:Token的有效期為24小時,請在獲取Token的24小時內完成請求。
4.接收Apple返回的歸因數據
響應代碼(詳見下表)
接收到的歸因數據與釋義(詳見下表)
ATT政策對獲取歸因數據的影響
1.受到ATT政策以及用戶對追蹤的設置,從Apple接收到的數據會分成兩類
Detailed payload,即詳細數據,包含上表「接受到的歸因數據與釋義」中的所有數據
Standard payload,即標準數據,與詳細數據相比,只缺少clickDate這一數據,其他數據都可以正常收到
影響:可以認為即便受ATT影響,收到了Standar payload,ASA的歸因也基本不受影響,如果缺失了clickDate,大部分產品可以直接以用戶的激活日期進行替代(預約期除外)
2.用戶對追蹤的設置包含2部分:iOS系統(tǒng)級的追蹤限制、每個App的追蹤限制
只要用戶對App的追蹤狀態(tài)為未知(not determined)、被拒絕(denied)或者限制(restriced),無論iOS系統(tǒng)級的追蹤設置有無打開,都會拿到Standard payload
只要用戶對App的追蹤狀態(tài)為授權(authorized),無論iOS系統(tǒng)級的追蹤設置有無打開,都會拿到Detailed payload
3.ATT框架與彈窗對獲取歸因數據的影響
以下情況都會獲得Standard Payload
App不接ATT框架(但是會導致其他廣告無法歸因或者無法過審)
App不進行ATT彈窗
App先以Token請求歸因數據,再進行ATT彈窗
App先進行ATT彈窗,但是彈窗被用戶拒絕或者限制
以下情況會獲得Detailed Payload
App先進行ATT彈窗,被授權追蹤,然后再以Token請求歸因數據
Apple Ads團隊對AdServices的推薦配置
1.應在App首次激活時獲取Token
2.建議獲取網絡權限后,等待500ms-1000ms再做Token請求
當獲取Token發(fā)生network error時,也可以等待500ms-1000ms再做Token請求
3.如Token請求不成功,且App依然處于前臺狀態(tài),進行retry,在時效性允許的前提下重試次數無上限,重試時間間隔>=5秒,初步設定可以重試上限3次(24小時內retry多次獲取的Token都是同一個,不會發(fā)生變化)
4.獲取到Token,和請求Attribution Response中間設置500-1000ms等待時長
5.請求歸因api到獲取結果之間建議等待時長設置為>=2000ms
AdServices調用流程圖
代碼示例
1/調用AdServices獲取用戶Token
2/使用Token請求歸因數據-在App請求
3/使用Token請求歸因數據-在服務器請求(推薦)