发明内容
本发明实施例提供了基于MetaAPI的广告报告获取方法、装置及其相关介质,旨在解决现有技术中Meta广告数据与公司内部数据无法进行关联,同时账户封禁率高的问题。
第一方面,本发明实施例提供了一种基于MetaAPI的广告报告获取方法,包括:
调用MetaAPI对广告文案进行合规化检测,得到广告检测结果;
利用广告合规协议过滤所述广告检测结果,得到广告投放数据;其中,所述广告投放数据包括广告子账户以及广告系列;
获取所述广告子账户并进行状态码检测,分别得到封禁广告子账户和正常广告子账户;
弃用所述封禁广告子账户并获取所述正常广告子账户,并将所述正常广告子账户进行报告整合,得到广告报告数据;
对所述广告报告数据进行数据压缩,并上传至大数据集群备用。
第二方面,本发明实施例提供了一种基于MetaAPI的广告报告获取装置,包括:
广告检测单元,用于调用MetaAPI对广告文案进行合规化检测,得到广告检测结果;
广告过滤单元,用于利用广告合规协议过滤所述广告检测结果,得到广告投放数据;其中,所述广告投放数据包括广告子账户以及广告系列;
广告获取单元,用于获取所述广告子账户并进行状态码检测,分别得到封禁广告子账户和正常广告子账户;
广告整合单元,用于弃用所述封禁广告子账户并获取所述正常广告子账户,并将所述正常广告子账户进行报告整合,得到广告报告数据;
广告分析单元,用于对所述广告报告数据进行数据压缩,并上传至大数据集群备用。
第三方面,本发明实施例提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述第一方面的基于MetaAPI的广告报告获取方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其中,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述第一方面的基于MetaAPI的广告报告获取方法。
本发明实施例提供一种基于MetaAPI的广告报告获取方法,包括调用MetaAPI对广告文案进行合规化检测,得到广告检测结果;利用广告合规协议过滤所述广告检测结果,得到广告投放数据;其中,所述广告投放数据包括广告子账户以及广告系列;获取所述广告子账户并进行状态码检测,分别得到封禁广告子账户和正常广告子账户;弃用所述封禁广告子账户并获取所述正常广告子账户,并将所述正常广告子账户进行报告整合,得到广告报告数据;对所述广告报告数据进行数据压缩,并上传至大数据集群备用。本发明是通过调用MetaAPI追踪投入的广告,并结合状态码进行检测,从而减小账户被封禁的风险,同时使得Meta广告数据与公司内部数据进行关联,提高广告投放的最大转化价值。
本发明实施例还提供一种基于MetaAPI的广告报告获取装置、计算机设备和存储介质,同样具有上述有益效果。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
下面请参见图1,图1为本发明实施例提供的一种基于MetaAPI的广告报告获取方法的流程示意图,具体包括:步骤S101~S105。
S101、调用MetaAPI对广告文案进行合规化检测,得到广告检测结果;
S102、利用广告合规协议过滤所述广告检测结果,得到广告投放数据;其中,所述广告投放数据包括广告子账户以及广告系列;
S103、获取所述广告子账户并进行状态码检测,分别得到封禁广告子账户和正常广告子账户;
S104、弃用所述封禁广告子账户并获取所述正常广告子账户,并将所述正常广告子账户进行报告整合,得到广告报告数据;
S105、对所述广告报告数据进行数据压缩,并上传至大数据集群备用。
结合图2所示,在步骤S101中,通过Python编程语言,可以使用MetaAPI来访问广告信息和相关数据,MetaAPI提供了访问广告账户、广告系列、广告组和广告创意等信息功能。从特定的广告创意中获取广告文案,广告文案包括了广告标题、描述、关键字等。因为Meta是基于Facebook进行广告投放的系统,主要是通过文章、图片的方式进行广告投放,所以时常存在一些不经意敏感词,需要对广告文案进行合规化检测。合规化检测是一种广告内容审核的过程,旨在确保广告内容符合规定、合法、道德和社会准则,不会触犯相关法律法规或引起不良影响,这种检测通常用于广告平台、社交媒体、搜索引擎等广告投放渠道,以确保广告内容的合规性和适切性。
在一实施例中,在所述步骤S101之前,包括:
创建Meta应用,并利用所述Meta应用创建Meta广告请求服务,以初始化开发者项目;
根据MetaAPI文档下载必应API依赖包,并对所述必应API依赖包进行初始化以应用到广告后台;
将所述开发者项目和广告后台进行数据关联,以调用所述MetaAPI。
在本实施例中,需要先创建Meta应用以及创建Meta广告请求服务,前往Meta开发者平台,登录并创建一个新的Meta应用,以获得一个应用ID和凭证信息。再进入在Meta应用界面,找到广告相关的API和功能,创建一个Meta广告请求服务,此服务将用于与广告后台通信。通过参考MetaAPI文档来下载必应API依赖包;在开发环境中,使用下载的必应API依赖包进行初始化,这包括了安装必要的Python库、配置API密钥等。在前置工作准备好之后,登录Meta广告后台,配置广告账户、广告系列、广告组等信息,确保已经获得了广告后台的凭证信息;在Meta应用界面或开发者平台中,找到与广告后台关联的选项,将开发者项目与广告后台的账户进行关联,以便进行API调用。
另外的,在关联项目和广告后台时,可以使用OAuth2认证来确保API调用的安全性;还可以创建一个自动化流程,以便在广告投放时触发API调用,从而减少人工操作;还可以在API调用中添加适当的错误处理和日志记录,以便及时发现和解决问题。
在一实施例中,所述步骤S101,包括:
调用所述MetaAPI以构建定时检测脚本;
利用所述定时检测脚本对所述广告文案进行模糊匹配,得到模糊匹配结果;
对所述模糊匹配结果划分权重范围,当所述模糊匹配结果满足所述权重范围时,则输出所述广告检测结果。
在本实施例中,选择适合的项目编程语言,如Python,以构建定时脚本,并在脚本中调用MetaAPI来获取广告文案信息;使用定时任务工具(如Cron、Windows TaskScheduler等),将脚本设置为定时执行,以周期性地检测广告文案;在定时检测脚本中,对获取的广告文案进行模糊匹配,使用字符串匹配、正则表达式等技术来识别可能的敏感词汇或不合规内容;为不同类型的敏感问题设置不同的权重值,例如,高风险敏感词有更高的权重,划分权重范围是根据敏感问题的严重程度来设定的;根据模糊匹配的结果和权重划分,将广告文案的敏感程度归类,得到一个权重值;判断权重值是否在预设的预警范围内,如果权重值在预警范围内,则表示广告文案可能存在敏感问题,需要进一步处理;当权重值满足预警范围时,可以将预警信息输出,例如通过电子邮件、消息通知等方式,通知运营人员检查广告文案。
进一步的,可以使用自然语言处理(NLP)技术来识别更复杂的敏感问题,例如,情感分析等;对于不同的广告平台、文案类型,可以设置不同的权重划分策略;对于低权重敏感问题,可以实现自动修复机制,自动调整广告文案以避免违规;定期更新敏感词库,以应对新出现的敏感词汇和问题。
在步骤S102中,在广告投放平台(如Meta广告后台)中,通常有广告合规协议,规定了广告内容的要求和标准,根据广告合规协议的内容,制定过滤规则,包括禁止的词汇、限制性的内容、广告尺寸要求等;将广告检测结果应用到过滤规则中,筛选出符合合规要求的广告;从经过过滤的广告检测结果中,提取出合规的广告子账户和广告系列信息,这些信息(即所述广告投放数据)将用于后续的数据分析和报告生成。
在一实施例中,所述步骤S102,包括:
利用所述广告合规协议构建敏感词数据库;
根据所述敏感词数据库对所述广告检测结果进行敏感词过滤,得到敏感词分类结果;
根据所述敏感词分类结果发送风险提示指令,以得到所述广告投放数据。
在本实施例中,根据广告合规协议和平台要求,收集敏感词汇;创建一个敏感词数据库,将收集到的敏感词汇进行存储,可以采用数据库、文本文件或其他形式;将广告检测结果中的文案与敏感词数据库进行比对,检测是否包含敏感词汇;根据敏感词的性质和严重程度,将敏感词分为不同的分类,例如,高风险敏感词、中风险敏感词等;根据敏感词分类结果,判断广告文案中是否包含高风险或中风险敏感词,如果存在,则发送风险提示指令;风险提示可以通过电子邮件、短信、消息通知等方式进行,通知相关运营人员或管理员。
进一步的,可以定期更新敏感词库,以应对新出现的敏感词汇和问题;可以设置支持多种语言的敏感词检测,以适应不同地区和市场的需求;如果检测到敏感词,还可以给出自动修正建议,帮助广告主进行修改;还可以引入用户反馈机制,允许用户报告广告中的不合规内容,以提升敏感词过滤的准确性;可以引入机器学习模型,通过训练模型来识别新的敏感词汇。
在步骤S103中,对每个广告子账户,使用平台提供的查询接口,获取状态码信息;根据获取的状态码,判断该广告子账户的状态,将其分类为封禁或正常;将封禁和正常广告子账户分别存储到不同的列表或数据结构中,以备进一步处理。进一步的,可以使用定时任务,比如Cron Job,来定期运行这个检测过程,以确保及时获取最新的广告子账户状态。在获取状态码后,将状态码与时间戳一起存储,建立一个历史记录,可以帮助分析状态变化的模式和趋势。如果广告子账户众多,可以考虑使用多线程或异步处理来提高处理效率。如果在调用API时,出现连接错误或超时等问题,可以适当的引入异常处理机制以确保程序的稳定性。对于被封禁的广告子账户,设置报警通知,以便及时采取行动。最后将检测结果可视化展示,例如通过图表或仪表盘,使用户能够更直观地了解账户状态。
在一实施例中,所述步骤S103,包括:
对所述广告子账户进行状态码检测,当返回封禁状态码时,则暂停获取当前的广告子账户,收集得到所述封禁广告子账户,并将所述封禁广告子账户写入运行日志;当返回正常状态码时,则继续获取下一个广告子账户,收集得到所述正常广告子账户。
在本实施例中,使用广告平台提供的界面,来获取所有广告子账户的信息;对每个广告子账户进行循环遍历,使用平台的查询接口,获取广告子账户的状态码。根据获取的状态码,判断广告子账户的状态,如果是封禁状态,则进行相应操作,如果是正常状态,则继续下一个子账户。如果状态码表示广告子账户被封禁,可以将其记录到运行日志,并采取进一步的措施,如通知管理员、暂停相关操作等。如果状态码表示广告子账户是正常的,则继续下一个子账户的检测。
另外的,将封禁的广告子账户的信息,如ID、名称、时间戳等,记录到专门的运行日志文件中,以便后续分析和追踪。在代码中设置状态码与封禁/正常状态的映射关系,以便更好地理解返回的状态码。如果广告子账户数量庞大,可以使用多线程来并发地进行状态码检测,以提高工作效率。
在步骤S104中,当检测到广告子账户状态为封禁时,可以记录相关信息到运行日志,可以选择将封禁的广告子账户进行标记,以便后续处理。对于正常状态的广告子账户,继续遍历并进行下一步操作。对于每个正常广告子账户,使用平台的报告查询接口获取相关的广告报告数据,最后将每个正常广告子账户的报告数据整合,可以使用数据处理库(如Pandas)进行数据操作和处理。
在一实施例中,所述步骤S104,包括:
根据所述封禁状态码弃用所述封禁广告子账户;
根据所述正常状态码保留所述正常广告子账户;其中,所述正常广告子账户包含有多个;
利用pandas模块将多个所述正常广告子账户进行报告整合,得到所述广告报告数据。
在本实施例中,当检测到广告子账户状态为封禁时,将其标记为弃用状态,可以将弃用的子账户存储在一个列表或数据结构中,以备后续处理。当状态码为正常时,保留这些正常广告子账户,继续下一步操作。对于每个正常广告子账户,使用平台的报告查询接口获取相关的广告报告数据;使用Pandas模块,将每个正常广告子账户的报告数据转换为DataFrame格式,将多个子账户的DataFrame进行合并,形成一个完整的报告数据表。在Pandas模块(Pandas模块是一个Python数据分析库,专门用于处理和分析结构化数据)中,可以使用各种方法对整合后的报告数据进行分析,计算汇总指标、生成图表等。
进一步的,在整合报告数据之前,对每个子账户的报告数据进行必要的数据预处理,例如去除缺失值、格式转换等。如果涉及多个广告平台,需要考虑不同平台的API调用和数据格式。将整合后的报告数据存储在数据库中,以便后续分析、查询和可视化。如果存在多级子账户结构(如广告系列、广告组等),可以逐级进行报告数据的整合。可以使用定时任务或实时监控机制,定期或实时更新报告数据,以保持数据的准确性。可以使用数据可视化工具,如Matplotlib、Seaborn、PowerBI等,将报告数据可视化展示,方便理解和分析。将整合后的报告数据导出为Excel、CSV等格式,以便共享或进行进一步分析。
在步骤S105中,使用数据压缩算法(如Gzip、Zstandard、LZ4等),对广告报告数据进行压缩,压缩后的数据大小会相对减小,从而节省存储空间;使用合适的工具和协议(如HDFS、S3等)将压缩后的数据上传至大数据集群。大数据集群可以是分布式存储系统,如Hadoop HDFS或云存储平台。在上传前,还可以将数据按照日期、广告子账户等属性进行分区,以便更好地管理和查询数据;不同的压缩算法和参数适用于不同类型的数据,可以根据数据特点进行调优。还可以对数据进行加密,确保数据在传输和存储过程中的安全性。
在一实施例中,所述步骤S105,包括:
对所述广告报告数据进行数据压缩,得到数据压缩包;
利用hdfs模块的upload方法将所述数据压缩包上传到所述大数据集群;
基于所述大数据集群对广告进行数据分析,得到广告分析结果。
在本实施例中,使用适当的数据压缩算法(如Gzip、Zstandard、LZ4等),将广告报告数据进行压缩,生成一个数据压缩包,再使用hdfs模块(hdfs模块是Python中用于与Hadoop分布式文件系统进行交互的工具,hdfs模块是Hadoop生态系统的一部分,用于存储大规模数据并在分布式环境中提供高可用性和可伸缩性,hdfs模块允许通过Python代码与Hadoop集群的hdfs进行交互,进行文件操作、数据读写等操作)连接到大数据集群的hdfs文件系统;利用hdfs模块的upload方法将数据压缩包上传至指定的hdfs路径。基于大数据集群,使用分布式计算框架(如Hadoop、Spark)进行广告数据分析,使用相应的分析算法和工具,对广告报告数据进行统计、聚合、挖掘等分析操作。
进一步的,除了hdfs模块,还可以考虑其他分布式文件系统,如Amazon S3、GoogleCloud Storage等;在进行广告数据分析之前,可以对数据进行预处理,如数据清洗、转换、去重等操作。如果需要实时分析,可以使用流式处理框架,如Apache Kafka和SparkStreaming等。
结合图3所示,图3为本发明实施例提供的一种基于MetaAPI的广告报告获取装置的示意性框图,基于MetaAPI的广告报告获取装置300包括:
广告检测单元301,用于调用MetaAPI对广告文案进行合规化检测,得到广告检测结果;
广告过滤单元302,用于利用广告合规协议过滤所述广告检测结果,得到广告投放数据;其中,所述广告投放数据包括广告子账户以及广告系列;
广告获取单元303,用于获取所述广告子账户并进行状态码检测,分别得到封禁广告子账户和正常广告子账户;
广告整合单元304,用于弃用所述封禁广告子账户并获取所述正常广告子账户,并将所述正常广告子账户进行报告整合,得到广告报告数据;
广告分析单元305,用于对所述广告报告数据进行数据压缩,并上传至大数据集群备用。
在本实施例中,广告检测单元301调用MetaAPI对广告文案进行合规化检测,得到广告检测结果;广告过滤单元302利用广告合规协议过滤所述广告检测结果,得到广告投放数据;其中,所述广告投放数据包括广告子账户以及广告系列;广告获取单元303获取所述广告子账户并进行状态码检测,分别得到封禁广告子账户和正常广告子账户;广告整合单元304弃用所述封禁广告子账户并获取所述正常广告子账户,并将所述正常广告子账户进行报告整合,得到广告报告数据;广告分析单元305对所述广告报告数据进行数据压缩,并上传至大数据集群备用。
在一实施例中,在所述广告检测单元301之前,包括:
创建单元,用于创建Meta应用,并利用所述Meta应用创建Meta广告请求服务,以初始化开发者项目;
下载单元,用于根据MetaAPI文档下载必应API依赖包,并对所述必应API依赖包进行初始化以应用到广告后台;
关联单元,用于将所述开发者项目和广告后台进行数据关联,以调用所述MetaAPI。
在一实施例中,所述广告检测单元301,包括:
脚本单元,用于调用所述MetaAPI以构建定时检测脚本;
模糊单元,用于利用所述定时检测脚本对所述广告文案进行模糊匹配,得到模糊匹配结果;
权重单元,用于对所述模糊匹配结果划分权重范围,当所述模糊匹配结果满足所述权重范围时,则输出所述广告检测结果。
在一实施例中,所述广告过滤单元302,包括:
词库单元,用于利用所述广告合规协议构建敏感词数据库;
预警单元,用于根据所述敏感词数据库对所述广告检测结果进行敏感词过滤,得到敏感词分类结果;
指令单元,用于根据所述敏感词分类结果发送风险提示指令,以得到所述广告投放数据。
在一实施例中,所述广告获取单元303,包括:
判断单元,用于对所述广告子账户进行状态码检测,当返回封禁状态码时,则暂停获取当前的广告子账户,收集得到所述封禁广告子账户,并将所述封禁广告子账户写入运行日志;当返回正常状态码时,则继续获取下一个广告子账户,收集得到所述正常广告子账户。
在一实施例中,所述广告整合单元304,包括:
弃用单元,用于根据所述封禁状态码弃用所述封禁广告子账户;
保留单元,用于根据所述正常状态码保留所述正常广告子账户;其中,所述正常广告子账户包含有多个;
整合单元,用于利用pandas模块将多个所述正常广告子账户进行报告整合,得到所述广告报告数据。
在一实施例中,所述广告分析单元305,包括:
压缩单元,用于对所述广告报告数据进行数据压缩,得到数据压缩包;
上传单元,用于利用hdfs模块的upload方法将所述数据压缩包上传到所述大数据集群;
分析单元,用于基于所述大数据集群对广告进行数据分析,得到广告分析结果。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本发明实施例还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例还提供了一种计算机设备,可以包括存储器和处理器,存储器中存有计算机程序,处理器调用存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然计算机设备还可以包括各种网络接口,电源等组件。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。