You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何通过Facebook Marketing API获取Ads Action Stats数据及转化指标

解决Facebook Ads Insights获取转化数据(AdsActionStats)的问题

你已经搞定了基础的广告指标,但在转化数据上卡壳很正常——Facebook的转化数据不像点击、曝光是单一字段,得靠action_stats(对应AdsActionStats对象)才能拿到详细的转化动作信息。

问题核心

你当前请求的conversions只是一个汇总值,如果要获取具体的转化类型(比如表单提交、购买、注册)及对应数量,必须显式请求action_stats字段,它会返回包含所有转化动作的结构化数组。

修改后的请求代码

直接在fields参数里加上action_stats就行:

$campaign = $fb->get( 
    $campaign['id'].'/insights?fields=impressions,spend,clicks,ctr,conversions,action_stats', 
    $access_token 
);

解析转化数据示例

action_stats返回的是一个数组,每个元素包含转化类型、数量、归因窗口等信息,你可以这样解析:

// 将接口返回结果转为数组格式
$insightsData = $campaign->getGraphEdge()->asArray();

foreach ($insightsData as $entry) {
    // 输出基础指标
    echo "曝光量: {$entry['impressions']}\n";
    echo "总花费: {$entry['spend']}\n";
    echo "点击量: {$entry['clicks']}\n";
    
    // 处理转化详情
    if (isset($entry['action_stats'])) {
        echo "\n转化明细:\n";
        foreach ($entry['action_stats'] as $action) {
            echo "转化类型: {$action['action_type']} | 完成数量: {$action['value']}\n";
            // 若需要归因窗口信息,可额外输出 $action['attribution_window']
        }
    }
}

实用小技巧

  • 如果你只关心特定转化类型(比如购买),可以用filtering参数精准过滤:
    $campaign = $fb->get( 
        $campaign['id'].'/insights?fields=impressions,spend,clicks,ctr,conversions,action_stats&filtering=[{\'field\':\'action_type\',\'operator\':\'IN\',\'value\':[\'purchase\']}]', 
        $access_token 
    );
    
  • 若需要转化价值数据,可同时请求action_values字段,它会返回每个转化类型对应的价值总和。
  • 记得确认你的access token拥有ads_read权限,且目标广告系列确实产生了转化数据,否则action_stats会返回空数组。

内容的提问来源于stack exchange,提问作者Hasnain Ali

火山引擎 最新活动