程序化广告行业(64/89):AdX/SSP系统广告位设置全解析
程序化广告行业(64/89):AdX/SSP系统广告位设置全解析
大家好!我一直觉得在技术和营销不断融合的当下,程序化广告领域充满了机遇与挑战。之前和大家分享了程序化广告PDB模式的相关知识,今天想接着和大家一起深入学习AdX/SSP系统里广告位设置的那些关键内容,咱们共同进步,一起探索这个有趣又实用的领域。
一、素材及基础概念
在程序化广告投放中,素材的选择和设置是第一步。从文档里可以看到,我们可以选择上传本地文件作为素材,也能使用外部链接的素材,还能自定义物料来制作图文创意。同时,要设置落地页链接,它决定了用户点击广告后跳转到哪里,这个链接的设置直接影响广告的转化效果。另外,曝光监测和异步点击监测也很重要,它们能帮助我们了解广告展示了多少次,以及用户的点击行为,方便后续分析广告投放效果。
在实际的代码开发中,假设我们使用JavaScript来获取和设置这些素材相关信息:
// 获取用户选择的素材文件
const selectFile = document.getElementById('selectFile');
const file = selectFile.files[0];
// 获取并设置落地页链接
const landingPageLink = document.getElementById('landingPageLink');
landingPageLink.value = 'https://example.com/landing';
// 简单模拟曝光监测函数
function trackExposure() {
console.log('广告曝光监测:此次广告已曝光');
}
// 简单模拟异步点击监测函数
function trackAsyncClick() {
console.log('广告异步点击监测:检测到异步点击行为');
}
二、广告位基本信息设置
(一)关键设置项
广告位的基本信息设置包含多个关键部分。名称需要遵循一定的命名规则,方便识别和管理,通常包含广告位类型、所在网站名称以及尺寸等信息 。对应的网站或App明确了广告展示的平台,广告位类型则有Banner、漂浮、对联、弹窗等多种选择,不同类型适合不同的广告展示场景。
屏次方面,从第一屏到五屏以外,各有特点。比如第一屏能快速吸引用户注意力,但竞争也激烈;越往后屏次,用户注意力可能下降,但能覆盖到更有耐心浏览的用户。支持格式决定了能投放的素材类型,普通广告(像图片、flash)、视频广告(flv、mp4等)和HTML代码广告各有优势,HTML代码广告更灵活,能实现动态创意,不过需要广告位支持。尺寸设置直接影响素材展示效果,要根据广告位的实际空间和设计需求来确定。
角标是个有趣的小功能,它出现在广告素材的角落,点击能跳转指定页面。对于AdX/SSP平台,如果支持贴牌或私有部署,开发者能自定义角标内容和链接,用来推广自己的业务或者引导用户到特定页面。
(二)代码示例
用Python来模拟广告位基本信息的存储和展示:
class AdSlotBasicInfo:
def __init__(self, name, website, ad_type, screen_order, support_format, size, has_corner_mark, description):
self.name = name
self.website = website
self.ad_type = ad_type
self.screen_order = screen_order
self.support_format = support_format
self.size = size
self.has_corner_mark = has_corner_mark
self.description = description
# 实例化一个广告位基本信息对象
ad_slot_info = AdSlotBasicInfo(
name="Banner_ExampleSite_300x250",
website="example.com",
ad_type="Banner",
screen_order="第一屏",
support_format=["普通广告", "HTML代码广告"],
size="300x250",
has_corner_mark=True,
description="用于展示品牌推广广告"
)
print(f"广告位名称: {ad_slot_info.name}")
print(f"所在网站: {ad_slot_info.website}")
print(f"广告位类型: {ad_slot_info.ad_type}")
print(f"屏次: {ad_slot_info.screen_order}")
print(f"支持格式: {', '.join(ad_slot_info.support_format)}")
print(f"尺寸: {ad_slot_info.size}")
print(f"是否有角标: {'有' if ad_slot_info.has_corner_mark else '无'}")
print(f"说明: {ad_slot_info.description}")
三、广告位交易信息设置
(一)底价、DSP支持与黑名单
交易信息设置和广告投放的商业逻辑紧密相关。设置底价很关键,它规定了每千次展示广告位能获得的最低收入,这是保障媒体方利益的重要措施。DSP支持则决定了哪些需求方平台(DSP)可以参与这个广告位的竞价投放,媒体方可以根据合作关系、DSP的信誉等因素来选择开放对象。
黑名单包含多种限制条件,行业限制可以排除特定行业的广告,比如某些媒体不希望投放博彩类广告;域名限制能阻止来自特定不良域名的广告参与竞价;广告主资质限制则确保只有符合资质要求的广告主能竞争该广告位,这一系列限制能保证广告质量和平台形象。
(二)打底广告
每个广告位在启用前都要设置打底广告,它的作用是保证每个流量都有广告展示,避免出现空白情况,提高流量利用率。这就好比给广告位准备了一份“保底”内容,即使没有其他广告竞争展示,也有打底广告来填充位置。
(三)代码示例
下面用Java来模拟广告位交易信息的设置和管理:
import java.util.ArrayList;
import java.util.List;
class AdSlotTradeInfo {
private double floorPrice;
private List<String> supportedDSPs;
private List<String> industryRestrictions;
private List<String> domainRestrictions;
private List<String> advertiserQualificationRestrictions;
private String backupAd;
public AdSlotTradeInfo(double floorPrice) {
this.floorPrice = floorPrice;
this.supportedDSPs = new ArrayList<>();
this.industryRestrictions = new ArrayList<>();
this.domainRestrictions = new ArrayList<>();
this.advertiserQualificationRestrictions = new ArrayList<>();
this.backupAd = "";
}
public void addSupportedDSP(String dsp) {
supportedDSPs.add(dsp);
}
public void addIndustryRestriction(String industry) {
industryRestrictions.add(industry);
}
public void addDomainRestriction(String domain) {
domainRestrictions.add(domain);
}
public void addAdvertiserQualificationRestriction(String qualification) {
advertiserQualificationRestrictions.add(qualification);
}
public void setBackupAd(String ad) {
this.backupAd = ad;
}
// 省略getter方法
}
public class Main {
public static void main(String[] args) {
AdSlotTradeInfo tradeInfo = new AdSlotTradeInfo(5.0);
tradeInfo.addSupportedDSP("DSP1");
tradeInfo.addIndustryRestriction("博彩");
tradeInfo.addDomainRestriction("badDomain.com");
tradeInfo.addAdvertiserQualificationRestriction("无资质");
tradeInfo.setBackupAd("backup_ad_material");
System.out.println("底价: " + tradeInfo.getFloorPrice() + " 元/CPM");
System.out.println("支持的DSP: " + tradeInfo.getSupportedDSPs());
System.out.println("行业限制: " + tradeInfo.getIndustryRestrictions());
System.out.println("域名限制: " + tradeInfo.getDomainRestrictions());
System.out.println("广告主资质限制: " + tradeInfo.getAdvertiserQualificationRestrictions());
System.out.println("打底广告: " + tradeInfo.getBackupAd());
}
}
四、广告位代码获取
(一)代码形式及特点
AdX/SSP平台会提供广告位代码,媒体部署后,平台就能控制流量的投放。Web页面广告位常见的代码形式有JS和iframe两种。JS形式对买方来说自主性强,可以灵活控制创意展现,比如点击后弹出表单框。但从媒体方角度看,iframe形式更安全,因为买方代码只能控制广告位区域,无法影响媒体页面其他部分。需要注意的是,像文档里提到的,http协议存在被拦截风险,有些媒体为了安全只支持https协议,这时候就需要相应的https协议代码。
(二)代码示例
假设我们用Node.js来生成不同协议的广告位代码:
const http = require('http');
const https = require('https');
// 生成http协议的JS广告位代码
function generateHttpJsCode() {
return `<script src="http://example.com/spot_js/202301/1.js"></script>`;
}
// 生成https协议的JS广告位代码
function generateHttpsJsCode() {
return `<script src="https://example.com/spot_js/202301/1.js"></script>`;
}
// 生成http协议的iframe广告位代码
function generateHttpIframeCode() {
return `<iframe src="http://example.com/script/if-y.html#%23|536|300|250|1|http://yyy.biddingx.com/rk/bid?id=" width="300" height="250" border="0"></iframe>`;
}
// 生成https协议的iframe广告位代码
function generateHttpsIframeCode() {
return `<iframe src="https://example.com/script/if-y.html#%23|536|300|250|1|https://yyy.biddingx.com/rk/bid?id=" width="300" height="250" border="0"></iframe>`;
}
console.log("http协议的JS广告位代码: ", generateHttpJsCode());
console.log("https协议的JS广告位代码: ", generateHttpsJsCode());
console.log("http协议的iframe广告位代码: ", generateHttpIframeCode());
console.log("https协议的iframe广告位代码: ", generateHttpsIframeCode());
今天给大家详细解析了AdX/SSP系统里广告位设置的重要知识,从基本信息到交易信息,再到代码获取,每个环节都对广告投放效果有着重要影响。在实际应用中,我们需要根据不同的需求和场景,合理设置广告位。
写作不易,如果这篇文章对你有所帮助,希望你能点赞、评论,也欢迎关注我的博客,后续我会继续分享程序化广告的其他知识,咱们一起在这个领域不断学习成长!