中国武汉建设信息网首页贵州seo和网络推广
程序化广告行业(52/89):程序化创意深度剖析
大家好!我一直对程序化广告领域充满热情,在学习过程中发现其中有很多有趣又实用的知识。今天写这篇博客,就是希望能和大家一起学习进步,深入探索程序化广告的世界。在上一篇博客中,我们了解了程序化广告的Cookie映射、移动设备ID映射等基础知识,今天咱们接着深入探讨程序化创意相关的内容,包括DCO的后续流程、创意制作流程以及商品信息库对接方式。
一、DCO流程详解(承接上一篇)
在上一篇我们讲到DCO流程的前4步,今天接着从第5步开始。
(一)浏览器请求与创意渲染
流程5:当浏览器收到DSP发送的Ad Tag后,会向PCP创意渲染服务发起创意请求,这个请求里带着当前用户的唯一标识User ID。就好比用户拿着自己的“身份牌”去创意工厂,告诉工厂“我来了,快给我展示适合我的广告”。
流程6:创意渲染服务收到请求后,带着Ad Tag对应的商品规则,向推荐引擎要这个User ID对应的创意内容。这时候创意渲染服务就像个“传声筒”,把用户的需求和商品规则传达给推荐引擎。
流程7:推荐引擎拿到User ID后,去用户数据中心查询这个用户的信息,比如兴趣爱好、行为数据等。这一步就像是在一个大的“用户信息仓库”里找特定用户的资料,了解这个用户的喜好和习惯。
流程8:用户数据中心把查询到的用户信息返回给推荐引擎,为推荐引擎提供“决策依据”。
流程9:推荐引擎根据用户信息和商品规则,决定要推荐展示的商品,然后从商品库中查询调用商品信息,再把这些信息返回到创意渲染服务。这一步就像是推荐引擎在根据用户的“口味”挑选合适的“商品大餐”。
流程10:创意渲染服务根据推荐引擎返回的商品信息和Ad Tag对应的创意样式等,生成个性化创意,并展示到浏览器中。此时,用户就能看到专门为自己定制的广告啦,这就像是创意渲染服务把“商品大餐”精心摆盘后呈现在用户面前。
二、创意制作流程
为了实现程序化自动批量生成创意,我们得在创意管理平台好好制作和管理创意。这就好比盖房子,得先有个好的设计图,这个设计图就是创意模板。
(一)创意模板元素
创意模板里的内容可以分成几个部分,这里列举了5个通用元素,但实际情况中,这5个元素不需要同时存在,也不局限于这5个。
- Key Vision(主视觉):这是创意的主要展示内容,通常就是商品图片,就像商店橱窗里最显眼的商品展示,吸引用户的第一目光。
- Logo(品牌标识):用于显示广告主的Logo,让用户知道这个广告是谁家的,就像商店门口的招牌。
- Information(文案说明):是主视觉的补充信息,像商品名称、价格、折扣信息等,帮助用户更详细地了解商品,就像商品旁边的小标签。
- Call to Action(行为召唤):这是和用户互动的部分,一般是转化通道,比如下载、注册、购买按钮等,引导用户采取下一步行动,就像在你耳边轻轻说“快点击这里,有惊喜哦”。
- Background(背景图):背景图主要用来美化衬托创意,让整个广告看起来更舒服,就像给商品搭配了一个漂亮的背景布。
(二)动态创意制作步骤
- 上传元素内容,形成物料库:把Logo、商品信息(包括图片、名称、价格、折扣等)、按钮等内容上传,商品信息一般是对接广告主商品库批量导入。这一步就像是把建房子需要的各种材料都准备好,放在仓库里备用。
- 制作模板,定义好尺寸比例、各元素的位置及内容来源:确定模板的尺寸,规定每个元素放在哪里,以及从哪里获取内容。比如主视觉引用商品库的商品图片,文案说明引用商品库对应商品的名称和价格。这就好比设计房子的图纸,规划好每个房间的大小和用途。
- 设置创意规则:根据不同的条件设置展示规则,比如对女性用户展示模板A,展示该用户加入到购物车的信息,每个动态创意自动轮播展示5个商品,商品展现顺序按热销度降序排列等。这就像是给房子的使用制定规则,规定不同的人在不同情况下怎么使用房子里的空间。
- 将模板和规则应用到广告投放,程序化自动生成创意展现给用户:把设计好的模板和规则运用到实际广告投放中,系统就会自动生成创意展示给用户。这就好比按照图纸和规则把房子建好,然后展示给大家看。
以淘宝创意为例,我们常见的淘宝广告有淘宝Logo标识(品牌标识)、整体橙色背景框架(背景图)、登山鞋商品图(主视觉)、商品名称、价格、原价、销量等信息(文案说明)、还有一些引导购买的按钮(行为召唤),如果需要展示多个商品并自动循环轮播,还会加上页码方便用户切换查看。
三、商品信息库对接
商品信息库对接是程序化创意中很重要的一环,常用的对接方式有FTP、FEED、JS代码形式这三种。
(一)FTP方式
数据提供方通过离线传输文件的方式把商品信息发送给PCP平台。这就好比把商品信息写在一个大文件里,用一个“包裹”(文件传输)寄给PCP平台,平台收到后再打开“包裹”使用里面的信息。虽然这种方式比较传统,但在一些数据量不大、对实时性要求不那么高的场景下还是很实用的。
(二)FEED方式
通过URL拉取商品信息,又分为xml方式和json方式。
- xml方式示例:请求URL类似于http://xxx.com/xxx.xml?date=KaTeX parse error: Expected 'EOF', got '&' at position 7: {date}&̲since={lastupdatetime} ,这里的{date}表示获取该日期的商品信息,{lastupdatetime}表示上次更新时间的时间戳。返回的数据格式像下面这样:
<?xml version="1.0" encoding="utf-8"?>
<products><product><pid>${商品id}</product_pid> <name><![CDATA[${商品名称}]]></name> <price><![CDATA[${商品价格}]]></price> <image_url>${商品图片url}</image_url> <url><![CDATA[${商品落地页URL}]]></product_url> <c1n>${商品分类}</c1n> <discount>${商品折扣}</discount> <views>${浏览量}</views> </product>
</products>
在Python中,我们可以使用xml.etree.ElementTree
库来解析这种XML格式的数据,示例代码如下:
import xml.etree.ElementTree as ET
import requestsurl = 'http://xxx.com/xxx.xml?date=20240101&since=1672531200'
response = requests.get(url)
if response.status_code == 200:root = ET.fromstring(response.text)for product in root.findall('product'):pid = product.find('pid').textname = product.find('name').textprint(f"商品ID: {pid}, 商品名称: {name}")
else:print('获取商品信息失败')
- json方式示例:请求URL类似http://xxx.com/path/xxx.json?date=KaTeX parse error: Expected 'EOF', got '&' at position 7: {date}&̲since={lastupdatetime} 。返回的数据格式是JSON数组,示例如下:
{"products": [{"pid":"商品id1", "name":"商品名称1"},{"pid":"商品id2", "name":"商品名称2"}]
}
在Python中,使用requests
库获取数据后,用json
库解析就很方便,示例代码如下:
import requestsurl = 'http://xxx.com/path/xxx.json?date=20240101&since=1672531200'
response = requests.get(url)
if response.status_code == 200:data = response.json()for product in data['products']:pid = product['pid']name = product['name']print(f"商品ID: {pid}, 商品名称: {name}")
else:print('获取商品信息失败')
写作不易,希望这篇文章能帮助大家更好地理解程序化创意相关的知识。如果您觉得这篇博客对您有帮助,请关注我的博客,点赞并在评论区分享您的想法和疑问。让我们一起在程序化广告的学习道路上不断前行!