Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Google Adwords通过测量协议保存服务器端转换跟踪_Php_Google Analytics Api_Google Ads Api - Fatal编程技术网

Php Google Adwords通过测量协议保存服务器端转换跟踪

Php Google Adwords通过测量协议保存服务器端转换跟踪,php,google-analytics-api,google-ads-api,Php,Google Analytics Api,Google Ads Api,我正在使用: 用于服务器端跟踪 这是设置: 谷歌分析账户 谷歌adwords账户 Adwords帐户链接到分析帐户 我在adwords中创建了一个广告,用户点击广告,用户访问第三方网站,第三方网站通过adwords的访问者gclid发出https POST请求。这存储在mysql数据库中 在GoogleAdWords帐户中,我创建了一个转换事件。(使用离线跟踪转换是可行的,但我更喜欢使用测量协议的唯一原因是,离线跟踪仅在90分钟后接受转换。) 我通过以下方式发送页面视图和转换: /**

我正在使用:

用于服务器端跟踪

这是设置:

  • 谷歌分析账户
  • 谷歌adwords账户
  • Adwords帐户链接到分析帐户
我在adwords中创建了一个广告,用户点击广告,用户访问第三方网站,第三方网站通过adwords的访问者gclid发出https POST请求。这存储在mysql数据库中

在GoogleAdWords帐户中,我创建了一个转换事件。(使用离线跟踪转换是可行的,但我更喜欢使用测量协议的唯一原因是,离线跟踪仅在90分钟后接受转换。)

我通过以下方式发送页面视图和转换:

/**
 * @param $gclid
 * @param $clientId
 * @return \TheIconic\Tracking\GoogleAnalytics\AnalyticsResponse
 */
private function sendPageView($gclid, $clientId){
    $this->analytics
        ->setProtocolVersion(1)
        ->setTrackingId(self::GLOBAL_TRACKING_ID)
        ->setGoogleAdwordsId($gclid)
        ->setAnonymizeIp(true)
        ->setClientId($clientId);

    return $this->analytics->sendPageview();
}

/**
 * @param $gclid
 * @param $clientId
 * @return \TheIconic\Tracking\GoogleAnalytics\AnalyticsResponse
 */
private function sendConversion($gclid, $clientId, $url){
    $this->analytics
        ->setProtocolVersion(1)
        ->setTrackingId(self::GLOBAL_TRACKING_ID)
        ->setGoogleAdwordsId($gclid)
        ->setAnonymizeIp(true)
        ->setClientId($clientId)
        ->setEventAction('s2s')
        ->setEventCategory('Lead')
        ;

    return $this->analytics->sendEvent();
}
答复:

object(TheIconic\Tracking\GoogleAnalytics\AnalyticsResponse)#1008 (3) {
  ["httpStatusCode":protected]=>
  int(200)
  ["requestUrl":protected]=>
  string(164) "https://ssl.google-analytics.com/collect?v=1&tid=UA-1XXXXX-1&gclid=EAIaIQobChMInvrxopLZ5gIVXXXXXXXXXXXXXXXXXXXX_BwE&aip=1&cid=1&ea=s2s&ec=Lead&t=event"
  ["responseBody":protected]=>
  string(35) "GIF89a�����,D;"
}

因此,响应是200,但是转换没有记录在任何地方,我不确定是否应该发送任何其他参数,或者如何调试该问题。

要了解谷歌方面的查询结果,可以选择调试测量协议。要做到这一点,只需在URL的
/collect
部分之前添加
/debug
前缀。它应该是这样的:
https://ssl.google-analytics.com/debug/collect?v=1&tid=UA-1XXXXX-1

之后,如果您的请求有效,您将看到详细信息

要了解谷歌方面的查询结果,可以选择调试测量协议。要做到这一点,只需在URL的
/collect
部分之前添加
/debug
前缀。它应该是这样的:
https://ssl.google-analytics.com/debug/collect?v=1&tid=UA-1XXXXX-1
之后,如果您的请求有效,您将看到详细信息