問題排查
現(xiàn)象
ios10平臺(tái)開啟限制廣告跟蹤
后捆毫,新聞App不出扶翼廣告
定位
1, ios10如果開啟了限制跟蹤勒虾,IDFA會(huì)被設(shè)置為00000000-0000-0000-0000-000000000000
停撞,ios9平臺(tái)下,IDFA會(huì)被設(shè)置為00000000000000000000000000000000
2转绷, SAX將該IDFV作為cookie值傳遞至引擎
3伟件, 引擎使用該cookie值計(jì)算了去重集合,導(dǎo)致算法進(jìn)行針對(duì)APP的長短session的廣告和廣告主去重
跟蹤分析
問題在于如何識(shí)別用戶
ios/android能夠提供的ID如下:
- ios
名稱 | 說明 | 備注 |
---|---|---|
did | ios客戶端根據(jù)某種算法生成的ID | 唯一性較好议经,存儲(chǔ)在鑰匙串中斧账,并可以在新浪/微博系的APP內(nèi)共享 |
idfa/idfv | ios系統(tǒng)提供的ID | 用戶開啟限制廣告跟蹤后,無法獲取 |
weiboId | 微博uid | 唯一煞肾,用戶登錄后咧织,才能獲取 |
- android
名稱 | 說明 | 備注 |
---|---|---|
did | android客戶端根據(jù)老算法生成的ID | 某些情況下有較多重復(fù) |
lDid | android客戶端根據(jù)新算法生成的ID | 唯一性較好,存儲(chǔ)在app私有目錄和sd卡特定目錄 |
aId | 通行證根據(jù)某種算法生成的ID | 與新浪/微博系的其他APP數(shù)據(jù)互通 |
imei | 手機(jī)序列號(hào) | android 6.0后系統(tǒng)慢慢禁止采集imei籍救,阿里云等低價(jià)手機(jī)共用imei |
weiboId | 微博uid | 唯一习绢,用戶登錄后,才能獲取 |
引擎
使用SAX傳遞過來的cookie進(jìn)行去重蝙昙,作為userid傳遞給算法
APP服務(wù)器端
ios的4種ID已經(jīng)進(jìn)行傳遞闪萄,android的lDid和aId會(huì)在11.20發(fā)布新版本后開始有數(shù)據(jù)
DMP
- DMP存在無效cookie的用戶畫像(已刪除)
算法
- 算法頻控使用的是廣告日志userid字段(cookie),內(nèi)容變化會(huì)造成非平滑過渡
- 算法只認(rèn)uid耸黑,產(chǎn)生過程對(duì)算法透明桃煎,業(yè)務(wù)和策略分離
解決方案
臨時(shí)規(guī)避方案(已放棄)
引擎仿照wap機(jī)制,為app單次請(qǐng)求生成hashcode大刊,先解決單次刷新中的廣告去重問題
緊急修復(fù)方案(使用中)
SAX如果發(fā)現(xiàn)idfa是全0 ID为迈,將其替換為did作為cookie值傳遞至引擎
后期統(tǒng)一方案 (待商議)
用戶標(biāo)識(shí)
1, ios使用did
和weiboId
(1) 使用did/weiboId
查詢user profile三椿,優(yōu)先使用weiboId
(2) 使用did
來做去重和頻次控制 。
2, android使用IDid
,aId
和weiboId
(1) 使用IDid/weiboId
查詢user profile葫辐,優(yōu)先使用weiboId
(2) 使用aId
實(shí)現(xiàn)和新浪/微博系其他AP的數(shù)據(jù)互通
(3) 使用IDid
來做去重和頻次控制定向優(yōu)化
user profile未命中時(shí)搜锰,從用戶興趣個(gè)數(shù)分布中選取前20作為默認(rèn)
需要明確的問題
方案對(duì)App服務(wù)器、SAX耿战、DMP蛋叼、引擎、算法的影響
用戶標(biāo)識(shí)的有效性
各app用戶標(biāo)識(shí)統(tǒng)一問題
內(nèi)容推薦系統(tǒng)是是獨(dú)立封閉的系統(tǒng)剂陡,基于did
去標(biāo)識(shí)用戶的狈涮,與其他app的數(shù)據(jù)交換依然是通過idfa
,idfa
等其他信息去做的
廣告系統(tǒng)直接用did
會(huì)導(dǎo)致和第三方系統(tǒng),體育鸭栖,財(cái)經(jīng)等各app的用戶標(biāo)識(shí)不統(tǒng)一SAX與引擎的傳遞協(xié)議
算法是否需要ID信息進(jìn)行用戶區(qū)分