程序化广告行业(56/89):S2S对接与第三方广告监测全解析

发布于:2025-04-04 ⋅ 阅读:(10) ⋅ 点赞:(0)

程序化广告行业(56/89):S2S对接与第三方广告监测全解析

大家好!在前面的博客中,我们一起深入学习了程序化广告的人群标签、用户标签生成、Look Alike原理,以及DMP与DSP对接和数据统计原理等内容。今天,咱们继续探索程序化广告领域,聚焦在S2S对接和第三方广告监测这两个重要方面。我希望通过这篇博客,和大家一起进一步加深对程序化广告的理解,共同在这个充满挑战与机遇的行业里学习进步。

一、S2S对接:iOS广告主的转化数据桥梁

在程序化广告投放中,iOS类广告主因为应用上架审核等原因,往往不太愿意添加广告商的统计SDK,但广告商又需要通过转化数据(像安装激活数据)来评估广告效果并调整投放策略。这时候,S2S(Server To Server,即服务器对服务器)对接就发挥了关键作用。

假设用户A在手机上打开媒体App,看到一个感兴趣的广告并点击了它。这就触发了一系列流程:首先,媒体App会请求DSP的跳转URL,同时把用户A的设备信息(比如设备号IDFA)带上,这一步就像是媒体App给DSP送了一张写着用户信息的“小纸条”。接着,DSP收到请求后,会进行302跳转,跳到广告主的中转URL,还把IDFA和曝光/点击ID等信息也带上,相当于DSP又给广告主送了一张更详细的“信息单”。广告主服务器收到这些信息后,先保存起来,然后再302跳转到App Store,引导用户下载并安装广告主App。

当用户首次打开广告主App时,App会触发广告主服务器,同时带上设备信息。如果用户下载了App,广告主服务器就会把这次打开的设备信息和之前保存的信息进行匹配,找到最近一次点击,假设这次点击是该DSP产生的,就把激活信息传送给DSP。DSP收到激活信息后,根据曝光/点击ID,把这次激活和对应的设备ID记录到对应的推广活动里,这样广告商就能知道这次广告投放有没有带来实际的转化效果啦。

这里要注意,如果广告主使用了第三方移动监测服务,比如Talking Data、热云等,那么流程中的广告主服务器部分就可以由这些监测服务提供商来代替。另外,如果媒体App没办法提供IDFA,也可以用“IP + userAgent”(简称IP + UA)信息来代替,不过这种方式的精准度不如IDFA,因为用户的IP地址经常会变,同一个设备连接不同的Wi-Fi或运营商网络时,IP就会更改,这样“IP + UA”就可能无法识别出是同一台设备了。

下面用Python代码来简单模拟S2S对接过程中的数据传递(实际情况要复杂得多,涉及网络通信、数据加密等):

import random

# 模拟设备信息
device_idfa = "123e4567-e89b-12d3-a456-426614174000"
exposure_click_id = random.randint(10000, 99999)

# 模拟媒体App向DSP发送请求
def media_app_to_dsp():
    print(f"媒体App向DSP发送请求,携带设备信息IDFA: {device_idfa}")
    return device_idfa

# 模拟DSP向广告主服务器跳转
def dsp_to_advertiser_server(idfa):
    print(f"DSP向广告主服务器跳转,携带IDFA: {idfa}和曝光/点击ID: {exposure_click_id}")
    return idfa, exposure_click_id

# 模拟广告主服务器保存信息并跳转
def advertiser_server_save_and_redirect(idfa, exposure_click_id):
    print(f"广告主服务器保存IDFA: {idfa}和曝光/点击ID: {exposure_click_id},并跳转至App Store")
    return idfa, exposure_click_id

# 模拟用户下载安装并打开App后广告主服务器匹配信息并通知DSP
def advertiser_server_match_and_notify(idfa, exposure_click_id):
    print(f"广告主服务器匹配信息,找到对应的点击,将激活信息通知DSP,IDFA: {idfa},曝光/点击ID: {exposure_click_id}")
    return True

