三月中旬,一些主要的广告客户离开YouTube因为他们的预卷广告(在主要内容播放之前显示的付费视频,并且可以在5秒后跳过)被放置在具有攻击性内容的视频中。 然而,在这篇文章中,我们想谈谈另一个重要的话题–意外地展示儿童内容中的预卷。
问题是,即使针对成人受众进行了正确的定位设置,儿童频道也会获得大量(在某些情况下高达90%)的展示次数。 这是因为父母在他们的设备上使用"成人"帐户,包括移动和桌面,向他们的孩子展示卡通和教育视频。
当然,广告商不希望将预算花在那些简单地观看预卷的孩子身上,因为这对销售几乎没有影响。 这样的视频和频道可以使用否定关键字排除,但这是耗时和困难的,并且不会排除所有的频道和视频。
许多非流行的儿童频道和视频继续显示预卷广告,因为它们具有共同的,幼稚的名称或描述不足,但它们仍然被许多孩子观看。 有一种方法可以使用AdWords脚本自动搜索和排除此类频道,如下所述。
问题解决方案
Google AdWords允许您在JS上创建自己的脚本来管理您的广告帐户。 它们基于Google Apps脚本,其主要优点是与其他Google服务(如Google云端硬盘,电子表格,YouTube,Analytics,BigQuery等)集成。,以及与第三方Api一起工作的能力。 例如,您可以使用YouTube数据API v3查找广告版位的视频。
事实证明,儿童视频不是通过名称组合,而是通过它们的标签组合。 修改YouTube视频搜索的脚本后,找到了英语,俄语和乌克兰语的各种儿童视频的类似标签并保存在谷歌电子表格供进一步使用。 该文件是公开的,但建议在设置脚本之前制作此文件的副本并将其保存在Google云端硬盘上,并将脚本中的文件id替换为新文件。
重要详情
-
我们从URL_PERFORMANCE_REPORT获取以前日期的YouTube版位和videoId的所有链接:
var报告=AdWordsApp.报告(
'选择Url'+
'FROMURL_PERFORMANCE_REPORT'+
'其中CampaignName包含"视频"'+
'在昨天');
var行=报告。行();
虽然(行。hasNext()){
var行=行。下一页();
var videoId=row['Url'].toString().replace('www.youtube.com/video/',");
视频列表。推([视频]);
}
-
请求将与循环中的每个视频id一起发送到YouTube。 在响应中得到的标签和视频频道Id将被检查它们是否与收集的库中的任何内容与儿童标签匹配:
for(var i=0;ivar results=YouTube.视频。列表('snippet',{id:videoList[i]});
试试{
如果(结果。项[0]。片段!==未定义){
var channelId=结果。项[0]。片段。[医]通道;
var标签=结果。项[0]。片段。标签;
if(uniqueChannel[channelId]!==真){
for(var k=0;kif(tagsObj[tags[k]]!==未定义){
渠道。推([通道]);
uniqueChannel[channelId]=true;
伐木工人。log("添加到扩展库-"+channelId);
休息;
其他{
继续;
};
}
}
}
}捕获(e){
伐木工人。日志(e);
}
}
如果任何视频标签与库中的标签匹配,则视频通道的ID将被发送到阵列以排除(如果尚未通过来自同一通道的另一个视频添加)。
检查完所有视频后,运行循环将所有频道添加到adwords帐户的排除网站列表中。 需要预先创建一个名称与脚本中的名称相同的列表(此处为"Video_channels")。 排除站点列表的限制为65,000,因此不应该存在任何溢出问题。
var excludedPlacementList=AdWordsApp。excludedPlacementLists()。withCondition('Name="Video_Channels"')。得到()。下一页();
对于(var d=0;dexcludedPlacementList.addExcludedPlacement("youtube.com/channel/"+通道[d].toString());
};
发生了问题
上面提供的解决方案似乎可以正常工作,但仍然出现了一些问题。 使用此脚本时,我们遇到了以下问题。 该脚本没有设法处理前一天的所有视频,因为AdWords有30分钟的限制。 因此,没有添加新的例外。
此外,有必要尽可能经常添加视频,以通过定位正确的受众来节省预算。 不幸的是,即使在将视频添加到例外列表中,根据我们的经验,他们也没有立即开始工作。 谷歌技术支持估计最多需要2天,通常更少。 因此,如果您有脚本收集的频道列表,建议提前将它们添加到例外列表中。
解决方案
每小时运行一次脚本似乎是合理的,并且不检查以前检查过的视频,否则脚本将在一天中达到30分钟的限制。 该解决方案的设计使用这个脚本. 与脚本的第一个版本相比,它有点复杂,但结果非常好。
我们添加了将已检查内容的txt文件保存到Google云端硬盘的功能。 检查内容的Id被登记在文件中,然后将它们与新的Id进行比较。 比较是使用与开源代码不同的方法进行的。js库。
作为输出,我们得到了最后一个小时的独家新videoId数组,我们根据脚本的第一个版本中开发的方案检查了标签的出现。 脚本完成后,我们将当天的所有视频添加到同一个txt文件中。
设置脚本
-
指定要在Google云端硬盘上创建的文件的名称:
var dataFile="videoIds.txt";
如果没有这样的文件,它将自动创建。 -
选择要检查的广告系列:
'其中CampaignName包含"(视频)"
AWQL语法在AdWords帮助. -
替换Google电子表格中的文件id:
var电子表格=SpreadsheetApp。openById('11pmgc70yle88npi47hwb6w36y8yjw2n2cdxxlgdk12o'); -
在AdWords界面中,创建排除版位的常规列表:
var excludedPlacementList=AdWordsApp。excludedPlacementLists()。withCondition('Name="Video_channels"')。得到()。下一页();
并插入其名称而不是"Video_channels"。 -
在扩展Api中启用YouTube。
在第一次观看后,在Google Developers Console中启用YouTube API。 链接将在错误日志中。 -
为脚本操作设置"每小时"时间表。
瞧!
最后评论
因此,我们创建了一个脚本,每小时检查带有儿童视频内容的YouTube频道,而没有达到时间限制。 您还可以通过向电子表格文件添加新标签来自定义任何主题的脚本。 已发布更新脚本的代码这里. 非常感谢您的问题和建议。
请记住,有时包含其他内容的视频频道也会落在例外列表中,但这种情况很少发生。 这主要有两个原因。 频道所有者共享儿童内容以及其他类型的内容。 有时,视频频道也可能使用错误的标签来扩大受众。
根据我们的观察,在您开始使用脚本后,观看率(VTR,view-through rate)会显着下降,因为成年人比儿童更频繁地按下"跳过"按钮,但这样,您的广告就会向相关受众展示。
使用脚本和放置您的广告在正确的渠道!