I am having an issue trying to get my affiliate tracking pixels to mark conversions using cURL requests. I am getting a response of 200 for each request. Because of this, I have no clue why it's not making the conversion. I did some research online, but not much is found on Google about this.
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;
}
}
Most likely because one of the following is the case:
Your cURL session ends up missing some cookies that your affiliate is expecting, and is ignored.
Your affiliate has detected an unusual number of requests from your server's IP, and has blocked it.
Your affiliate has detected some other irregularity in your requests, and has blocked them.
Affiliate tracking pixels are intended to be requested by the customer's browser, not by your server. Unless you have made arrangements with your affiliate to do otherwise, you should not attempt this.