# 模拟DSP记录激活信息
def dsp_record_activation():
    print("DSP记录对应推广活动的激活信息")


if __name__ == "__main__":
    idfa_from_media = media_app_to_dsp()
    idfa_sent, exposure_click_sent = dsp_to_advertiser_server(idfa_from_media)
    saved_idfa, saved_exposure_click = advertiser_server_save_and_redirect(idfa_sent, exposure_click_sent)
    if advertiser_server_match_and_notify(saved_idfa, saved_exposure_click):
        dsp_record_activation()

二、第三方广告监测:广告投放的“监察员”

第三方广告监测是在广告投放平台之外,由专门的广告监测服务提供商提供的服务。它就像是广告投放过程中的“监察员”,负责监测广告投放各维度的曝光和点击数据等。广告主会根据第三方监测平台提供的监测代码,在广告投放时让各个广告投放平台使用,而且部分广告主还会把第三方监测的广告投放数量和效果作为广告结算和效果评估的重要依据。

第三方监测主要分为曝光监测、点击监测和落地页监测(也就是站内监测)。曝光监测和点击监测代码通常是以URL形式提供的,曝光监测URL一般是1×1的透明像素图片。当广告在客户端展示时,就会触发这个曝光监测URL,完成曝光监测计数,这就好比广告一“露脸”,监测系统就记录下来了。

点击监测URL又分为同步(串联)点击监测和异步(并联)点击监测。同步点击监测时,用户点击广告后,会先跳转到广告投放平台的URL,然后再302跳转到第三方点击监测URL,最后才跳转到客户落地页。而异步点击监测时,用户点击广告的同时,会触发广告投放平台的URL和第三方点击监测URL,各自完成点击监测计数。

一般来说,广告投放平台都有专门的设置项,可以填写曝光监测、同步点击监测或异步点击监测的代码。在第三方监测平台提供的代码中,同步和异步监测只需选择其中一种就行。曝光监测代码一般在创意级别或者活动级别填写;同步点击监测代码直接填写到落地页输入框;异步点击监测则需要同时填写落地页地址和异步点击监测代码到对应的输入框。

虽然同步和异步监测效果基本一样,都能监测到广告来源页面,但由于它们触发代码的先后顺序不同,再加上不同监测平台的代码触发机制也有差异,所以会出现不同的情况。在同步监测时,广告投放平台监测的数据一定是大于等于第三方监测平台的数据;而异步监测时,广告投放平台的数据可能大于、小于或等于第三方监测平台的数据。

站内监测还细分为网站监测和App监测。要使用站内监测,需要添加特定代码。网站监测一般加JS代码,如果监测页面不支持JS,也可以用1像素统计代码代替;App监测则一般加SDK代码。这些代码又分为基础代码和事件代码,基础代码主要用于统计流量,比如页面浏览量(PV)、停留时间等,通常加到网站编码的标签里。

下面用JavaScript代码模拟一个简单的曝光监测过程(实际的监测代码会更复杂,还需要和监测平台进行交互):

<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <title>模拟曝光监测</title>
</head>

<body>
    <!-- 假设这是广告内容 -->
    <div>
        <h1>这是一个示例广告</h1>
    </div>
    <script>
        // 模拟曝光监测,当页面加载时触发
        window.onload = function () {
            var img = new Image();
            // 这里假设曝光监测URL为示例地址,实际需替换为真实监测URL
            img.src = "https://monitor.example.com/exposure?adId=123";
        };
    </script>
</body>

</html>

写作不易,希望这篇博客能帮助大家更好地理解程序化广告中的S2S对接和第三方广告监测。如果文章对您有所帮助,恳请大家关注我的博客,点赞并评论。您的支持是我持续创作的动力,后续我还会为大家带来更多程序化广告行业的精彩内容,让我们一起在学习中不断成长!


网站公告

今日签到

点亮在社区的每一天
去签到