Magento - Yahoo Analytics Conversion Code

Unlike other tracking codes, we need to put Yahoo Analytics Conversion code between <HEAD> and </HEAD> tags.

Yahoo’s Instructions for the following code are:

Copy the HTML code below and insert it between the <HEAD> and </HEAD> tags on your site’s conversion page(s). To pass a dynamic revenue value in the tag, you must modify your web pages accordingly.

To add the Yahoo conversion tracking code in the Head tags, we need to look at the checkout layout configuration file:
/app/design/frontend/your_interface/your_theme/layout/checkout.xml

Find out which page layout it uses when an order is completed.

i.e.) For one page checkout, look for this code:

<checkout_onepage_success>
<reference name="root">
<action method="setTemplate"><template>page/2columns-right.phtml</template></action>
</reference>

You can edit the Head section of ‘2columns-right.phtml’ to add the Yahoo tracking code. But if this template, 2columns-right.phtml is being used for other pages, I would make a copy of it and name it ‘2columns-right-success.phtml’ and add the tracking code there. This way, it will track it only when there is a successful conversion.

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>">
<head>
<?php echo $this->getChildHtml('head') ?>
<SCRIPT language=”JavaScript” type=”text/javascript”>
<!– Yahoo! Inc.
window.ysm_customData = new Object();
window.ysm_customData.conversion = “transId=,currency=,amount=”;
var ysm_accountid = “—–YAHOO_ACCOUNT_ID—–”;
document.write(”<SCR” + “IPT language=’JavaScript’ type=’text/javascript’ ”
+ “SRC=//” + “srv2.wa.marketingsolutions.yahoo.com” + “/script/ScriptServlet” + “?aid=” + ysm_accountid
+ “></SCR” + “IPT>”);
// –>
</SCRIPT>

2 Comments

  • By Charlie Cheng, March 12, 2010 @ 7:13 am

    Thx for pointing right direction. But I would recommend the following code as referenced by yahoo help.

    getLastRealOrderId();
    $y_order_details = Mage::getModel(’sales/order’)->loadByIncrementId($y_orderid);
    $y_saleamt = $y_order_details->subtotal;
    ?>

    <!– Yahoo! Search Marketing Australia & NZ
    window.ysm_customData = new Object();
    window.ysm_customData.conversion = “transId=,currency=AUD,amount=”;
    var ysm_accountid = “//////YOUR TRACKING ACOUNT ID////////”;
    document.write(”");
    // –>

  • By Charlie Cheng, March 12, 2010 @ 7:14 am

    Missing partial of code before, the first line should be:

    $y_orderid = Mage::getSingleton(’checkout/session’)->getLastRealOrderId();

Leave a comment