用戶隱私與精準廣告的權衡
IDFA & SKAdNetwork
Outline
- iOS 14 隱私政策
- IDFA
- 什麼是 IDFA
- IDFA 與廣告的關係
- SKAdNetwork
- SKAdNetwork 運作原理
iOS 14 隱私政策
- 讓用戶有選擇是否分享個人資料的權力
- 年齡
- 位置
- 健康狀況
- 消費習慣
- 瀏覽紀錄
- ...

- 讓用戶有選擇是否分享個人資料的權力
- 為什麼?
- App 取得的資料遠比他們需要的還要多
- App 取得的資料遠比他們需要的還要多
- 為什麼?
- 可以作為商品與第三方平台交易
- 第三方平台利用用戶資料更精準的投放廣告
- 在沒有取得用戶同意的情況下
追蹤?
- 取得 IDFA 的權限
- 要求 App 不要追蹤
➜ App 無法取得 IDFA

IDFA
什麼是 IDFA
- Identity for Advertisers(廣告識別碼)
- iOS 裝置的臨時身分證
- 臨時 ➜ 隨時可以重置

IDFA 與廣告的關係
- 透過 IDFA 比對,可以知道使用 App 的人是誰
- 衡量廣告效果

IDFA 與廣告的關係
- 精準投放廣告
- IDFA = abc123 的用戶下載了飲食紀錄 App
- FB 推播許多健康食品的廣告給 IDFA = abc123 的用戶
- 避免廣告投放的浪費
- IDFA = abc123 的從來沒點擊 FB 上的手遊廣告
- IG 不應該繼續推播手遊廣告給 IDFA = abc123 的用戶
SKAdNetwork
後IDFA時代的歸因新政策

參與者
- Ad Network:廣告網路
- eg. Google AdMob
- Source App:展示廣告的 App
- eg. FaceBook
- Advertised App:打廣告的 App
- eg. Flora

app A ➜ FaceBook
app B ➜ Flora
Ad network 對 Flora 簽章
➜ 宣告「這個 Campaign 是我發的、Campaign ID 就是這個」

app A ➜ FaceBook
app B ➜ Flora
AdMob 同時跟 App Store 登記這個簽章
➜ Apple 就會知道廣告是來自
「這個 Ad Network 當中的這個 Ad Campaign」

app A ➜ FaceBook
app B ➜ Flora
AdMob 把這個簽章過的廣告投放 FaceBook 上

app A ➜ FaceBook
app B ➜ Flora
FaceBook 的使用者點擊了廣告、導到 App Store 下載了 Flora

app A ➜ FaceBook
app B ➜ Flora
當 User 開啟 Flora
registerAppForAdNetworkAttribution() :
生成一個安裝通知儲存在蘋果那邊

app A ➜ FaceBook
app B ➜ Flora
讓蘋果可以跟 AdMob 說
「你這個廣告活動成功貢獻了一個下載」

app A ➜ FaceBook
app B ➜ Flora
觸發計時器(24 小時)

app A ➜ FaceBook
app B ➜ Flora
當 User 在時間內,在 App 中做「特定操作」
就會呼叫 updateConversionValue,重新觸發計時器

app A ➜ FaceBook
app B ➜ Flora
時間過了,Apple 把 ConversionValue 回傳給 Ad network
conversionValue
透過 conversionValue 得知每個廣告的大致成效
conversionValue
- 6 bit unsigned 數值
- 從 0 往上加
- 000000~111111 ➜ 64 組數字
- 每個數字代表一種使用 App 的行為

Example
- User 在 1/1 下午 5 點安裝並打開了 App
- User 在 1/2 下午 2 點使用者消費了 1,000
- User 在 1/3 早上 9 點使用者再消費了 2,000
- User 在 1/4 下午 2 點使用者花了 5,000 元
- User 之後使用者再也沒有在使用該 App
定義 conversionValue = User 在 App 中花的錢(單位:百)
Example
- User 在 1/1 下午 5 點安裝並打開了 App
- conversionValue = 0
定義 conversionValue = User 在 App 中花的錢(單位:百)
Example
- User 在 1/1 下午 5 點安裝並打開了 App
-
User 在 1/2 下午 2 點使用者消費了 1,000
- 因為在 24 小時內所以更新 conversionValue
- conversionValue = 10
定義 conversionValue = User 在 App 中花的錢(單位:百)
Example
- User 在 1/1 下午 5 點安裝並打開了 App
- User 在 1/2 下午 2 點使用者消費了 1,000
- User 在 1/3 早上 9 點使用者再消費了 2,000
- 因為在 24 小時內所以更新 conversionValue
- conversionValue = 20
定義 conversionValue = User 在 App 中花的錢(單位:百)
Example
- User 在 1/1 下午 5 點安裝並打開了 App
- User 在 1/2 下午 2 點使用者消費了 1,000
- User 在 1/3 早上 9 點使用者再消費了 2,000
- User 在 1/4 下午 2 點使用者花了 5,000 元
- 超過 24 小時了
- 所以已經回傳 conversionValue
- conversionValue = 20
定義 conversionValue = User 在 App 中花的錢(單位:百)
參考資料
- https://kopu.chat/2021/04/07/idfa_skadnetwork/
- https://developer.apple.com/documentation/storekit/skadnetwork
SKAdNetwork
By hsutzu
SKAdNetwork
- 300