array( "method" => "GET", "user_agent" => $_SERVER["HTTP_USER_AGENT"], "header" => ("Accepts-Language: " . $_SERVER["HTTP_ACCEPT_LANGUAGE"])) ); if (!empty($_GET["utmdebug"])) { $data = file_get_contents( $utmUrl, false, stream_context_create($options)); } else { $data = @file_get_contents( $utmUrl, false, stream_context_create($options)); } } // Track a page view, updates all the cookies and campaign tracker, // makes a server side request to Google Analytics and writes the transparent // gif byte data to the response. function trackPageView() { $timeStamp = time(); $domainName = $_SERVER["SERVER_NAME"]; if (empty($domainName)) { $domainName = ""; } // Get the referrer from the utmr parameter, this is the referrer to the // page that contains the tracking pixel, not the referrer for tracking // pixel. $documentReferer = $_GET["utmr"]; if (empty($documentReferer) && $documentReferer !== "0") { $documentReferer = "-"; } else { $documentReferer = urldecode($documentReferer); } $documentPath = $_GET["utmp"]; if (empty($documentPath)) { $documentPath = ""; } else { $documentPath = urldecode($documentPath); } $account = $_GET["utmac"]; $userAgent = $_SERVER["HTTP_USER_AGENT"]; if (empty($userAgent)) { $userAgent = ""; } // Try and get visitor cookie from the request. $cookie = $_COOKIE[COOKIE_NAME]; $guidHeader = $_SERVER["HTTP_X_DCMGUID"]; if (empty($guidHeader)) { $guidHeader = $_SERVER["HTTP_X_UP_SUBNO"]; } if (empty($guidHeader)) { $guidHeader = $_SERVER["HTTP_X_JPHONE_UID"]; } if (empty($guidHeader)) { $guidHeader = $_SERVER["HTTP_X_EM_UID"]; } $visitorId = getVisitorId($guidHeader, $account, $userAgent, $cookie); // Always try and add the cookie to the response. setrawcookie( COOKIE_NAME, $visitorId, $timeStamp + COOKIE_USER_PERSISTENCE, COOKIE_PATH); $utmGifLocation = "http://www.google-analytics.com/__utm.gif"; // Construct the gif hit url. $utmUrl = $utmGifLocation . "?" . "utmwv=" . VERSION . "&utmn=" . getRandomNumber() . "&utmhn=" . urlencode($domainName) . "&utmr=" . urlencode($documentReferer) . "&utmp=" . urlencode($documentPath) . "&utmac=" . $account . "&utmcc=__utma%3D999.999.999.999.999.1%3B" . "&utmvid=" . $visitorId . "&utmip=" . getIP($_SERVER["REMOTE_ADDR"]); sendRequestToGoogleAnalytics($utmUrl); // If the debug parameter is on, add a header to the response that contains // the url that was used to contact Google Analytics. if (!empty($_GET["utmdebug"])) { header("X-GA-MOBILE-URL:" . $utmUrl); } // Finally write the gif data to the response. writeGifData(); } ?>