php 如何使用测量协议事件将广告收入发送到GA4?

nlejzf6q  于 2023-11-16  发布在  PHP
关注(0)|答案(1)|浏览(106)

我试图通过使用php的测量协议发送事件,将来自外部来源的广告收入纳入GA 4“Monetisation”->“Publisher Ads”报告。然而,我无法使其工作。我已经尝试了几个标记为或不标记为转换的事件。
到目前为止,我得到的最接近的方法是使用下面的函数发送“ad_impression”事件。此函数基于列表中的三个链接。事件显示在正确的报告中。但是,字段“Total ad revenue”显示0.00,其他ad_ parameters未设置。如果我将“Event Value”添加到指标或报告中,我会在该列中看到(revenue)值。
资料来源:

我希望有人能帮我创建一个正确的事件,以获得广告收入的出版商广告报告。

<?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;
}
?>

字符串

bxpogfeg

bxpogfeg1#

您的curl代码似乎缺少一个货币参数,这导致了一个问题。要解决这个问题,您可以添加一个参数并设置一个常量货币值,例如USD。但是,请确保您选择的货币是Google可接受的。在添加'currency'参数时,请记住以下一些重要事项:

  • 使用3个字母的ISO 4217格式为“currency”参数指定字符串而不是数字。
  • 在采购事件的事件层分配“货币”参数。
  • 正确拼写“currency”参数,并使用所有小写字母。
  • 在“currency”参数前后加上引号,后跟逗号。

相关问题