程序化广告行业(55/89):DMP与DSP对接及数据统计原理剖析

程序化广告行业(55/89):DMP与DSP对接及数据统计原理剖析

大家好呀!在数字化营销的大趋势下,程序化广告已经成为众多企业实现精准营销的关键手段。上一篇博客我们一起学习了程序化广告中的人群标签和Look Alike原理等知识,今天咱们继续深入探讨程序化广告领域的其他重要内容,包括DMP与DSP的对接,以及网站和App的数据统计原理。希望通过这次分享,能让大家对程序化广告有更全面的认识,一起在学习中进步,探索这个充满机遇的行业。

一、DMP对接DSP:精准营销的桥梁

在程序化广告投放过程中,为了精准触达目标人群,DSP(需求方平台)常常需要借助广告主的第一方DMP(数据管理平台)和第三方DMP的人群数据,这就涉及到DMP与DSP之间的对接工作,这一环节对于实现精准营销至关重要。

(一)PC人群与移动人群对接差异

对于PC人群对接,首先要进行cookie映射。这就好比给DSP和DMP双方的人群标识ID建立一个“翻译对照表”,让它们能“读懂”对方的数据。DSP投放的流量越大,能进行Cookie mapping的机会就越多。映射率越高,DSP识别的人群范围就越大,这样就能更充分地利用DMP数据,为广告主找到更多精准的目标人群。想象一下,DSP就像一个寻找宝藏的探险家,DMP数据是宝藏地图,而Cookie mapping就是让地图能被探险家看懂的密码。

而移动人群对接则有所不同。由于设备号ID是固定的,并且可以在不同App中共享,所以不需要进行cookie映射工作。但是,需要先进行人群匹配度检验。人群匹配度指的是DMP发送的设备号ID在DSP设备号ID库中的占比。匹配度越高,意味着DMP的人群标签在DSP的流量池中被找到的可能性越大,DSP也就更有可能覆盖到广告主需要的人群。行业内一般认为匹配度在40% - 60%比较合适。就好像在一个大仓库里找特定的货物,匹配度越高,找到货物的概率就越大。

(二)对接方式详解

DMP与DSP的对接方式主要有API接口、FTP传输和Pre - bid方式。API和FTP方式可以批量接收人群标识号及对应标签,就像是用大货车一次性运输大量货物一样高效。Pre - bid方式则有点不同,它需要在DMP与DSP之间部署一台前置机。这台前置机就像是一个中转站,先接收DMP的数据,然后在DSP投放前实时查询使用。下面用一段简单的Python代码来模拟使用API接口获取DMP数据的过程(实际应用中涉及更复杂的网络通信和安全机制):

import requests# 假设这是DMP提供的API地址,用于获取人群标签数据
dmp_api_url = "https://dmp.example.com/api/get_crowd_tags"
# 模拟请求头,可能包含认证信息等
headers = {"Authorization": "Bearer your_token","Content-Type": "application/json"
}try:response = requests.get(dmp_api_url, headers=headers)if response.status_code == 200:crowd_tags = response.json()print("成功获取人群标签数据:", crowd_tags)else:print(f"请求失败,状态码: {response.status_code}")
except requests.exceptions.RequestException as e:print(f"请求出现错误: {e}")

(三)对接流程

  1. 投放执行人员在DMP平台精心设置需要投放的人群标签条件,然后将这些标签应用到营销活动中。这一步就像是给即将出发的“广告大军”制定目标和路线。
  2. DMP平台根据营销活动的人群标签准备数据,接着向前置机发送初始化数据通知。前置机收到通知后就开始下载数据。而且,DMP的数据会不断更新,就像河流里的水一直在流动,所以需要持续同步更新数据到前置机。
  3. DSP平台设置投放活动,并在其中填入DMP平台对应的营销活动ID。当DSP收到竞价请求时,就像收到了“战斗信号”,它会向前置机查询用户信息是否符合营销活动的人群标签条件。
  4. 前置机把查询结果返回给DSP。如果结果显示用户满足条件,DSP就像得到了冲锋的指令,参与竞价;如果不满足,就只能放弃这次机会。

二、数据统计原理:广告效果的“晴雨表”

无论是广告投放过程中还是投放后,对广告效果进行验证观察都非常重要。这不仅能帮助我们评估、制定和调整投放策略,还能依据用户行为数据优化广告、网站或App,提高用户转化和留存率。数据统计主要分为网站统计和App统计两种逻辑。

(一)网站统计逻辑

  1. 当我们在浏览器中输入一个网址,浏览器就会向网站Web Server发起请求URL,这就像是给网站的“门卫”发送了一个进门申请。
  2. 网站Web Server收到申请后,解析请求URL,并生成Html文档响应返回给浏览器,就好比门卫审核通过后,给我们递出了一份房子的设计图(Html文档)。
  3. 浏览器拿到这份“设计图”后,开始解析Html文件,加载外部脚本、样式表和图片等,这个过程会触发JS统计代码,就像是房子里的各种机关开始启动。
  4. JS脚本开始工作,它会收集各种信息,比如域名、URL、页面标题等,还能获取自定义事件(像注册行为)的数据。如果之前在用户浏览器“种”过cookie,就能获取到对应cookie信息;如果没有,就会进入“种”cookie的流程。
  5. 收集到的信息会被传输给后端脚本,这就像是把收集到的情报传递给后方的指挥官。
  6. 后端脚本会生成一个透明的1×1像素图片,在浏览器中“种”入cookie标识访客,同时解析并发送收集到的信息,从网站Web Server获取IP、访问时间等信息,然后写入日志Logo队列,就像是指挥官整理情报并记录下来。
  7. 日志信息被发送至实时统计服务,经过实时统计后进入实时数据库,这就好比把整理好的情报送到了一个临时仓库。
  8. 从实时数据库调用数据进行离线分析,然后存入离线数据库,就像是把临时仓库的情报送到了一个长期的档案馆。
  9. 最后,查询数据库,将数据以可视化报表的形式呈现出来,这样我们就能直观地看到网站的各种数据表现,就像是通过地图清晰地看到各个区域的情况。

(二)App统计逻辑

  1. App应用客户端向App应用服务端发起请求,这就像是手机上的App向服务器“喊话”,说自己需要一些东西。
  2. App应用服务端收到请求后,响应并返回应用信息,就像服务器听到“喊话”后,给App递出了它需要的物品。
  3. App应用客户端调用统计SDK并初始化,同时通过API接口写入版本、渠道等信息,并进行数据埋点,这就好比在App里安装了一些“小眼睛”,用来记录各种数据。
  4. 开始收集应用运行信息,包括访问者唯一标识(比如IMEI号、Android - ID或IDFA等)、访问时间、应用版本号等。这些信息就像是给每个访问者贴上了独一无二的“标签”。
  5. 在App启动/关闭或者收集的信息数量达到一定上限时,就把信息传送给后端,就像是装满货物的货车把货物送回仓库。
  6. 后端脚本解析并发送收到的数据包,写入日志Logo队列,就像仓库管理员整理收到的货物并记录下来。
  7. 日志信息发送至实时统计服务,进入实时数据库,就像货物被暂时存放在临时仓库。
  8. 从实时数据库调用数据进行离线分析,再存入离线数据库,就像把临时仓库的货物转移到长期仓库。
  9. 查询数据库,进行可视化数据报表呈现,这样我们就能清楚地了解App的运行情况,就像通过仪表盘了解汽车的各项指标。

下面用一段简单的Java代码来模拟App数据收集和传输的过程(实际应用中会涉及更多复杂的业务逻辑):

