借助 Google Cloud 和机器学习技术进行大规模广告素材分析

本文面向有兴趣学习如何使用 Google Cloud 的机器学习和数据仓储功能自动进行广告素材数据分析的广告专业人士。本文探讨了如何利用云技术快速获得广告素材数据洞见、有效衡量这些广告素材的质量并相应地定制广告效果。了解如何大规模地从广告(您的广告素材)中提取可视元数据并加以处理,以便您更好地了解哪些图片和视频能让您的客户产生共鸣。

本文概述了一个系统,这个系统可以:

  • 使用机器学习 API 解析广告素材。
  • 实现 Pub/Sub 流水线,从而支持大规模处理。
  • 查询广告数据和图片内容以进行分析。

本文描述的系统可以帮助您:

  • 通过内部和外部数据科学团队实现针对原始数据的自定义分析
  • 宏观展示广告网络、广告客户或广告系列中的广告素材元素和相关统计信息,以进行交互式分析。
  • 利用机器学习模型提供可扩缩的分析功能,您可以将其分享给专注于优化广告素材的利益相关方。

本文假设您使用 Google Marketing Platform 进行广告宣传。

简介

广告客户越来越重视定位和归因,而事实上广告素材的影响有 75% 与广告素材的质量有关。尽管统计信息如此,但大多数分析工作仍然专注于广告素材的运作时间和地点,而非专注于广告素材内容。这并不是因为不够努力,而是因为分析广告素材的难度太大。

要开始从广告素材数据中获取洞见,您必须手动标记各个广告素材。因此,您只能分析一组选定的广告素材,这既费钱又费时。此外,广告素材资源的上传流程不适用于包含广告素材 ID 的一致分类,因此无法查看效果指标并将其关联回广告素材。

理想情况下,您需要能够回答以下问题:

  • 在视频的前 5 秒内显示品牌徽标会提高品牌回想度吗?
  • 展现树木或海滩等自然户外风光的广告素材是否优于展现城市风光的广告素材?
  • 您的广告素材中出现哪些关键字?它们对指标有何影响?
  • 展示众多笑脸的广告素材会带来更多的互动吗?

现今回答这些问题的唯一方法是查看每个广告素材并手动提供答案。这种解决方案速度缓慢且无法扩缩。本文介绍的解决方案重新构想了这个过程,让分析师可以在几天内处理所有广告素材。该解决方案大大增加了可用数据的广度和深度,而这样的广度和深度是无法通过之前的人工标记方式实现的,或者即使实现了也需要极其高昂的费用。

本文概述了如何使用 Google Cloud 技术(如 Pub/Sub、App Engine、Cloud Vision、BigQuery 和 Data Studio)大规模自动执行这些广告素材数据分析。

适合进行广告素材数据分析的数据流水线

数据流水线主要在 App Engine 上运行,使用 Pub/Sub 作为同时处理多个广告素材的消息队列服务。此流水线还可以读取和写入 Datastore 数据,作为在流水线阶段跨各个 App Engine 工作器协调并行任务的一种方式。

该流水线会从 Google Marketing Platform 获取广告素材图片和视频并将其复制到 Cloud Storage。这些图片和视频也通过 Vision API 和 Video Intelligence API 运行。然后,来自这些服务的原始数据会被写入 BigQuery。为了帮助您了解如何实现此类流水线,我们会在下一部分更详细地介绍每个组件。

将解决方案自动化:

所提解决方案有三个阶段:

  1. 通过 Vision API 和 Video Intelligence API 利用现有的机器学习功能。
  2. 使用 Pub/Sub 创建可扩缩流水线,以自由处理广告素材。
  3. 使用 BigQuery 和 Data Studio 存储、查询并直观呈现生成的洞见。

第 1 步:利用机器学习 API

请思考以下示例广告素材:

护肤霜广告

在 Campaign Manager 中,您可以获得以下与广告相关的信息:

  • 广告素材 ID
  • 广告素材尺寸
  • 广告指标,例如点击率 (CTR)。Campaign Manager 中提供了完整的指标列表
广告素材 ID 广告素材名称 广告素材尺寸 展示次数 点击次数 点击率
12345 cbalm_lipgloss_300x300.png 300x300 80,734,829 174,696 0.2%

目前的命名惯例是提取有关广告素材内容的信息并据此作出最佳选择。不过,本文使用 Cloud Vision API 自动提取广告素材中的关键特征,如下图所示:

使用 Vision API 从广告素材中提取主要特征

要了解内容的细微差别,您可以上传自己的广告素材图片,自行尝试上述提取。

只需要一瞬间,您便可以使用 API 分析广告素材的内容并开始了解这些广告素材的质量如何影响广告回想度和效果。您可以更轻松地询问与数据集相关的问题。

第 2 步:设置 Pub/Sub 以实现广告素材流水线的自动化

要大规模自动处理广告素材流水线,您可以利用 Pub/Sub。此服务是一种数据流分析解决方案,可以提取事件流并将其传递给 BigQuery 以便在其数据仓库中进行分析。依靠 Pub/Sub 传递事件数据可让您高效处理数千个广告素材。下图简要展示了用于实现广告素材分析的流水线设置。

技术堆栈和架构

技术堆栈和架构

上方的架构图涉及以下 Google Cloud 组件。

GCP 组件 流水线角色
Pub/Sub 异步的作业和消息队列。

在这种情况下,我们建议创建 4 个主题来管理广告素材、作业、广告素材元数据和 Vision API 数据。其中每一个主题都有关联的订阅者,系统会在发现新输入时启用这些订阅者。
Cloud Storage 最适合用于存储流水线中使用的图片和视频的媒体文件。
App Engine 用于处理业务逻辑的计算资源。
Datastore 允许对作业进行基本遥测、协调各个流水线步骤中的操作以及聚合消息。
Cloud Logging 运行状况检查、调试和状态的日志记录资源。
BigQuery 数据存储区,用于存储生成的流水线输出内容,并将数据输入 Data Studio 进行分析。

流水线的主要注意事项

  • 流水线的起点和终点是单体式工作单元。流水线中间会并行处理广告素材,其中每条 Pub/Sub 消息都包含一个广告素材。
  • 作业会被视为长时间运行的进程(每个作业可能需要数小时/天)。
  • 流水线是临时运行的,因此 Google Marketing Platform 中的新数据在下次运行之前不会更新。
  • 流水线要求与运行此基础架构的 Google Cloud 项目关联的服务帐号具有适当的权限,这些权限来自 Google Marketing Platform 媒体资源(例如,Campaign Manager)以及 Cloud Storage 和 BigQuery 等服务的源 Google Cloud 项目和目标 Google Cloud 项目。
  • 此流水线支持单广告素材流程,也支持批量更新。

第 3 步:使用 Data Studio 和 BigQuery 直观呈现广告素材数据分析

对于初步分析,您可以先直接使用 Vision API 和 Video Intelligence API 中的原始数据。但是,对于数学建模和机器学习,我们建议您对这些数据进行特征工程操作,将其转换为合适的格式。此解决方案使用修改后的独热方法,将广告素材的每个特征表示为 0 到 1 之间的数字。下表使用一些示例演示了如何转换此类数据。

每个广告素材的 API 数据 独热表示法
一组用于描述广告素材内容(例如海滩汽车)的纯文本标签,以及每个标签的置信度分数(0 到 1) 特征集是涵盖所有广告素材的完整标签字典。如果标签不存在,则广告素材获得 0 分;如果标签存在,则以置信度分数(0 到 1)为准。
徽标大小(以像素为单位)

左上角的位置(以像素为单位)
表示徽标相对大小的一个特征,计算方法为(徽标宽度 × 高度)/(广告素材宽度 × 高度)。

四个特征(每个象限对应一个),如果徽标在该象限,则为 1,否则为 0。
广告素材中所有面孔的列表 表示面孔数量的一个特征,使用逻辑函数从 0 到 1 归一化,使 0 表示没有面孔,0.5 表示 1 个或 2 个面孔,0.99 表示一大群。

完成这些步骤后,您可以使用 BigQuery 将来自 Vision API 的广告素材相关信息(标签、分数、颜色、显眼程度)和来自 Google Marketing Platform(尤其是 Campaign Manager)的数据(广告素材 ID、点击率)整合在一起。下面是一个示例信息表。

广告素材 ID 标签 分数 颜色 显眼程度 点击率
12345 海盗 0.7 红色 0.8 0.2%
帽子 0.8 白色 0.1
67890 躯干 0.6 白色 0.4 0.3%
0.9 天蓝色 0.4
  • 现在,您可以将这些数据转化为广告素材数据洞见。而且,您可以轻松回答本文开头提出的问题。

首先要问:展现树木或海滩等自然户外风光的广告素材是否优于展现城市风光的广告素材?下图使用来自汽车制造商的匿名数据,对照广告素材的效果指数绘制了标签的出现次数。

对照广告素材的效果指数绘制标签出现次数的图表

  • 在图表的右上象限中,标签 engineering(工程)、blueprint(蓝图)和 schematic(示意图)频繁出现且效果良好。这个结果表明,展示工程图和蓝图可让客户知道汽车是经过严格设计的精密产品。
  • 在右下象限中,标签 executive(高管)和 dress shoes(时装鞋)频繁出现但效果不佳。您可以选择将来避免使用这些类型的广告素材。
  • 在左上象限中,标签 journey(旅程)、forest(森林)、people(人)、body(身体)和 sunglasses(墨镜)不经常出现,但效果优于其他同类标签。这些标签显示了您可能忽略的优化建议。例如,journey(旅程)+ forest(森林)可能会催生展示蜿蜒道路和惊人美景的广告,people(人)+ body(身体)+ sunglasses(墨镜)可能表示人体模型很重要。将这些标签与 dress shoes(时装鞋)+ executive(高管)进行对比,您便可以发现休闲形象更适合该品牌的广告系列。

  • 现在问自己另一个问题:您的广告素材中出现哪些关键字?它们对指标有何影响?您可以使用 BigQuery 中的相同数据创建以下图表,该图表对照相应广告素材的效果绘制了特定关键字的出现次数。如下图所示,出现关键字 now(现在)和 sale(促销)的广告素材往往比出现 exclusive(专享)或 off(减价)的广告素材效果更好。

    出现关键字“now”(现在)和“sale”(促销)的广告素材往往比出现“exclusive”(专享)或“off”(减价)的广告素材效果更好

    利用这些数据洞见,您可以更好地了解所有广告素材的影响,并可以围绕广告素材部署和测试作出更好的决策。

后续步骤