我正在尝试通过使用 php 的测量协议发送事件,将外部来源的广告收入纳入 GA4“货币化”->“发布商广告”报告。但是,我无法让它发挥作用。我尝试过多个标记为转化或未标记为转化的事件。
到目前为止,我得到的最接近的是使用下面的函数发送“ad_impression”事件。该功能基于列表中的三个链接。该事件显示在正确的报告中。但“广告总收入”字段显示0.00,其他ad_参数未设置。如果我将“事件价值”添加到指标或报告中,我会在该列中看到(收入)值。
来源:
我希望有人可以帮助我创建一个正确的事件,以获取发布商广告报告中的广告收入。
<?php
function send_ad_revenue($measurement_id, $api_secret, $client_id, $revenue) {
$params = array (
'ad_platform' => 'my-platform',
'ad_format' => 'banner',
'ad_source' => 'my-source',
'ad_unit_name' => 'sidebar',
'currency' => 'EUR',
'value' => round(floatval($revenue), 2)
);
$data = array(
'client_id' => $client_id,
'events' => array(
array(
'name' => 'ad_impression',
'params' => $params
)
)
);
$payload = json_encode($data);
$ch = curl_init();
// curl_setopt($ch, CURLOPT_URL, "https://www.google-analytics.com/debug/mp/collect?measurement_id={$measurement_id}&api_secret={$api_secret}");
curl_setopt($ch, CURLOPT_URL, "https://www.google-analytics.com/mp/collect?measurement_id={$measurement_id}&api_secret={$api_secret}");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt( $ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json'));
$response = curl_exec($ch);
return $response;
}
?>
您的curl代码似乎缺少货币参数,这导致了问题。要解决此问题,您可以添加参数并设置恒定货币值,例如美元。不过,请确保 Google 可接受您选择的货币。添加“货币”参数时需要记住以下一些重要事项: