如何獲得更持久的廣告投放,閒魚程式設計師的年終獎全靠它。。。
業務背景
使用者增長作為開源節流促成長的過程,是包含了有效使用者增長、使用者成長、使用者變現、使用者傳播、防止使用者流失等一整套增長流程,而非單純數量上的增長。
在實踐中,增長手段主要聚焦在如何獲取使用者和提升使用者活躍度上。在使用者獲取成本不斷升高的背景下,任何一種獲取使用者的方式都變得昂貴且效果難以評估,就好比我們都知道廣告投出去有一半錢是浪費掉了,但卻不知道是哪部分。
為了評估增長手段的有效性,首先需要一種能在各個渠道追蹤使用者行為的手段。一般會使用裝置指紋技術來唯一標識使用者,即透過一系列裝置資訊生成裝置的唯一標識,用裝置標識來替代使用者標識作為追蹤使用者的手段。
問題定義
可以用於標識出該裝置的裝置特徵或者獨特的裝置標識被稱為裝置。裝置指紋因子通常包括計算機的作業系統型別,安裝的各種外掛,瀏覽器的語言設定及其時區 、裝置的硬體ID,手機的IMEI,電腦的網路卡Mac地址,字型設定等,透過某種Hash演算法生產特徵字串來用作裝置指紋。裝置指紋服務有兩個核心問題需要解決問題:
1. 裝置ID的有效性:無論使用單一還是多種資訊來源,裝置指紋的有效性取決於裝置ID的有效性。存在兩種可能無效情況,ID衝突和ID漂移。ID衝突指不同裝置擁有了相同的ID,ID漂移指一臺裝置在不同環境或時間獲取時獲取到了不同的ID。
2. 裝置服務架構的擴充套件性和可靠性:不同的渠道可能會定義不同的裝置ID組合作為裝置指紋的來源,在多個渠道間互動時需要支援和相容多種ID組合的查詢和轉化;裝置服務需要廣泛應用於增長手段的各個環節,服務的訪問量會明顯大於一般的產品鏈路服務,因此對可靠性也有較高要求。 我們針對這兩個核心問題,在下文中分別給出對應的問題分析和解法。
Android裝置可以獲取的ID
1. IMEI——國際移動裝置識別碼(International Mobile Equipment Identity),即通常所說的手機序列號、手機“串號”,用於在行動電話網路中識別每一部獨立的手機等行動通訊裝置,相當於行動電話的身份證。幾乎所有的裝置都可以返回這個串號,並且唯一較好。它根據不同的手機裝置返回IMEI,MEID或者ESN碼。
2. IMSI——國際移動使用者識別碼(IMSI:International Mobile Subscriber Identification Number)是區別移動使用者的標誌,儲存在SIM卡中,可用於區別移動使用者的有效資訊。當手機上裝有 Sim 卡並且可用時,返回該值,不同 Sim 卡的返回值不同。
3. MAC——可以使用手機Wifi或藍芽的MAC地址作為裝置標識。 並不是所有的裝置都有Wifi和藍芽硬體,硬體不存在時獲取不到。
4. ANDROIDID——安卓ID,在裝置第一次啟動的時候生成並儲存,並且可能會在恢復出廠設定後重置該值。理論上是大部分是重置的。通常被認為不可信,因為它有時為null。開發文件中說明了:這個ID會改變如果進行了出廠設定。並且,如果某個Andorid手機被Root過的話,這個ID也可以被任意改變。
IOS裝置可以獲取的ID
1. IDFA——Identifier For Advertising。直譯就是廣告id, 在同一個裝置上的所有App都會取到相同的值,是蘋果專門給各廣告提供商用來追蹤使用者而設的,iOS預設設定是允許追蹤。使用者可以在設定裡重置此id的值,或限制此id的使用,故此id有可能會取不到值。iOS6及之後版本可以使用。
2. IDFV——Identifier for Vendor,提供給APP供應商使用的ID。每個裝置在所屬同一個APP供應商的應用裡,都有相同的值。iOS6及之後版本可以使用。
3. UDID——Unique Device Identifier。裝置的唯一裝置識別符。UDID從iOS5開始被禁止使用。
4. UUID——Universally Unique Identifier,通用唯一識別符號。可以在應用啟動時生成,它保證對在同一時空中的所有機器都是唯一的。但除非本地儲存後獲取本地址,每次呼叫生成的ID均不相同。
5. MAC——同Android中的定義,iOS7開始只能獲取一個固定值。
新一代的裝置指紋技術
傳統的裝置識別手段主要依賴於單一的資訊源,與此不同,新一代的裝置指紋技術使用更多的資訊來完成裝置的識別。它透過網路收集終端裝置的特徵資訊,並在分析與鑑別的基礎上,對每一組從終端裝置採集的特徵資訊組合賦予唯一的裝置指紋ID,用以標識該終端裝置。一般具有開發能力的廠商均有自己的一套生成方案,同時也有第三方的廠商提供解決方案以供使用。以下以阿里使用的UMID(唯一裝置ID)為例,說明裝置指紋ID在各平臺上所具有的能力。
裝置指紋ID選型
比較好的裝置指紋ID,需要保證儘可能少的出現ID衝突和ID漂移。並且,在許可權限制、裝置資訊篡改,系統重灌、APP重灌情況下也需要保證儘可能不變化。
集團內部的裝置指紋ID方案已經經受住了大量業務的考驗,不僅適用於做使用者行為的追蹤,同時也具有一定的安全防刷能力。因此,閒魚使用者裝置資訊採用UMID作為唯一標識。同時對於多個資料來源(閒魚使用者歷史裝置登入記錄,閒魚使用者歷史安全裝置記錄,閒魚使用者裝置採集記錄)打通,水平擴充套件可以支援的IMEI,IMSI,MAC,IDFA,YunosUUID,Google廣告ID等ID的查詢。
架構設計
1. MySQL——建立以umid為主鍵的閒魚使用者裝置主表。一個使用者可以有多個裝置,一個裝置僅記錄最近使用的使用者。資料量較大,需要做分庫分表。
2. HiStore——用於多維查詢,資料從MySQL中同步。HiStore是阿里中介軟體技術團隊研發的資料庫產品,是一款基於獨特的知識網格技術的列式資料庫,定位於海量資料高壓縮比列式儲存,是低儲存成本,低維護成本,海量資料OLAP儲存引擎;有效的解決了海量資料儲存的成本問題,以及在百億資料場景下支援實時高效的多維度自由組合的檢索。外部開源的解決方案有Infobright等。
3.實時讀取——分散式key/value儲存系統 Tair。Tair是一個Key/Value結構資料的解決方案,它預設支援基於記憶體和檔案的兩種儲存方式,分別和我們通常所說的快取和持久化儲存對應。透過tair可以定製業務所需要的快取,也可以作為持久化儲存完整儲存整個閒魚使用者裝置表(以Umid為key)。外部開源產品可以選用Redis。
OCPC/OCPA/OCPM: OCPC是Optimized Cost per Click的縮寫,即最佳化點選付費,本質還是按照cpc付費;OCPA是Optimized Cost per Action的縮寫,即最佳化行為出價,本質還是按照cpa付費;Optimized Cost per Click的縮寫,即最佳化點選付費,本質還是按照cpc付費;Optimized Cost per Mille的縮寫,即最佳化千次展現出價,本質還是按照cpm付費。三種出價策略除了對應的最佳化目標不同,本質上都是採用更科學的轉化率預估機制,幫助廣告主在獲取更多優質流量的同時提高轉化完成率。系統會在廣告主出價基礎上,基於多維度、實時反饋及歷史積累的海量資料,並根據預估的轉化率以及競爭環境智慧化的動態調整出價,進而最佳化廣告排序,幫助廣告主競得最適合的流量,並降低轉化成本。
廣告投放的資料流示意圖(以啟用為例)如下:
閒魚和廣告商的資料流互動圖如下:
流程說明:
1. 廣告商在監測事件同步介面(介面一)中會同步點選資料給閒魚。同步資料包含使用者的裝置資訊(IDFA/IMEI/OS等)、業務資訊(廣告計劃id/廣告創意 id/點選時間等)和回撥資訊(回撥地址或回撥引數)
2. 閒魚接收到同步資料,根據OS將裝置id設為key,將回撥資訊作為value儲存在Tair中。
3. 閒魚使用者啟用或者註冊時觸發裝置資訊採集,經過清洗後更新至閒魚使用者裝置表中。同時查詢是否有可以匹配的回撥資訊,根據點選事件和轉化目標,處理回撥資訊後回撥使用者轉化目標資料給廣告商。
4. 廣告商收到回撥資料後,最佳化模型,更新出價,幫助閒魚獲取更適合轉化的目標人群,降低轉化成本。
在目前的閒魚使用者增長實踐中,廣告投放最佳化已經給閒魚帶來了巨大的收益,有效的控制了廣告投放的成本,使得增長團隊可以進一步擴大廣告投放的渠道和範圍。除了用於廣告投放最佳化,閒魚裝置服務還支撐了deeplink,智慧投放和使用者生命週期等一系列增長手段的嘗試。未來,閒魚技術團隊還會進一步探索技術上的可能性,驅動閒魚使用者增長業務的發展。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69900359/viewspace-2286679/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 揭秘!閒魚拉新投放系統如何設計
- 2017年終獎調查出爐 程式設計師年終獎多少你絕對猜不到程式設計師
- 休閒遊戲廣告的設計與投放需要注意什麼遊戲
- UI設計師面試如何操作才能獲得高薪UI面試高薪
- 程式設計師只配加班?有錢有閒的程式設計師都在哪?程式設計師
- 程式設計師如何獲取新程式設計技能程式設計師
- 程式設計師獲得高薪有哪些談判技巧?程式設計師高薪
- 如何讓程式設計師變得沒朋友程式設計師
- 給程式設計師的七夕福利(公佈獲獎名單)程式設計師
- 教你程式設計師的年終報告怎麼寫程式設計師
- “有能力”的程式設計師和“熟練”的程式設計師誰更牛?程式設計師
- 程式設計師除了高薪外,還有哪些獲得收入的途徑?程式設計師高薪
- 面試中如何剔除“魚目混珠”程式設計師?面試程式設計師
- 一個程式設計師 && 作者 && 設計師的 2018 年終總結程式設計師
- 程式設計師如何讓自己的工作更上一層樓程式設計師
- 優秀的程式設計師該如何更上一層樓程式設計師
- 獲得 1000 個讚的程式設計師高薪職業建議程式設計師高薪
- 百度、京東、阿里、滴滴等網際網路公司的程式設計師年終獎都發多少?阿里程式設計師
- 搬磚 1-5年 的 Java 程式設計師,如何讓自己的職業生涯更進一層樓?變得更值錢?Java程式設計師
- 完了!Windows弱爆了!它才是程式設計師的首選!程式設計師:真的好用!Windows程式設計師
- 漫談程式設計師系列:一個老程式設計師的2014年終總結程式設計師
- 程式設計師小夥曬12萬年終獎:高薪背後皆是玩命付出程式設計師高薪
- Millward Brown&SessionM:34%獲得獎勵的使用者會點選廣告Session
- 年薪百萬的程式設計師都在用的摸魚方式……程式設計師
- 盲人程式設計師是如何程式設計的?程式設計師
- 網際網路大廠的年終獎vs我們的年終獎,真酸!換個公司還來得及嗎?
- 年終感想——財務自由的程式設計師,你見過嗎?程式設計師
- 拿下中科大的計算機課程全靠它了!計算機
- [閒魚技術] Flutter React程式設計正規化實踐FlutterReact程式設計
- 程式設計師曬鉅額年終獎,網友:頂我不吃不喝三年!程式設計師
- 榮獲“休閒/社交遊戲類最佳聲音設計獎” 《使命召喚手遊》是如何做空間音訊設計的?遊戲音訊
- 視障程式設計師是如何程式設計的?程式設計師
- 程式設計師獲取程式設計靈感的 10 種方式程式設計師
- 程式設計師獲取新程式設計技能的5個技巧?程式設計師
- 贏得程式設計師尊重的 7 個建議程式設計師
- 贏得程式設計師尊重的7個建議程式設計師
- 美國碼農故事:寫程式碼獲得陸軍嘉獎獎章
- 年終工作總結:給新手程式設計師的幾個建議程式設計師