アフィリエイト トラッキング ピクセルで cURL リクエストを使用してコンバージョンをマークしようとすると問題が発生します。リクエストごとに 200 のレスポンスを取得しています。このため、変換が行われない理由がわかりません。私はオンラインでいくつかの調査を行いましたが、これについてGoogleであまり発見されていません.
function pixel($row) {
$i = 0;
$pixelArray = array("https://path.tosite.com/pixel/","https://path.tosite.com/pixel/2");
$count = sizeof($pixelArray);
while ($i < $count) {
$line = $pixelArray[$i];
//echo "<br/> line = ".$line;
// replace [afid], [sid], [c1], [c2], [c3], or [t] with the corresponding value in $_SESSION
$line = preg_replace_callback(
'/\[(afid|sid|c1|c2|c3|t)\]/',
function($matches) { return $_SESSION[$matches[1]]; },
$line
);
//echo "<br/>".$i.": ".$line;
firePixels($line, $row);
$i++;
}
//echo "Done";
}
function firePixels($url, $row)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch, CURLOPT_FRESH_CONNECT, TRUE);
curl_setopt($ch, CURLOPT_FORBID_REUSE, TRUE);
curl_setopt($ch, CURLOPT_VERBOSE, TRUE);
//curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 GTB5');
$head = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$error = curl_error($ch);
curl_close($ch);
if(!$head)
{
logPixel($url, $row, $httpCode);
//die('Pixel Execution Failed: '.$error." | ".$url);
return FALSE;
}
logPixel($url, $row, $httpCode);
if($httpCode === 200)
{
return TRUE;
}
else
{
return FALSE;
}
}