I'm trying to add the code to this mode to treat certain keywords or URLs as direct referrals instead of keywords.
Here's the affected part of my code (just the part between ```
<script type=quot;text/javascript"> and </script>
)```
<script type="text/javascript">
<!--
if(!gaJsHost) {
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
}
//-->
</script>
<script type="text/javascript">
<!--
if(!pageTracker) {
var pageTracker = _gat._getTracker('<?php echo GOOGLE_ANALYTICS_UACCT; ?>');
pageTracker._addIgnoredOrganic("www.mydomainvariation.com");
pageTracker._addIgnoredOrganic("domainvariation");
pageTracker._addIgnoredOrganic("\"domain variation\"");
<?php if(GOOGLE_ANALYTICS_DOMAINNAME != '') { ?>
pageTracker._setDomainName('<?php echo GOOGLE_ANALYTICS_DOMAINNAME; ?>');
<?php } ?>
<?php if(GOOGLE_ANALYTICS_ALLOWLINKER == 'true') { ?>
pageTracker._setAllowLinker(true);
<?php } ?>
pageTracker._initData();
pageTracker._trackPageview(<?php echo $google_analytics_page; ?>);
}
<?php
// http://www.google.ru/support/googleanalytics/bin/answer.py?answer=55528
if($_GET['main_page'] == FILENAME_CHECKOUT_SUCCESS && (!isset($_SESSION['google_analytics']) || !in_array($zv_orders_id, $_SESSION['google_analytics']))) {
if(!isset($_SESSION['google_analytics'])) $_SESSION['google_analytics'] = array();
$_SESSION['google_analytics'][] = $zv_orders_id;
$_trackTrans = '';
require_once(DIR_WS_CLASSES . 'order.php');
$order = new order($zv_orders_id);
//echo '<pre>';var_export($order);echo '</pre>';
switch (GOOGLE_ANALYTICS_TARGET) {
case 'delivery':
$google_analytics = $order->delivery;
break;
case 'billing':
$google_analytics = $order->billing;
break;
case 'customers':
default:
$google_analytics = $order->customer;
break;
}
$google_analytics['ot_shipping'] = 0;
$totals = $db->Execute("SELECT value
FROM " . TABLE_ORDERS_TOTAL . "
WHERE orders_id = '" . (int)$zv_orders_id . "'
AND class = 'ot_shipping'");
if (!$totals->EOF) {
$google_analytics['ot_shipping'] = $totals->fields['value'];
}
/*
foreach ($order->totals as $k => $v) {
var_dump($v['class'], $v['text']);echo '<br />';
if($v['class'] == '') {
$google_analytics['ot_shipping'] = float($v['text']);
break;
}
}
*/
// pageTracker._addTrans(Order_ID, Affiliation, Total, Tax, Shipping, City, State, Country);
$_trackTrans .= ' pageTracker._addTrans(' .
'"' . $zv_orders_id . '",' .
'"' . GOOGLE_ANALYTICS_AFFILIATION . '",' .
'"' . number_format($order->info['total'], 3, '.', '') . '",' .
'"' . number_format($order->info['tax'], 3, '.', '') . '",' .
'"' . number_format($google_analytics['ot_shipping'], 3, '.', '') . '",' .
'"' . zen_output_string_protected($google_analytics['city']) . '",' .
'"' . zen_output_string_protected($google_analytics['state']) . '",' .
'"' . zen_output_string_protected($google_analytics['country']) . '");' . "\n";
for ($i=0; $i<sizeof($order->products); $i++) {
/*
$category_query = "SELECT cd.categories_name
FROM " . TABLE_PRODUCTS . " p
LEFT JOIN " . TABLE_CATEGORIES_DESCRIPTION . " cd ON (cd.categories_id = p.master_categories_id)
WHERE p.products_id = :productsID
AND cd.language_id = :languagesID
LIMIT 1";
$category_query = $db->bindVars($category_query, ':languagesID', $_SESSION['languages_id'], 'integer');
$category_query = $db->bindVars($category_query, ':productsID', zen_get_prid($order->products[$i]['id']), 'integer');
$category = $db->Execute($category_query);
$categories_name = $category->fields['categories_name'];
*/
$categories_name = zen_get_categories_name_from_product(zen_get_prid($order->products[$i]['id']));
if(GOOGLE_ANALYTICS_SKUCODE == 'products_model') {
$products_skucode = $order->products[$i]['model'];
} else {
$products_skucode = $order->products[$i]['id'];
}
$products_attributes_name = '';
if (isset($order->products[$i]['attributes'])) {
for ($j=0; $j<sizeof($order->products[$i]['attributes']); $j++) {
$products_attributes_name .= $order->products[$i]['attributes'][$j]['option'] . ': ' . $order->products[$i]['attributes'][$j]['value'] . GOOGLE_ANALYTICS_PRODUCTS_ATTRIBUTES_DELIMITER;
}
$products_attributes_name = substr(GOOGLE_ANALYTICS_PRODUCTS_ATTRIBUTES_BRACKETS, 0, 1) . rtrim($products_attributes_name, GOOGLE_ANALYTICS_PRODUCTS_ATTRIBUTES_DELIMITER) . substr(GOOGLE_ANALYTICS_PRODUCTS_ATTRIBUTES_BRACKETS, 1, 1);
}
// pageTracker._addItem(Order_ID, SKU, Product_Name, Category, Price, Quantity);
$_trackTrans .= ' pageTracker._addItem(' .
'"' . $zv_orders_id . '",' .
'"' . zen_output_string_protected($products_skucode) . '",' .
'"' . zen_output_string_protected($order->products[$i]['name'] . $products_attributes_name) . '",' .
'"' . zen_output_string_protected($categories_name) . '",' .
'"' . number_format($order->products[$i]['final_price'], 2, '.', '') . '",' .
'"' . $order->products[$i]['qty'] . '");' . "\n";
}
$_trackTrans .= 'pageTracker._trackTrans();' . "\n";
echo $_trackTrans;
}
?>
//-->
</script>
However, the keywords related to my domain that I'm trying to supress are still showing add adding traffic to the Keywords part of Analytics, rather than moving that traffic into Direct.
Any ideas what is wrong with the code?
I notice on the support site on Google for achieving this, http://www.google.com/support/googleanalytics/bin/answer.py?answer=55479, there is one discrepancy between their code and this code:
Google says:
pageTracker._trackPageview();
This code says:
pageTracker._trackPageview(<?php echo $google_analytics_page; ?>);
Any help is greatly appreciated.
Thanks for the great mod.