facebook marketing(市场营销) API(3)

如果你只想管理广告,而不想管理BM,那就需要市场营销API了。

相关文章

 

 通过BM api管理完相互授权后,就可以让自己的运营参与进行投放了(市场营销API也支持非BM操作,即广告主自己操作)。

市场营销按不同的用户分为三种情况:

1.BM下 员工没有FB账号,也不想关联FB账号(登录FB需要FQ)

  这种情况可以使用系统用户, <BUSINESS_ID>/system_users 系统用户是机器用户(假的,虚拟的),可以将自己系统内的账号和机器用户关联,然后以机器用户的token进行操作。

  授权过程:

    a.通过超管token创建 超管系统用户(也可去FB提供的BM后台手动创建)

    b.拿到超管系统用户的token(也可用超管的token),去创建系统用户

    c.调用API为该系统用户安装应用

    d.生成该系统用户的token(填写需要的授权)

  

  2.BM下 员工有FB账号,可以进行账号授权绑定

  3.广告主,想管理自己的广告

  这两种均可以让用户登陆FB账号,并授权(manage_pages、ads_management、ads_read)。

  

然后切入正题

前文说道,FB api是rest风格,下面介绍几个比较重要的节点:

  /me                #代表当前授权用户

  /act_<AD_ACCOUNT_ID>      #广告账户ID节点

  /<BUSINESS_SCOPED_USER_ID>  #注:每个用户在每个BM下均会分配一个新的用户ID,在该BM下的操作均需通过此用户ID节点

 

常用API列表:

//获取可管理的账户列表
me/adaccounts?fields=id,name,users //可根据users查看权限
<BUSINESS_SCOPED_USER_ID>/assigned_ad_accounts  //(和BM下用户同api做对比)

//获取可管理的主页(如果有授权,以当前用户名义在所有账户下均可用)
me/accounts
<BUSINESS_SCOPED_USER_ID>/assigned_pages

//应用无法直接获取,可获取某账户可投放的应用,系统会根据授权用户+账户关联的应用合并
act_<AD_ACCOUNT_ID>/advertisable_applications

 

上述基本把投放之前的所有结构均阐述清楚,接下来就是具体投放的硬菜了

 

当前获取到广告列表后,之后的投放相关基本全围绕广告账户ID节点展开(注:账户ID必须有 act_ 前缀)

 

URL代表的含义

act_<AD_ACCOUNT_ID>/campaigns

定义广告系列目标,包含一个或多个广告组

act_<AD_ACCOUNT_ID>/adsets

广告组:包含使用同一预算、排期、竞价和定位条件的所有广告

act_<AD_ACCOUNT_ID>/ads

广告:广告数据,如创意元素和成效衡量信息

act_<AD_ACCOUNT_ID>/adcreatives

创意:定义广告的展示效果和内容

act_<AD_ACCOUNT_ID>/adimages

图片:在广告创意中使用的图片库。可以单独上传和管理

act_<AD_ACCOUNT_ID>/advideos

视频:在广告创意中使用的视频库。可以单独上传和管理

act_<AD_ACCOUNT_ID>/users

与广告帐户关联的用户列表

act_<AD_ACCOUNT_ID>/insights

成效分析的界面。删除子对象的重复数据,提供整理好的异步报告。

 

成效报告在广告账户、系列、组、广告层级均有,可根据  /<***ID>/insights 获取 。

 FB的API有一个有趣的地方就是,某节点下的子节点通常都可用过该节点附加上 fields=参数获取,如上述的 act_<AD_ACCOUNT_ID>/users 节点,可通过 act_<AD_ACCOUNT_ID>?fields=users获取到,作为一个小技巧收藏一下。

  API结构:

     

 

营销目标以应用安装量为例,具体的业务结构为:

  绿色底框:固定选项值

  橘色底框:搜索/需通过额外API获取

  红色底框:通过之前的授权关系获取

  

 

  对于添加广告和其他内容时需用到的信息,FB的开发文档上有详细介绍:

  • 某字段的值是少量、固定的值,需开发者自己做好处理(如:广告系列的投放目标、广告组里需要用到的受众的性别,均是固定值)
  • 某字段的值是大量、会定时更新的,FB提供了其获取的API(如:受众里的国家,FB提供了获取所有国家的API
  • 某字段的值是无穷大,且完全不固定无法让开发者同步至本地,FB提供了搜索API(如获取语言的API,其实这个API和上述API类似,只是加上了搜索的参数)

 

暂时结束:关于FB 广告API的记录,到此为止。具体开发代码可能后续会传至github,本人也是初识FB,理解不到之处还望各位指正!

 

//附上部分代码片段
//创建时可通过batch(批量创建接口)
$batch['batch'][] = array(
   'method'=>'POST',
   'relative_url'=>'{{account_id}}/campaigns',
   'body'=>http_build_query(...)
);
//介绍几个常用的字段
batchCampaign
  $fields = array('name', 'account_id', 'status', 'objective','special_ad_category');
batchAdset
  $fields = array('name', 'campaign_id', 'status', 'lifetime_budget', 'daily_budget','start_time',
   'end_time', 'bid_strategy', 'bid_amount', 'billing_event', 'optimization_goal',   'pacing_type', 'attribution_spec', 'targeting', 'promoted_object'); batchAd   $fields = array('adset_id', 'name', 'status', 'creative');

  

posted @ 2019-04-26 22:38  寻觅~~  阅读(3135)  评论(6编辑  收藏  举报