[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
login[/comment]
[value name=email set="[value email]-[value mv_order_number]"]
[userdb save]
Logout auto-created user: [userdb function=logout clear=0 clear_cart=0]
[/if]
Dan
More information about the interchange-users
mailing list