import java.util.HashMap;
import java.util.Map;public class AppDataCollector {public static void main(String[] args) {// 模拟收集App运行信息String visitorId = "1234567890";String appVersion = "1.0.0";String operator = "ChinaMobile";String networkType = "4G";Map<String, String> appData = new HashMap<>();appData.put("visitorId", visitorId);appData.put("appVersion", appVersion);appData.put("operator", operator);appData.put("networkType", networkType);// 模拟数据传输给后端sendDataToBackend(appData);}private static void sendDataToBackend(Map<String, String> data) {// 这里可以替换为实际的网络请求代码,将数据发送给后端System.out.println("正在将App数据发送给后端: " + data);}
}

写作不易,希望这篇文章能让大家对程序化广告行业有新的认识和收获。如果觉得文章对你有帮助,麻烦大家关注我的博客,点赞并评论。你们的支持是我持续创作的动力,后续我还会带来更多程序化广告相关的知识分享,咱们一起在这个领域不断探索!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/900015.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

运维之 Centos7 防火墙(CentOS 7 Firewall for Operations and Maintenance)

运维之 Centos7 防火墙 1.介绍 Linux CentOS 7 防火墙/端口设置&#xff1a; 基础概念&#xff1a; 防火墙是一种网络安全设备&#xff0c;用于监控和控制网络流量&#xff0c;以保护计算机系统免受未经授权的访问和恶意攻击。Linux CentOS 7操作系统自带了一个名为iptables的…

第十五届蓝桥杯大赛软件赛省赛Python 大学 C 组题目试做(下)【本期题目:砍柴,回文字符串】

okk&#xff0c;大伙&#xff0c;这一期我们就把C组的题目刷完。 本期题目&#xff1a;砍柴&#xff0c;回文字符串 文章目录 砍柴题目思路分析举个栗子思路总结 代码 回文字符串题目思路分析代码 感谢大伙观看&#xff0c;别忘了三连支持一下大家也可以关注一下我的其它专栏&a…

Design Compiler:库特征分析(ALIB)

相关阅读 Design Compilerhttps://blog.csdn.net/weixin_45791458/category_12738116.html?spm1001.2014.3001.5482 简介 在使用Design Compiler时&#xff0c;可以对目标逻辑库进行特征分析&#xff0c;并创建一个称为ALIB的伪库&#xff08;可以被认为是缓存&#xff09;&…

MySQL索引原理:从B+树手绘到EXPLAIN

最近在学后端&#xff0c;学到了这里做个记录 一、为什么索引像书的目录&#xff1f; 类比&#xff1a;500页的技术书籍 vs 10页的目录缺点&#xff1a;全表扫描就像逐页翻找内容优点&#xff1a;索引将查询速度从O(n)提升到O(log n) 二、B树手绘课堂 1. 结构解剖&#xff0…

全连接RNN反向传播梯度计算

全连接RNN反向传播梯度计算 RNN数学表达式BPTT(随时间的反向传播算法)参数关系网络图L对V的梯度L对U的梯度L对W和b的梯度 RNN数学表达式 BPTT(随时间的反向传播算法) 参数关系网络图 L对V的梯度 L对U的梯度 L对W和b的梯度

C++高效读取大规模文本格式点云(windows)

需使用VS2017及以上版本&#xff0c;C语言标准选择C17&#xff0c;支持OpenMP。 执行效率明显优于ifstream stof。 // 点云数据结构 struct PointXYZ {std::array<float, 3> coord; };float string_to_float_fast(const std::string& str) {float value;auto [p…

【Linux】进程信号的捕捉处理

个人主页~ 进程信号的捕捉处理 一、信号捕捉处理的概述1、信号捕捉处理全过程2、用户态和内核态的区别&#xff08;一&#xff09;用户态&#xff08;二&#xff09;内核态&#xff08;三&#xff09;用户态与内核态的切换&#xff08;四&#xff09;硬件条件 二、再谈进程地址…

Nyquist内置函数-概述

1 Nyquist内置函数-概述 本章提供奈奎斯特&#xff08;Nyquist&#xff09;语言参考。操作按功能和抽象级别分类。奈奎斯特在两个重要级别上实现&#xff1a;“高级”级别支持行为抽象&#xff0c;这意味着像 stretch 和 at 这样的操作可以应用。这些函数是典型用户期望使用的…

数据驱动防灾:AI 大模型在地质灾害应急决策中的关键作用。基于DeepSeek/ChatGPT的AI智能体开发

全球气候变化加剧了滑坡、泥石流等地质灾害的发生频率与不确定性&#xff0c;传统基于统计与物理模型的预测方法常受限于‌数据稀疏性‌与‌动态耦合复杂性‌。近年来&#xff0c;AI智能体&#xff08;AI Agents&#xff09;与大型语言模型&#xff08;LLMs&#xff09;的突破为…

光谱相机在工业中的应用

光谱相机&#xff08;多光谱、高光谱、超光谱成像技术&#xff09;在工业领域通过捕捉物质的光谱特征&#xff08;反射、透射、辐射等&#xff09;&#xff0c;结合化学计量学与人工智能算法&#xff0c;为工业检测、质量控制和工艺优化提供高精度、非接触式的解决方案。以下是…

Dify工作流中如何去除deepseek-r1思考内容

在工作流中deepseek-r1的think标签内部的内容&#xff0c;很容易让工作流其他的llm产生幻觉&#xff0c;导致不能良好的生成目标效果。 我们通过代码的方式让deepseek-r1既有think思考链的效果&#xff0c;又不传递思考链。 工作流的逻辑为上图 去除think中的代码为 import re…

容器的CPU

1、限制进程的CPU 通过Cgroup来限制进程资源的使用&#xff0c;CPU Cgroup 是 Cgroups 其中的一个 Cgroups 子系统&#xff0c;它是用来限制进程的 CPU 使用的。 cpu.cfs_period_us&#xff0c;它是 CFS 算法的一个调度周期&#xff0c;一般它的值是 100000&#xff0c;以 mic…

【系统分析师-第二篇】

学习目标 通过参加考试&#xff0c;训练学习能力&#xff0c;而非单纯以拿证为目的。 1.在复习过程中&#xff0c;训练快速阅读能力、掌握三遍读书法、运用番茄工作法。 2.从底层逻辑角度理解知识点&#xff0c;避免死记硬背。 3.通过考试验证学习效果。 学习方法 第二遍快速…

【再探图论】深入理解图论经典算法

一、bellman_ford 1. 是什么松弛 在《算法四》中&#xff0c;对松弛的解释是&#xff1a;relax the edge&#xff0c;看起来比较抽象&#xff0c;不过如果我们从生活中的实例去理解&#xff0c;就简单多了&#xff1a; 试想一根绳索&#xff0c;当你握着绳索的两头使劲用力拉…

基于pycharm的YOLOv11模型训练方法

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、前期准备1.1 软件环境配置1.2 训练集参考 二、训练步骤2.1 打开文件夹2.2 打开文件2.3 data.yaml最终代码 三、train.py四、最终结果五、detect.py六、 拓展…

用nodejs连接mongodb数据库对标题和内容的全文本搜索,mogogdb对文档的全文本索引的设置以及用node-rs/jieba对标题和内容的分词

//首先我们要在Nodejs中安装 我们的分词库node-rs/jieba,这个分词不像jieba安装时会踩非常多的雷&#xff0c;而且一半的机率都是安装失败&#xff0c;node-rs/jieba比jieba库要快20-30%&#xff1b;安装分词库是为了更好达到搜索的效果 这个库直接npm install node-rs/jieba即…

水下声呐探测仪,应急救援中的高效水下定位技术|深圳鼎跃

近年来&#xff0c;随着水域活动增多及自然灾害频发&#xff0c;水下救援需求日益增长。传统人工打捞方法在复杂水域中效率低、风险高&#xff0c;尤其在能见度差、水流湍急或深水区域中&#xff0c;救援难度倍增。 在此背景下&#xff0c;水下声呐探测仪凭借其声波定位与视频…

AI 网关代理 LLMs 最佳实践

作者&#xff1a;付宇轩&#xff08;计缘&#xff09; DeepSeek/QWen 普惠 AI 趋势 随着 DeepSeek-R1 的横空出世&#xff0c;又一次点燃了原本已经有点冷淡的大语言模型市场和话题&#xff0c;并且快速成为了现象级&#xff0c;小到中小学生&#xff0c;大到父母辈都知道了中…

策略模式实际用处,改吧改吧直接用,两种方式

controller RestController RequestMapping("admin/test") RequiredArgsConstructor(onConstructor __(Autowired)) public class TestController {Autowiredprivate VideoFactory VideoFactory;GetMapping("getList")public R getList(){// 第一种方式T…

chromium魔改——修改 navigator.webdriver 检测

chromium源码官网 https://source.chromium.org/chromium/chromium/src 说下修改的chromium源码思路&#xff1a; 首先在修改源码过检测之前&#xff0c;我们要知道它是怎么检测的&#xff0c;找到他通过哪个JS的API来做的检测&#xff0c;只有知道了如何检测&#xff0c;我们…