程序化广告行业(66/89):DSP与DMP系统关键要点解析
大家好!在程序化广告这个充满挑战与机遇的领域,每一次深入学习都像是打开一扇通往新境界的大门。之前我们探讨了不少相关知识,今天咱们接着探索DSP接入设置的更多细节以及DMP系统的奥秘,希望和大家一同进步,在这个复杂又有趣的领域里收获满满。
一、DSP接入设置的进阶内容
(一)价格密钥相关设置
在DSP接入AdX/SSP系统时,价格密钥设置是保障交易安全的重要环节。当前密钥和校验密钥的设定,就像是给价格信息加上了两把锁。DSP和AdX/SSP通过事先约定好的密钥,在数据交互过程中对价格信息进行加密和解密。这就好比只有拥有特定钥匙的人才能打开装有价格信息的宝箱,有效防止了价格信息在传输过程中被窃取或篡改,保护了双方的商业利益。
(二)流量控制
流量控制是根据DSP的实际消耗情况来设置的,它关乎整个广告投放系统的稳定运行。我们知道,不同类型的流量,像Web、App和视频流量,各家DSP的需求和消耗情况都不一样。通过设置总QPS(每秒查询率)以及各部分流量对应的QPS值,能确保DSP不会因为流量过大或过小而出现问题。比如说,如果一家DSP对视频流量的需求比较大,就可以适当提高视频QPS的值,保证视频广告的投放效果;反之,如果某个DSP对Web流量消耗较少,就可以降低Web QPS,避免资源浪费。
假设我们用Python来模拟流量控制的设置过程:
class DSPTrafficControl:
def __init__(self, total_qps, web_qps, app_qps, video_qps):
self.total_qps = total_qps
self.web_qps = web_qps
self.app_qps = app_qps
self.video_qps = video_qps
def update_qps(self, total=None, web=None, app=None, video=None):
if total:
self.total_qps = total
if web:
self.web_qps = web
if app:
self.app_qps = app
if video:
self.video_qps = video
# 初始化流量控制参数
traffic_control = DSPTrafficControl(100, 30, 40, 30)
print(f"当前总QPS: {traffic_control.total_qps} 次/秒")
print(f"当前Web QPS: {traffic_control.web_qps} 次/秒")
print(f"当前App QPS: {traffic_control.app_qps} 次/秒")
print(f"当前视频QPS: {traffic_control.video_qps} 次/秒")
# 更新流量控制参数
traffic_control.update_qps(video=40)
print("\n更新后的视频QPS:")
print(f"当前视频QPS: {traffic_control.video_qps} 次/秒")
(三)DSP对接配置
DSP对接配置中的几个关键URL起着不同的重要作用。cookie映射url用于DSP收集cookie映射信息,就像是给用户贴上了一个特殊的“标签”,方便后续进行精准的广告投放。Bid竞价url则负责接收RTB(实时竞价)实时竞价信息,在这个“战场”上,DSP根据自身策略进行出价竞争广告展示机会。Win notice url用于接收AdX/SSP发送的竞价成功消息,一旦DSP竞价成功,就会通过这个url收到通知,进而展示相应的广告。
用Java代码来模拟DSP对接配置的设置:
public class DSPConnectionConfig {
private String cookieMappingUrl;
private String bidUrl;
private String winNoticeUrl;
public DSPConnectionConfig(String cookieMappingUrl, String bidUrl, String winNoticeUrl) {
this.cookieMappingUrl = cookieMappingUrl;
this.bidUrl = bidUrl;
this.winNoticeUrl = winNoticeUrl;
}
// Getter和Setter方法
public String getCookieMappingUrl() {
return cookieMappingUrl;
}
public void setCookieMappingUrl(String cookieMappingUrl) {
this.cookieMappingUrl = cookieMappingUrl;
}
public String getBidUrl() {
return bidUrl;
}
public void setBidUrl(String bidUrl) {
this.bidUrl = bidUrl;
}
public String getWinNoticeUrl() {
return winNoticeUrl;
}
public void setWinNoticeUrl(String winNoticeUrl) {
this.winNoticeUrl = winNoticeUrl;
}
}
public class Main {
public static void main(String[] args) {
DSPConnectionConfig config = new DSPConnectionConfig(
"https://example.com/cookie-mapping",
"https://example.com/bid",
"https://example.com/win-notice"
);
System.out.println("Cookie映射url: " + config.getCookieMappingUrl());
System.out.println("Bid竞价url: " + config.getBidUrl());
System.out.println("Win notice url: " + config.getWinNoticeUrl());
}
}
二、DMP系统实例详解
(一)数据输入
DMP系统的数据输入就像是为整个系统“输血”,它的来源丰富多样。
代码收集是常见的方式之一。在PC端,有JS代码、1像素代码和flash代码等多种形式。JS代码一般添加到网页的标签中,通过填写DSP对应的账号ID和需要收集的用户标签名称,就能根据用户行为收集数据。比如,如果我们想收集注册过账号的用户数据,就在代码中相应位置填写相关信息。1像素代码适用于不支持JS代码的场景,像EDM邮件营销,通过在邮件中加入1像素图片来收集打开邮件的用户数据。flash代码则常用于flash网站,也可用于收集广告曝光人群,只要在flash素材中添加特定代码,当素材曝光时就能收集对应的人群数据。
手工导入是另一种方式,通过上传文件的形式导入人群cookie数据或移动设备ID数据,并填写人群名称和描述信息,方便后续对这些数据进行管理和使用。
系统对接外部数据源也是重要的数据输入途径。比如广告主想把舜飞|Bidding X产品账号对应的广告投放数据导入DMP,就需要填写产品账号ID、Token以及数据描述信息,实现不同系统间的数据共享和整合。
下面用JavaScript模拟一个简单的数据收集过程(以JS代码收集用户注册行为为例):
function collectUserRegistrationData() {
const dspAccountId = "12345";
const userLabel = "注册用户";
// 模拟向DMP发送数据的请求
const request = new XMLHttpRequest();
request.open('POST', 'https://dmp.example.com/collect-data', true);
request.setRequestHeader('Content-Type', 'application/json');
const data = {
dspAccountId: dspAccountId,
userLabel: userLabel,
// 这里可以添加更多用户行为相关数据
};
request.send(JSON.stringify(data));
console.log('用户注册数据已发送');
}
// 假设用户完成注册时调用该函数
collectUserRegistrationData();
(二)标签制作
标签制作是DMP系统的核心功能之一,它将收集到的原始数据进行二次加工。通过组合数据,我们可以填写人群标签的名称、分组及描述信息。一个人群分组中可以包含多个不同的人群标签,比如“高消费人群”“年轻活跃人群”等;一个人群标签也可以从属于多个不同的人群分组,这样的灵活设置能够满足不同广告投放场景的需求。例如,在电商广告投放中,我们可以将购买过特定商品的用户数据整合为“特定商品购买人群”标签,然后根据不同的营销目的,将这个标签划分到“促销活动目标人群”分组或者“品牌忠诚度培养人群”分组中,为精准广告投放提供有力支持。
写作不易,如果这篇文章让你对程序化广告中的DSP和DMP系统有了更清晰的认识,希望你能点赞、评论支持一下。也欢迎大家关注我的博客,后续我会持续分享更多程序化广告行业的知识,咱们一起在这个领域不断探索、共同进步!