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

问题描述 投票:0回答:1

我正在尝试通过使用 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;
}
?>
php google-analytics google-analytics-4 measurement-protocol
1个回答
0
投票

您的curl代码似乎缺少货币参数,这导致了问题。要解决此问题,您可以添加参数并设置恒定货币值,例如美元。不过,请确保 Google 可接受您选择的货币。添加“货币”参数时需要记住以下一些重要事项:

  • 使用 3 个字母的 ISO 4217 格式将字符串而不是数字分配给“currency”参数。
  • 在购买事件的事件级别分配“货币”参数。
  • 正确拼写“货币”参数并全部使用小写字母。
  • 用引号将“货币”参数引起来,后跟逗号。
© www.soinside.com 2019 - 2024. All rights reserved.