报告最佳做法

本页列出了拉取报表时的一些推荐做法。

保存和重复使用报表

建议您为定期运行的查询创建并保存报表,因为多次插入和删除同一个报表会浪费资源。 使用相对日期范围(例如 YESTERDAYLAST_7_DAYS)可以使报表更便于重复使用。

定期生成报表

临时报表(即一次性报表)会浪费资源,因为它们是单独生成的,而且可能是对不完整数据集执行的。定期生成的报表则可以充分利用报表资源,因为它们是批量生成的,而且可以保证在前一天的数据处理完毕后才执行。如需了解详情,请参阅在安排定期生成报表时可供使用的字段

轮询报表状态时使用指数退避算法

生成一个报表需要多长时间是无法预测的。生成报表所花费的时间可能从几秒到几小时不等,具体取决于许多因素,包括日期范围、要处理的数据量,等等。另外,生成报表所用的时间与报表中返回的行数之间也没有关联。因此,您需要定期检查正在生成的报表的状态,以确定它已于何时完成。此过程称为“轮询”。

虽然轮询很有必要,但在遇到需要很长时间才能生成的报表时,如果编写的实现代码效率低下,可能很快就会耗尽您的配额。因此,我们建议您使用指数退避算法来限制重试次数,从而节省配额。

执行多部分下载

报表文件的大小可能高达数千兆字节 (GB)。在单个请求中下载此类报告可能会导致连接问题。此外,如果通过单个请求进行的下载操作发生中断,则完全无法恢复下载;而且这种下载操作在失败后也无法从中断处恢复下载。因此,我们建议您分成多部分进行下载,将较大的下载文件拆分为多个较小的部分。即使某一个部分下载失败,也可从中断处恢复下载。

虽然分成多部分进行下载有很多好处,但每个部分都会生成一个单独的请求。 因此,我们建议每个部分都不小于 10MB,以免浪费配额。不过,如果您的报表平均大小非常大,建议您在网络连接速度允许的条件下,尽量增加每个部分的大小。

考虑报告配额

请负责任地使用 Campaign Manager 360 的报表功能,以确保遵循下述三种产品级用量配额:

  1. 临时报表执行次数(每天)

    旨在限制 CM 帐号或 CM 用户个人资料可在 24 小时内生成的临时报表的数量。为避免超出配额,请采取以下措施:

    • 减少重复报表。
    • 安排定期生成报表。
    • 停用不必要的 API 脚本。
  2. 主动生成的定期报表的配额

    旨在限制 CM 帐号或 CM 用户个人资料可主动安排在给定时间生成的报表的数量。为避免超出配额,请采取以下措施:

    • 减少重复报表。
    • 停用不必要的定期报表。
    • 停用不必要的 API 脚本。
  3. 同步生成的报表的配额

    旨在限制 CM 帐号或 CM 用户个人资料可同步生成的报表的数量。为避免超出配额,请采取以下措施:

    • 安排定期生成报表。
    • 停用不必要的 API 脚本。
    • 实现退避算法逻辑

如果您已优化报表实现,但发现仍超出了给定配额,请使用联系表单与 Campaign Manager 360 支持团队联系。