Jump to content


  • Content count

  • Joined

  • Last visited

  • Days Won


Everything posted by rudolfl

  1. rudolfl

    Google Tag Manager

    I am planning to develop Google Analytics Enchanced eCommerce code that uses GTM Data Layer. Few month ago, I did the GA module that uses "ga" to push the information to Google Analytics, but i find that GTM is a better way to manage all of it. Rudolf
  2. rudolfl

    Google Tag Manager

    Google recommends putting GTM code right after opening <body> tag. This is why I did not use header tags module -- I wanted to make sure it gets into exactly right place. Yes, I know, it will work in other places as well, but this may break some tags in the future. Better stick with recomendation. Also, there may be other modules/code that use GTM datalayer. One has to make sure, datalayer is initialised first. Rudolf
  3. Sorry, I neglected the thread for a while! I did not do the Bootstrap versin of the site, but it should be easy to port. I am sure that most of the code changes in installation instructions will still be relevant. Rudolf
  4. Thank you for the contribution. I found few annoying issues with PWA. I put some "band aid" fixes, but would be good to get problem fixed in main stream code. 1. Order confirmation/status e-mails include the link to the order info page. In case of a guest checkout, customer can not login and customer gets frustrated. Link should not be included in case customer checked out as a guest. Perhaps add a message about not being able to see the details, but say they can do so if they create an account next time. 2. Consider situation -- customer tries to checkout as a guest, then abandons shopping cart for a while. Then customer comes back. This creates a problem, as customer e-mail is in database already, so they can no longer check out as a guest or create an account. Or customer went through to the shipping (guest account created), then hits BACK button and tries to check out as a guest again. At the moment, I just allowed duplicates of e-mails, but this causes whole lot of other issues. Proper way would be to run periodic checks and clean out entries that are expired. In case customer comes back before session expired, old entry should be either re-used or removed. Current code causes lost customers and it is not very obvious. 3. Related to the one above -- guest customer can just abandon the cart and this causes "zombie" entry in database. Should really be cleaned out periodically. (actually will be good to see a report of those "cleaned" entries) 4. Consider situation where existing customer with an account just want to check out as a guest. Should they be redirected to a login or should they be allowed? I think, they should be allowed to check out as quest if they want to. Rudolf
  5. There is another problem with PWA module -- order confirmation e-mail contains link to "detailed invoice". But, since customer does not have an account, link is broken and customers are unhappy. Link should not be included in e-mail if customer checked out as guest. Find: $email_order = STORE_NAME . "\n" . EMAIL_SEPARATOR . "\n" . EMAIL_TEXT_ORDER_NUMBER . ' ' . $insert_id . "\n" . EMAIL_TEXT_INVOICE_URL . ' ' . tep_href_link(FILENAME_ACCOUNT_HISTORY_INFO, 'order_id=' . $insert_id, 'SSL', false) . "\n" . EMAIL_TEXT_DATE_ORDERED . ' ' . strftime(DATE_FORMAT_LONG) . "\n\n"; Replace with: $email_order = STORE_NAME . "\n" . EMAIL_SEPARATOR . "\n" . EMAIL_TEXT_ORDER_NUMBER . ' ' . $insert_id . "\n"; // If checked out as guest, do not include order URL if (!$order->customer['is_dummy_account']) $email_order .= EMAIL_TEXT_INVOICE_URL . ' ' . tep_href_link(FILENAME_ACCOUNT_HISTORY_INFO, 'order_id=' . $insert_id, 'SSL', false) . "\n"; $email_order .= EMAIL_TEXT_DATE_ORDERED . ' ' . strftime(DATE_FORMAT_LONG) . "\n\n"; Rudolf
  6. Hi all, This contribution has a flaw in design. Consider situation: Customer tries to buy without an account, then drops out before completing the order. Customer will never be able to complete the transaction ever again. Here is what happens: When customer tries to buy without an account, customer details are entered in database. Once order is completed, details are erased. If customer does not complete the order, details are never erased and customer can not use same e-mail address! A "band-ais" solution is to modify create_account.php Find line: $check_email_query = tep_db_query("select count(*) as total from " . TABLE_CUSTOMERS . " where customers_email_address = '" . tep_db_input($email_address) . "'"); and change to: $check_email_query = tep_db_query("select count(*) as total from " . TABLE_CUSTOMERS . " where customers_email_address = '" . tep_db_input($email_address) . "'" . "and guest_account='0'"); This way, e-mail check is only performed on "real" customers and quest customer can use same e-mail again to complete the order. However, this is a dirty solution -- original customer entry is no "zombie" entry in database and never gets cleaned. One can add code to create_account.php to detect quest customers with same e-mail and clean up all old entries before creating a new one. But what if customer never returns? Really, a stand-alone script is needed to be run as cron job to remove all guest account entries that are older than, say 1 day. Rudolf
  7. Hi all, Is there a plugin that allows to use product image by selecting an existing file on the server? CRE Loaded has that mechanism and it is quite useful. Thanks, Rudolf
  8. Hi, Sorry, did not try on 2.2. You can try to use current instructions and adapt them to your site. I would suggest upgrading from 2.2 anyway, as it is very outdated. Rudolf
  9. rudolfl

    Purchase without account - not working

    On line 364 you have code: <?php // PWA BOF if (!isset($HTTP_GET_VARS['guest']) && !isset($HTTP_POST_VARS['guest'])) { // PWA EOF ?> The idea is that when user logs in as quest, there is no requirement for passsword. In your case, for some reason, you put that condition around ALL of customer information. I suggest you move those lines to line 586. Rudolf
  10. Current situation -- Google verified my code is correct and Google engineering team is looking into the issue. So, I guess, contribution is good to go as is. Rudolf
  11. There is a small issue -- shopping cart events (products addition/deletion) do not work. Code appears correct and right information is sent to Google. I am currently engaged with Google tech support trying to sort out the issue.
  12. rudolfl

    How To Make Contributions

    Hi, Made a first contribution last night and have a question -- how does one edits the description of a contribution already made? I wanted to fix a spelling mistake and add a link for support. This is a contribution in question: http://addons.oscommerce.com/info/9117 Thanks, Rudolf
  13. Thanks, My site is 2.3.1 and did not have the module. No wonder I could not find it. Rudolf
  14. Is anyone interested in google analytics HT module that works with new Universal Analytics? I switched to Universal and had to write new module to support it, If there is an interest, how do I submit/uload it? Thanks, Rudolf
  15. Hi Guys, Couple of questions: 1. How do I find if I use "normal" or "bootstrap" version of osCommerce. Actually, what is the difference between the two? (Sites in question are www.hatsfromoz.com.au and www.beltsfromoz.com.au) 2. Readme file says that AdWords conversion tracking was removed and is part of core osCommerce. Where is it??? I can not find settings to enable it. Thanks, Rudolf
  16. Hi All, When PayPal express is used, it causes wrong information in Google Analytics. Since checkout_success page is reached from paypal site, PayPal is shown as referral for this particular conversion. It should not be in the picture at all. Quick Google search revealed that checkout_confirmation page should be called with ?utm_nooverride=1 parameter. So, can someone tell me where in PayPal express code I can insert this parameter? As far as I see, PayPal express module does not redirect to checkout_success page. Any help on that matter is greatly appreciated. Thanks, Rudolf
  17. rudolfl

    PayPal express causes Google Analytics problem

    Thanks Harold, I tried your suggestion, will see in a week or so how Google Analytics perform. To be honest, I am not sure about customers being redirected to order_confirmation page. I understand your logic, but this provides customer with one extra step and, potentially, allows them to abandon the order. I prefer for customers to have as few steps as possible. Thanks again, Rudolf
  18. rudolfl

    Upsale modules?

    Hi all, What I would like to do is to get some "upsaling" happening. For example, when user buys, say, an iPad, shop can offer some accessories to go with it. Ot it may work in tandem with "quantity discount" module, prompting customer to buy more items to get discount or free shipping. I am thinking of creating generic "upsale module" interface that will have hooks in shopping cart and at various stages during checkout. Then actual upsale modules can be created to use the interface. Does it sound as a good idea? Anything similar already exists? Any thoughts are appreciated. Thanks, Rudolf
  19. Hi all, I am concerting site from CRELoaded to osCommerce. CRELoaded has a nice feature where one can select existant image from server to be used for the product. As a bonus, images can reside in subdirectories. Is there anything similar for OSC? Thanks, Rudolf
  20. Hi all, Need an advice here -- I want people to talk about my products on Facebook and other platforms. Facebook is main one I am interested in now. I already enabled social bookmarks, but this is not enough. I want to interest customers in sharing. One way is to offer them discount if they do. Two scenarios: 1. Once their order is placed, ask them to share their purchase. If they do, i want picture of product to be placed on their Facebook page together with URL and customer is to get discount coupon (I already have gift voucher/coupon add-on installed). This way I get free advertising and customer will be back to re-deem the voucher. 2. Ask customer to share the product they like. If they do, they will get a coupon to re-deem in the next 24hr or so. So, there are few questions: 1. Is there an add-on that will do what I propose (or something similar to it)? 2. Any other ideas on how to engage customers in sharing the product? Thanks, Rudolf
  21. rudolfl

    Social media plugin advise needed

    OK, I think i figured it out. Facebook has "plugin" for LIKE button and SEND button (LIKE button may combine with SEND one if required). Here is a link for SEND button: https://developers.facebook.com/docs/reference/plugins/send/ Basically, when set up in XFBML mode, there is a way to subscribe to event (user clicked on it), send parameters and receive them when user uses link posted on FB to get back to your site. Rudolf
  22. Hi, all I would like the info box with "specials" to scroll through all of the current specials. Is there an add-on for that? Could not see one in add-ons list. I can implement one, but do not want to re-invent the wheel. Thanks, Rudolf
  23. rudolfl

    Automatically printing order invoices

    Thanks. I think, I sorted out the office end. fetchmail+uudeview+cups Just need to script it out and setup a cron. Should do the job. Rudolf
  24. Hi, all I want to automatically print invoice when order is received. What I have in mind is for shop to create PDF file and e-mail it to a specific address. As I run Linux-server at office, this e-mail can be intercepted by my server and sent to a network printer. Any thoughts on how to implement scheme like that? Thanks, Rudolf
  25. Hi, all I am planning on writing my own module, but want to know how the order total modules are applied. I need to to allow for progressive discount. I can see that there is a "sort order" in each module. Is that how they are sorted? Is highest applied first? I know I can dig through the code, it is just I have too many things in pipeline and I am sure someone knows it and can save me some time. Thanks, Rudolf