I have added new column in Magento's log_visitor table to track visitor's utm parameters. But after I have added the column multiple records get inserted for new visitor. Below is my code written in a file \app\code\core\Mage\Log\Model\Resource\Visitor.php
protected function _saveVisitorInfo($visitor)
{
$stringHelper = Mage::helper('core/string');
$referer = $stringHelper->cleanString($visitor->getHttpReferer());
$referer = $stringHelper->substr($referer, 0, 255);
$userAgent = $stringHelper->cleanString($visitor->getHttpUserAgent());
$userAgent = $stringHelper->substr($userAgent, 0, 255);
$charset = $stringHelper->cleanString($visitor->getHttpAcceptCharset());
$charset = $stringHelper->substr($charset, 0, 255);
$language = $stringHelper->cleanString($visitor->getHttpAcceptLanguage());
$language = $stringHelper->substr($language, 0, 255);
$adapter = $this->_getWriteAdapter();
$data = new Varien_Object(array(
'visitor_id' => $visitor->getId(),
'http_referer' => $referer,
'http_user_agent' => $userAgent,
'http_accept_charset' => $charset,
'http_accept_language' => $language,
'server_addr' => $visitor->getServerAddr(),
'remote_addr' => $visitor->getRemoteAddr(),
'utm_name' => "utm_name",
));
$bind = $this->_prepareDataForTable($data, $this->getTable('log/visitor_info'));
$adapter->insert($this->getTable('log/visitor_info'), $bind);
return $this;
}
I have just added 'utm_name' and because of this multiple records are getting inserted.