[ic] Checkout and Userdb

Dan Bergan danb at champonline.com
Mon Jul 19 09:34:02 EDT 2004

Jamie Neil wrote:

> We manage a website which despite many changes, still converts very 
> badly (approx 0.3%) and we suspect it has to do with our checkout setup.
> We have a multistage checkout which starts with a welcome page that 
> requires:
> 1) Existing users login using their email address and password
> 2) New users enter just their email address (a password is 
> autogenerated on completion of the checkout
> This is not an uncommon setup, but it's been suggested that it is 
> probably putting off customers and that we should allow users to 
> checkout without creating an account (even automatically). This is 
> backed up by the large (>50%) abandonment rate we see after this stage 
> of the checkout.
> So what we want to do is have 3 options at the welcome page:
> 1) Allow account holders to login using their email address and password
> 2) New users who want to set up an account click "New Account" and on 
> the next page are prompted for their email address and to choose a 
> password (along with other address details).
> 3) New users who do _not_ want to set up an account click "Continue 
> checkout" and on the next page are just prompted for their email 
> address (optional) and address details.
> The problem with this is that because we use email addresses for 
> login, they have to be unique for each entry in the userdb table. So 
> at the end of the checkout process, if a user has not entered an email 
> address or if they have entered an address that is already in the 
> userdb table (they might have created an account before but don't want 
> to login for some reason), then the userdb record creation will fail.
> The only solution I can think of to this problem is to skip the userdb 
> record creation if the email address is missing or duplicate. However 
> I'm not sure whether there might be problems with this approach that I 
> haven't spotted.
> Has anyone else done something like this or solved the same problem in 
> a different way?
Here's how I do it...

In /etc/log_transaction, before saving the auto-created user I changed 
the email address to be the email address followed by the order number 
(so it will always be unique).

[if scratch auto_create]
    [comment]Change the email address so it doesn't mess up normal user 
      [value name=email set="[value email]-[value mv_order_number]"]
      [userdb save]
    Logout auto-created user: [userdb function=logout clear=0 clear_cart=0]


More information about the interchange-users mailing list