Facebook开发者篇 - API拉取广告投放数据对接流程

大家好,我是牢鹅!相信大家做出海,很多人会考虑在Facebook这样的大平台买量,但是每次登入Facebook的广告后台看数据很麻烦,又要科学上网,又要拉数据下来作进一步的分析,赚刀乐总是慢人一步。所以牢鹅这边推荐,如果想要拿到实时广告投放效果数据,结合投放支出和广告(内购)收益,就很方便随时随地查看当前的ROI了。

因此,Facebook开发者系列的第四篇,就来说说API拉取广告投放数据的对接流程吧。本篇内容将根据以下顺序陈述,大家可以直接选择对应模块阅读:

  • Facebook API简介

  • 为什么要使用Facebook API

  • 如何创建应用和获取永久token

  • 接入代码流程

Facebook API 简介

Facebook API 是一套提供给开发者的工具,允许开发者访问和操作Facebook的数据。通过API,开发者人员可以自动化地获取广告投放的详细数据,包括但不限于展示次数、点击次数、转化次数以及广告花费等。

为什么使用Facebook API?

  • 自动化数据获取:自动收集广告数据,节省手动操作的时间。

  • 实时监控:实时获取广告表现,快速做出调整。

  • 深入分析:深入分析广告数据,发现潜在的优化点。

  • 数据整合:将Facebook广告数据与其他平台营销数据整合,获得全面的市场洞察。

如何创建应用和获取永久token

1、 创建应用

https://developers.facebook.com/apps/?show_reminder=true

  • 选择对应的BM账户

图片

  • 必须选择「企业商家」类型的应用

图片

图片

  • 最后输入应用名,然后再选择对应的BM账号就可以了,创建应用

图片

  • 应用创建后,就可以了,不需要填写基本信息那些,测试模式也能拉取数据的。但是如果你的这个应用是需要绑定你投放的应用,或者接入Facebook登录等功能,可以参考一下上一篇的文章《Facebook 开发者登录接入与事件回传详细教程》

2、 创建系统用户(用于获取权限)

  • 进入到BM设置页面:
    https://business.facebook.com/settings/?business_id=xxx

  • 如图创建系统用户

图片

3、 分配资产权限

  • 首先给应用分配广告账户权限,如下图所示,选中你刚刚创建的应用,然后新增资产,分配广告账户给应用

图片

  • 再选回系统用户,给系统用户分配资产

图片

  • 把在投放的广告账户和你的应用,资料集什么的都选中,权限也记得勾上,最后点击指派资产

图片

  • 确定后,可以刷新看看有没有添加成功。成功后点击产生凭证(token)

图片

  • 选中你创建的应用

图片

  • 这里可以选永久,不然2个月失效怕你忘了

图片

  • 把授予的权限都勾上(如果应用不是商家类型,是不会有这些权限选择的)

图片

  • 最后点击产生凭证(生成token)

图片

  • 生成的token一定要保存好了,复制后,把凭证(token)和创建的应用id发给后端人员就可以进行调试接入api啦!

图片

接入代码流程

这部分就不详细写了,因为每个人接入的需求都不一样。只要你知道流程创建好所需要的token,接入都是比较简单的。直接附上官方的接入文档:

https://developers.facebook.com/docs/marketing-api/insights(成效分析 API)

这里说明下一些所需参数对应的分别是什么

  • ACCESS_TOKEN:就是上面步骤产生的凭证。 

  • AD_ACCOUNT_ID:广告账户的ID,每个广告账户都会有一个这样的ID,用于区分不同的广告账户。 

  • AD_ID:这是单个广告的唯一标识符。在一个广告账户下,可能会有多个广告,每个广告都会有一个独立的ID来标识。 

  • AD_SET_ID:这是广告组(或称为广告集)的唯一标识符。广告组是一组广告的集合,通常基于特定的目标和预算进行组织。 

  • CAMPAIGN_ID:这是广告活动的唯一标识符。

