我试图通过使用php的测量协议发送事件,将来自外部来源的广告收入纳入GA 4“Monetisation”->“Publisher Ads”报告。然而,我无法使其工作。我已经尝试了几个标记为或不标记为转换的事件。
到目前为止,我得到的最接近的方法是使用下面的函数发送“ad_impression”事件。此函数基于列表中的三个链接。事件显示在正确的报告中。但是,字段“Total ad revenue”显示0.00,其他ad_ parameters未设置。如果我将“Event Value”添加到指标或报告中,我会在该列中看到(revenue)值。
资料来源:
- https://support.google.com/analytics/answer/12925552?hl=en&co=GENIE.Platform%3DAndroid#:~:text= Total%20ad%20revenue,event%20to%20populate%20the%20dimension.
- https://firebase.google.com/docs/analytics/measure-ad-revenue#kotlin+ktx
- https://firebase.google.com/docs/reference/kotlin/com/google/firebase/analytics/FirebaseAnalytics.Param
我希望有人能帮我创建一个正确的事件,以获得广告收入的出版商广告报告。
<?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;
}
?>
字符串
1条答案
按热度按时间bxpogfeg1#
您的curl代码似乎缺少一个货币参数,这导致了一个问题。要解决这个问题,您可以添加一个参数并设置一个常量货币值,例如USD。但是,请确保您选择的货币是Google可接受的。在添加'currency'参数时,请记住以下一些重要事项: