程序化廣告行業(59/89):廣告驗證與反作弊實戰技巧
大家好!在程序化廣告領域,想要做好投放,除了了解基本的架構和原理,還得掌握一些關鍵的技能,比如廣告驗證和反作弊。今天就和大家一起深入學習這方面的知識,共同進步。
一、廣告反作弊全解析
在程序化廣告的世界里,作弊行為就像隱藏在暗處的“小偷”,偷走廣告主的預算,破壞市場的公平。所以,反作弊是保障廣告投放效果的重要環節。
(一)常見作弊現象及檢測方法
- 離線檢測:我們可以通過分析一些數據特征來發現潛在的作弊行為。如果一個cookie對應超多IP或設備ID ,或者一個設備ID關聯了大量不同的IP和userAgent,這就很可疑。還有,如果點擊的refererurl里有奇怪的字符串,像包含display_ad.php ,或者出現有點擊卻沒曝光的IP,以及點擊率異常高(移動端大于10%或PC端大于6%且點擊量大于30 )的IP和設備ID,這些都可能是作弊的信號。另外,如果某個廣告位的曝光或點擊都集中在少量的IP、cookie或設備ID上,或者頁面停留時間、窗口大小不符合常理,比如PC端平均窗口大小指標小于70萬像素或大于110萬像素,移動端小于1萬像素或大于50萬像素,都值得深入調查。
- 實時檢測:在廣告投放的過程中,也有一些實時監測作弊的方法。要是發現某個cookie在N分鐘內使用的IP超過N個,或者點擊次數超過N次,那就很可能有問題。另外,如果userAgent里出現java、python這類關鍵字,直接拉黑,因為很多作弊機器人可能會用這些特征。
(二)反作弊方法
- 基于用戶標識:通常,我們會用IP、cookie(或設備ID)來識別用戶。要是發現某些用戶的曝光或點擊頻次特別高,就得小心了。有些作弊者會用機器人不斷變換IP來迷惑我們,這時候就要綜合考慮瀏覽器指紋信息。比如說,當IP和cookie都不一樣,但瀏覽器型號、分辨率、用戶窗口大小、操作系統版本號、設備品牌都相同,那就很可能是作弊流量。
- 基于用戶行為
- 廣告瀏覽/點擊行為:仔細分析用戶的廣告瀏覽和點擊行為能發現很多線索。要是同一用戶在同一時間對多個廣告位進行瀏覽或點擊,或者短時間內在同一個廣告位頻繁操作,這就不太正常。還有,如果用戶的廣告瀏覽或點擊時間間隔特別規律,或者曝光數和點擊數在某個時間點突然暴增,又或者用戶沒看廣告就直接點擊(大量無曝光的點擊),以及瀏覽廣告的面積和時長數據異常,點擊位置過于規律或集中,還有瀏覽和點擊的時間順序錯亂,這些都可能是作弊行為。
- 到站情況:用戶點擊廣告后到達目標頁面的表現也很重要。我們要綜合考慮用戶留存、停留時間、訪問深度這些指標,還要關注用戶在站內的交互情況,比如點擊、滾動、輸入等操作。有些作弊媒體會用機器制造大量頁面點擊,我們可以通過分析點擊區域、次數、頻率、頁面窗口大小等指標來辨別真假。
- 基于廣告來源:對到站流量的來源頁面進行偵查也能發現作弊流量。如果出現大量沒有refer(來源頁面信息)的廣告流量,或者refer和投放媒體不對應,比如要求投放到A網站,結果refer里大量出現B網站,那就可以判定是作弊流量。
下面用一段簡單的Python代碼來模擬檢測同一用戶短時間內多次點擊的情況:
import time# 模擬用戶點擊記錄,格式為 (用戶ID, 點擊時間)
click_records = [("user1", time.time()),("user2", time.time() + 1),("user1", time.time() + 2),("user1", time.time() + 3)
]user_click_count = {}
for user_id, click_time in click_records:if user_id not in user_click_count:user_click_count[user_id] = {"count": 1,"last_click_time": click_time}else:user_click_count[user_id]["count"] += 1time_diff = click_time - user_click_count[user_id]["last_click_time"]if time_diff < 5 and user_click_count[user_id]["count"] > 2:print(f"用戶 {user_id} 可能存在短時間內多次點擊的作弊行為")user_click_count[user_id]["last_click_time"] = click_time
二、品牌安全保障
品牌廣告對投放環境的要求很高,因為它關系到品牌的美譽度。想象一下,如果一個高端品牌的廣告出現在色情網站或者敏感時事新聞頁面上,用戶肯定會對這個品牌產生負面印象,嚴重的話還會損害品牌形象。
為了保障品牌安全,通常會有專門的廣告驗證平臺提供服務。廣告主可以在這些平臺上設置敏感或非法的關鍵詞、頁面黑名單,在投放時過濾掉相關流量。DSP平臺和這些廣告驗證平臺對接有兩種方式:Pre - bid和Post - bid 。Pre - bid就是DSP平臺在出價前詢問廣告驗證平臺,根據流量是否符合廣告主的條件來決定是否出價,這樣可以排除效果差和內容敏感的流量,避免產生不必要的費用。Post - bid則是在競價成功后再詢問廣告驗證平臺,如果流量符合條件就展示廣告,不符合就用空白或其他圖片代替,但不管怎樣,廣告主都得為這個流量付費。
三、廣告可見度測量
廣告曝光了,不代表用戶就能看到。廣告可見度的統計邏輯比普通廣告投放曝光要嚴格得多,它需要驗證廣告是否出現在瀏覽器的可見區域,并且滿足一定的可見時長要求。
通常,我們通過JS代碼來檢測當前頁面的位置和可視面積。MMA(移動營銷協會)的廣告可見性驗證標準還規定了驗證時間間隔,展示類廣告最低100毫秒檢測一次,視頻廣告最低每200毫秒檢測一次。可見度相關的指標有可監控曝光次數、可視曝光次數和可視率。
不過,有些情況下廣告可見度是無法監測的。比如部分媒體不支持JS代碼投放,還有媒體的廣告位是跨域iframe形式,JS無法檢測跨域廣告位的位置和可視面積。在App環境里,由于廣告位基于webview,可視面積默認是100%,所以移動端的Viewability(可見度)并不是特別準確。
四、總結
今天我們詳細學習了程序化廣告中的廣告驗證和反作弊知識,包括常見的作弊現象、檢測方法、反作弊策略,以及品牌安全和廣告可見度的相關內容。這些知識對于優化廣告投放、提高廣告效果非常重要。
寫作不易,如果這篇文章對你有所幫助,希望大家能關注我的博客,點贊評論支持一下。后續我還會分享更多程序化廣告行業的干貨,咱們一起在這個領域不斷探索,共同提升!