Page 1 of 2 12 LastLast
Results 1 to 10 of 18

Hybrid View

  1. #1
    Join Date
    Nov 2004
    Posts
    80
    Plugin Contributions
    0

    Default Google Analytics update

    Just wondering if the instructions posted here: http://www.zen-cart.com/forum/showth...ight=analytics on how to integrate GA into ZC are still valid with the newest version (1.3.0.1). Sorry to start a new thread, but the other one is locked and I would really like to use GA without breaking the cart.

    This is what they had concluded I think:

    #1 Go to your Google Analytics Settings -> Edit Settings -> Edit Main Website Profile -> E-Commerce Website : Yes

    #2 Edit
    includes/templates/your-template/common/html_header.php
    At the very bottom just before </head>


    Code:
    <?php if ($request_type == 'NONSSL') { echo
    '<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
    </script>
    <script type="text/javascript">
    _uacct = "UA-XXXXXX-1";
    urchinTracker();
    </script>'; } 
    else { echo
    '<script src="https://ssl.google-analytics.com/urchin.js" type="text/javascript">
    </script>
    <script type="text/javascript">
    _uacct = "UA-XXXXXX-1";
    urchinTracker();
    </script>'; } 
    ?>
    </head>

    #3 Create a new file:
    includes/modules/pages/checkout_success/on_load_ga.js
    Insert into the new file:


    Code:
    javascript:__utmSetTrans()

    #4 Edit
    includes/templates/template_default/tpl_checkout_success_default.php
    At the very bottom add:


    Code:
    <?php
    $ga_orders_id = $db->Execute("select orders_id from " . TABLE_ORDERS . " where customers_id = '" . (int)$_SESSION['customer_id'] . "' order by date_purchased desc limit 1");
    $ga_utm_t = $db->Execute("select order_total , order_tax, delivery_city, delivery_state, delivery_country from " . TABLE_ORDERS . " where orders_id = '" . $ga_orders_id->fields['orders_id'] . "'");
    $ga_utm_t_delivery_country = $db->Execute("select countries_iso_code_2 from " . TABLE_COUNTRIES . " where countries_name = '" . $ga_utm_t->fields['delivery_country'] . "'");
    $ga_utm_t_delivery_state = $db->Execute("select zone_code from " . TABLE_ZONES . " where zone_name = '" . $ga_utm_t->fields['delivery_state'] . "'");
    $ga_utm_t_ship = $db->Execute("select value from " . TABLE_ORDERS_TOTAL . " where orders_id = '" . $ga_orders_id->fields['orders_id'] . "' && class = 'ot_shipping'");
    $ga_utm_i = $db->Execute("select * from " . TABLE_ORDERS_PRODUCTS . " where orders_id = '" . $ga_orders_id->fields['orders_id'] . "' order by products_name");
    //$ga_utm_i_category = $db->Execute("select categories_id from " . TABLE_PRODUCTS_TO_CATEGORIES . " where products_id = '" . $ga_utm_i->fields['products_id'] . "'");
    //$ga_utm_i_category_name = $db->Execute("select categories_name from " . TABLE_CATEGORIES_DESCRIPTION . " where categories_id = '" . $ga_utm_i_category->fields['categories_id'] . "'");
    
    $ga_utm_i_array = array();
    while (!$ga_utm_i->EOF) {
      $ga_utm_i_array[] = array('product_id' => $ga_utm_i->fields['products_id'],
                   'name' => $ga_utm_i->fields['products_name'],
                   'price' => $ga_utm_i->fields['final_price'],
                   'quantity' => $ga_utm_i->fields['products_quantity'],
       //'category' => $ga_utm_i_category_name->fields['categories_name']
       );
      $ga_utm_i->MoveNext();
     }
    ?>
    <form style="display:none;" name="utmform">
    <textarea id="utmtrans">
    UTM:T|<?php echo $ga_orders_id->fields['orders_id'] . '|' . "zencart" . '|' . $ga_utm_t->fields['order_total'] . '|' . $ga_utm_t->fields['order_tax'] . '|' . substr($ga_utm_t_ship->fields['value'], 0, 4) . '|' . $ga_utm_t->fields['delivery_city'] . '|' . $ga_utm_t_delivery_country->fields['countries_iso_code_2'] . '|' . $ga_utm_t_delivery_state->fields['zone_code']; ?>
    
    <?php $ga_utm_i_array_displayed = array();
    for ($i=0, $n=sizeof($ga_utm_i_array); $i<$n; $i++) {
    if (!in_array($ga_utm_i_array[$i]['products_id'], $ga_utm_i_array_displayed)) {
    echo ' UTM:I|' . $ga_orders_id->fields['orders_id'] . '|' . $ga_utm_i_array[$i]['product_id'] . '|' . $ga_utm_i_array[$i]['name'] . '||' . sprintf("%01.2f", $ga_utm_i_array[$i]['price']) . '|' . $ga_utm_i_array[$i]['quantity'];
       }
     }
    ?>
    Last edited by besheer; 17 May 2006 at 07:09 PM.

  2. #2
    Join Date
    Nov 2004
    Posts
    80
    Plugin Contributions
    0

    Default Re: Google Analytics update

    In case anyone is wondering, I've been using it for a few days and everything seems to be working alright.

  3. #3
    Join Date
    Jan 2004
    Posts
    66,445
    Plugin Contributions
    81

    Default Re: Google Analytics update

    The more effective way to do the step you mentioned above for "includes/templates/your-template/common/html_header.php" is to create a new file called:
    includes/templates/YOURTEMPLATE/jscript/jscript_google_analytics.php

    ... and put the code you suggested above into that file instead.

    This will make upgrading Zen Cart easier because it won't have touched the html_header.php core file.
    .

    Zen Cart - putting the dream of business ownership within reach of anyone!
    Donate to: DrByte directly or to the Zen Cart team as a whole

    Remember: Any code suggestions you see here are merely suggestions. You assume full responsibility for your use of any such suggestions, including any impact ANY alterations you make to your site may have on your PCI compliance.
    Furthermore, any advice you see here about PCI matters is merely an opinion, and should not be relied upon as "official". Official PCI information should be obtained from the PCI Security Council directly or from one of their authorized Assessors.

  4. #4
    Join Date
    Nov 2004
    Posts
    80
    Plugin Contributions
    0

    Default Re: Google Analytics update

    But being in the includes/templates/your-template/common/ directory, isn't the file untouched anyway?

  5. #5
    Join Date
    Jan 2004
    Posts
    66,445
    Plugin Contributions
    81

    Default Re: Google Analytics update

    yes, it's untouched, but if the next version of zen cart includes an update to the template_default/common/html_header.php file, then YOU NEED TO MERGE THOSE CHANGES into YOUR includes/templates/XXXXXCUSTOM/common/html_header.php file

    I was just suggesting to use the jscript overrides system to save yourself the step.
    .

    Zen Cart - putting the dream of business ownership within reach of anyone!
    Donate to: DrByte directly or to the Zen Cart team as a whole

    Remember: Any code suggestions you see here are merely suggestions. You assume full responsibility for your use of any such suggestions, including any impact ANY alterations you make to your site may have on your PCI compliance.
    Furthermore, any advice you see here about PCI matters is merely an opinion, and should not be relied upon as "official". Official PCI information should be obtained from the PCI Security Council directly or from one of their authorized Assessors.

  6. #6

    Default Re: Google Analytics update

    drbyte,

    You said to create another file in the jscript directory. Exactly what code should be entered into that file? all of it, or just the stuff thats suppose to be in html_header.php?
    and the rest of it is as stated? or does all the code go into that one file?

    Any help would be great

  7. #7
    Join Date
    Sep 2005
    Location
    New Zealand
    Posts
    92
    Plugin Contributions
    0

    Default Re: Google Analytics update

    DrByte you said:

    Quote Originally Posted by DrByte
    The more effective way to do the step you mentioned above for "includes/templates/your-template/common/html_header.php" is to create a new file called:
    includes/templates/YOURTEMPLATE/jscript/jscript_google_analytics.php

    ... and put the code you suggested above into that file instead.

    This will make upgrading Zen Cart easier because it won't have touched the html_header.php core file.

    Makes perfect sence but how does Zen Cart call the file
    includes/templates/YOURTEMPLATE/jscript/jscript_google_analytics.php
    that I have just created?

    Do I need a line of code some where to call the file?
    Paul
    ######################################################################
    http://kiwisouvenirs.com/

  8. #8
    Join Date
    Mar 2006
    Posts
    117
    Plugin Contributions
    0

    Default Re: Google Analytics update

    I loose my footer when I paste the code for step #4 (Edit
    includes/templates/template_default/tpl_checkout_success_default.php
    At the very bottom add..."

    Should it should be placed directly after the following line?

    Code:
    <h3 id="checkoutSuccessThanks" class="centeredContent"><?php echo TEXT_THANKS_FOR_SHOPPING; ?></h3>
    
    </div>

  9. #9
    Join Date
    May 2005
    Location
    Toronto, Ontario, Canada
    Posts
    42
    Plugin Contributions
    0

    Default Re: Google Analytics update

    Code:
    <?php
    $ga_orders_id = $db->Execute("select orders_id from " . TABLE_ORDERS . " where customers_id = '" . (int)$_SESSION['customer_id'] . "' order by date_purchased desc limit 1");
    $ga_utm_t = $db->Execute("select order_total , order_tax, delivery_city, delivery_state, delivery_country from " . TABLE_ORDERS . " where orders_id = '" . $ga_orders_id->fields['orders_id'] . "'");
    $ga_utm_t_delivery_country = $db->Execute("select countries_iso_code_2 from " . TABLE_COUNTRIES . " where countries_name = '" . $ga_utm_t->fields['delivery_country'] . "'");
    $ga_utm_t_delivery_state = $db->Execute("select zone_code from " . TABLE_ZONES . " where zone_name = '" . $ga_utm_t->fields['delivery_state'] . "'");
    $ga_utm_t_ship = $db->Execute("select value from " . TABLE_ORDERS_TOTAL . " where orders_id = '" . $ga_orders_id->fields['orders_id'] . "' && class = 'ot_shipping'");
    $ga_utm_i = $db->Execute("select * from " . TABLE_ORDERS_PRODUCTS . " where orders_id = '" . $ga_orders_id->fields['orders_id'] . "' order by products_name");
    //$ga_utm_i_category = $db->Execute("select categories_id from " . TABLE_PRODUCTS_TO_CATEGORIES . " where products_id = '" . $ga_utm_i->fields['products_id'] . "'");
    //$ga_utm_i_category_name = $db->Execute("select categories_name from " . TABLE_CATEGORIES_DESCRIPTION . " where categories_id = '" . $ga_utm_i_category->fields['categories_id'] . "'");
    
    $ga_utm_i_array = array();
    while (!$ga_utm_i->EOF) {
      $ga_utm_i_array[] = array('product_id' => $ga_utm_i->fields['products_id'],
                   'name' => $ga_utm_i->fields['products_name'],
                   'price' => $ga_utm_i->fields['final_price'],
                   'quantity' => $ga_utm_i->fields['products_quantity'],
       //'category' => $ga_utm_i_category_name->fields['categories_name']
       );
      $ga_utm_i->MoveNext();
     }
    ?>
    <form style="display:none;" name="utmform">
    <textarea id="utmtrans">
    UTM:T|<?php echo $ga_orders_id->fields['orders_id'] . '|' . "zencart" . '|' . $ga_utm_t->fields['order_total'] . '|' . $ga_utm_t->fields['order_tax'] . '|' . substr($ga_utm_t_ship->fields['value'], 0, 4) . '|' . $ga_utm_t->fields['delivery_city'] . '|' . $ga_utm_t_delivery_country->fields['countries_iso_code_2'] . '|' . $ga_utm_t_delivery_state->fields['zone_code']; ?>
    
    <?php $ga_utm_i_array_displayed = array();
    for ($i=0, $n=sizeof($ga_utm_i_array); $i<$n; $i++) {
    if (!in_array($ga_utm_i_array[$i]['products_id'], $ga_utm_i_array_displayed)) {
    echo ' UTM:I|' . $ga_orders_id->fields['orders_id'] . '|' . $ga_utm_i_array[$i]['product_id'] . '|' . $ga_utm_i_array[$i]['name'] . '||' . sprintf("%01.2f", $ga_utm_i_array[$i]['price']) . '|' . $ga_utm_i_array[$i]['quantity'];
       }
     }
    ?>
    For some reason, the code above is not working properly, for me anyway.

    It fails to pass the following data to Google Analytics (E-commerce section): City, State, Country & Category.

    This is what the output looks like:

    UTM:T|4081|Main Store|5.00|2.00|1.00|||
    UTM:I|4081|185|Widget||5.00|1

    While according to Google, it could look like this:

    UTM:T|4081|Main Store|5.00|2.00|1.00|Toronto|Ontario|Canada
    UTM:I|4081|185|Widget|Widgets & Things|5.00|1

    Am I missing something? It seems some of the code is commented out, but un-commenting it has no effect...

    Also, Google seems to ignore the submitted data most of the time, it only registered a few transactions, others are not there...

    Please help!

    Dan G.

    www.NotebookSolutions.ca
    Last edited by DanTheMan; 2 Aug 2006 at 08:08 AM.

  10. #10

    Default Re: Google Analytics update

    well it seems to be working, however i dont see any of my sales being shown on the google page.....

    anyone else having this issue?

 

 
Page 1 of 2 12 LastLast

Similar Threads

  1. how update database properly? -Google Analytics
    By lieven23 in forum Addon Payment Modules
    Replies: 1
    Last Post: 18 Sep 2008, 09:32 PM
  2. Google analytics
    By SDC in forum All Other Contributions/Addons
    Replies: 0
    Last Post: 14 Nov 2007, 04:36 PM
  3. Google Analytics...
    By jimdidriksen in forum Basic Configuration
    Replies: 3
    Last Post: 5 Oct 2007, 11:22 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
disjunctive-egg