技术人员需要理解自己的需求是什么,才能把活干得更细致。如果在接入过程中遇到什么问题,欢迎留言讨论,本公众号的宗旨是一直在为助力国人出海赚刀乐而努力。

结语:

最后,接好代码,整理和结合广告投放数据和营收数据,相信你会对产品有一个更直观的数据分析,做好辅助工具才能打磨出更好的产品。

希望本文能够帮助到大家顺利接入Facebook的API拉取广告投放数据。持续高质量创作不易,欢迎大家关注我的公众号。如果你有更多的见解或疑问,欢迎在评论区与我们交流。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/148923.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

PHP基础语法讲解

​ 大家好,我是程序员小羊! 前言: PHP(Hypertext Preprocessor)是一种常用于网页开发的服务器端脚本语言,易于学习并且与 HTML 紧密结合。以下是 PHP 的基础语法详细讲解。 1. PHP 基础结构 1.1 PHP 脚本结…

kubernetes网络(二)之bird实现节点间BGP互联的实验

摘要 上一篇文章中我们学习了calico的原理,kubernetes中的node节点,利用 calico 的 bird 程序相互学习路由,为了加深对 bird 程序的认识,本文我们将使用bird进行实验,实验中实现了BGP FULL MESH模式让宿主相互学习到对…

Python练习宝典:Day 3 - 选择题 - 字符串与正则表达式、基础练习补充

目录 一、基础练习补充二、字符串与正则表达式 一、基础练习补充 1.下列能返回变量s的数据类型的是: A.print(type(s)) B.print(s) C.print(int(s)) D.print(str(s))2.如果想要换行,可以使用: A.\ B.\n C.\t D.\f3.合法的标识符是: A.M-N B.and C.Dior_Ysl D.6_friends4.在…

记一次:基于wmi软件的rpm包和deb包相互转换【附rpm和deb包】

1 背景 项目需要修改容器的基础镜像,从之前的CentOS 8 修改成 Ubuntu,项目中需要wmi包(一个windows系统上管理和查询系统各种信息的工具,windows上自带) 之前是使用rpm包进行安装的,现在使用的是deb的包管…

JBoss EJBInvokerServlet CVE-2013-4810 反序列化漏洞

开启环境 访问http://172.16.1.183:8080/invoker/EJBInvokerServlet下载下来了说明漏洞存在 利用生成的.ser文件,通过POST 二进制数据上去,反向连接shell curl http://192.168.10.154:8080/invoker/EJBInvokerServlet --data-binary ReverseShellCommon…

数据结构(Day19)

一、学习内容 单链表 头删 int front_dele(Plink L) {if(LNULL||L->len0){printf("头删失败\n");return -1;}Plink Q L->next;//保留要删除的1号节点L->next L->next->next;L->len--;free(Q);//释放空间QNULL;return 0; }尾删 int rear_dele(Pli…

每日一练:二叉树的最大深度

104. 二叉树的最大深度 - 力扣(LeetCode) 一、题目要求 给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 1: 输入:root [3,9,20,null,null,15,7…

框架漏洞(5-rce s2-057 CVE-2017-8046 CVE-2018-1273 Shiro-550)

5-rce 步骤一:环境部署 cd vulhub/thinkphp/5-rce docker-compose up -d 步骤二:输入系统命令: whoami /index.php?sindex/think\app/invokefunction&functioncall_user_func_array&vars[0]system&vars[1][]whoami 步骤三:写…

常见的并发集合(java.util.concurrent)

1.CopyOnWriteArrayList 1.1 并发修改时保证线程安全: 通过ReentrantLock实现多个线程并发修改时的线程安全同步(添加元素的同时,不允许删除)添加新元素:list.add("")按照指定下标替换元素:list.set(index…

【Python调用ddddocr打包成exe文件指定模型库及注意事项】

ddddocr 打包成 exe 后一直存在各种各样的问题,例如: ddddocr\common.onnx failed. File doesn’t exist 查阅资料后,问题得到解决。但相关资料不多,且不够详细,特写下本文,以便于后来者解决问题。 希望本文…

java -----泛型

泛型的理解和好处 泛型是在JDK5之后引入的一个新特性&#xff0c;可以在编译阶段约束操作的数据类型&#xff0c;并进行检查。 泛型的格式为 <数据类型> import java.util.ArrayList;SuppressWarnings({"all"}) public class Generic02 {public static void…

【iOS】MVC架构模式

文章目录 前言MVC架构模式基本概念通信方式简单应用 总结 前言 “MVC”&#xff0c;即Model&#xff08;模型&#xff09;&#xff0c;View&#xff08;视图&#xff09;&#xff0c;Controller&#xff08;控制器&#xff09;,MVC模式是架构模式的一种。 关于“架构模式”&a…

【有奖问答 / B】

题目 DP代码 #include <bits/stdc.h> using namespace std; int f[35][100]; int sum; int main() {f[0][0] 1;for (int i 1; i < 30; i){for (int j 0; j < 90; j){f[i][0] f[i - 1][j];if (j 10 < 90)f[i][j 10] f[i - 1][j];}sum f[i][70];}cout &l…

动手学深度学习9.1. 门控循环单元(GRU)-笔记练习(PyTorch)

本节课程地址&#xff1a;门控循环单元&#xff08;GRU&#xff09;_哔哩哔哩_bilibili 本节教材地址&#xff1a;9.1. 门控循环单元&#xff08;GRU&#xff09; — 动手学深度学习 2.0.0 documentation (d2l.ai) 本节开源代码&#xff1a;...>d2l-zh>pytorch>chap…

信息学奥赛复赛复习01-CSP-J2019-01-字符、字符数组、字符串、string、字符串读取

PDF文档回复:20240923 1 2019 CSP-J 题目1 数字游戏 [题目描述] 小 K 同学向小 P 同学发送了一个长度为 8 的 01 字符串来玩数字游戏&#xff0c;小 P 同学想要知道字符串中究竟有多少个 1。 注意&#xff1a;01 字符串为每一个字符是 0 或者 1 的字符串&#xff0c;如 101 …

文心智能体搭建步骤

通过使用文心智能体平台来创建智能体的过程。这种方法可以让没有编程经验的人也能快速构建智能体&#xff0c;降低了技 术门槛。以下是一些建议和心得: 1.选择合适的平台:文心智能体平台是一个优秀的选择&#xff0c;它提供了零代码和低代码的开发环境&#xff0c;极大地降低了…

vue中高德地图使用 Marker 标点 - 标点数据快到 1000 时页面卡顿问题解决(已解决 - 多方面原因)+ 海量点功能实现解决

目录 1.业务需求2.最初实现及出现的问题3.解决 - 1000 个标点时页面就出现 卡顿 问题4.使用海量点、聚合标点后还有卡顿&#xff0c;排查其他原因5.最终解决5.1页面中list数据渲染问题解决5.2地图相关实例不要放在 vue 的可响应数据中 页面展示 1.业务需求 需要在 高德地图 中标…

【linux驱动】什么是驱动

内核简介 在谈驱动之前&#xff0c;我们需要先谈内核。 内核&#xff0c;是一个操作系统的核心。是基于硬件的第一层软件扩充&#xff0c;提供操作系统的最基本的功能&#xff0c;是操作系统工作的基础&#xff0c;决定着整个操作系统的性能和稳定性。 下面是微内核和宏内核…

oracle avg、count、max、min、sum、having、any、all、nvl的用法

组函数 having的使用 any的使用 all的使用 nvl 从执行结果来看&#xff0c;nvl(列名&#xff0c;默认值)&#xff0c;nvl的作用就是如果列名所在的这一行出现空则用默认值替换