ecommerce presentation, joomla user group toronto, oct 22, 2013

Download eCommerce Presentation, Joomla User Group Toronto, Oct 22, 2013

If you can't read please download the document

Upload: bbloom9

Post on 16-Apr-2017

728 views

Category:

Technology


0 download

TRANSCRIPT

echo $msg->welcome;

Welcome to the Joomla User Group Toronto workshop on ecommerce.

Every month JUGT holds a workshop on various topics. Please consult the JUGT website to see what is happening.

echo $user->name;

Bob Bloom

Joomla consultant since 2007

JUGT since 2009

ecomm right from the get-go with Virtuemart

Tienda in 2010 wrote Canadian add-on

Fork Tienda for J!1.5 = LaSalleMart 1

Fork Tienda for J!2.5 = LaSalleMart 2

New fresh LaSalleMart 3 for J!3 using FoF

Podcast = SouthLaSalleMedia.com

Blog = blog.SouthLaSalleCommerce.com

echo $msg->jugt

echo $msg->jugt;

Joomla User Group Toronto = local JUG

we are all volunteers

Wonderful group

Connection to the Joomla project, and networking with other local pros, has been a critical aspect of my independent consulting professional life

Toronto.Joomla.ca

I co-run Meetup.com/Joomla-User-Group-Toronto/ with Niv

Special Nov 07th workshop

Joomla! User Group Toronto is local user group for Joomla!.

http://Toronto.Joomla.caFacebook siteTwitter @jugtMeetup.com

The exec team made today's workshop happen:Doug PickettNiv FroelichAlan LangfordVic GarbuttAlison Meeks.. and Yours Truly

echo $msg->topic;

Thank you for being here this evening.

The topic is Joomla ecommerce.

Focus on checkout this evening, based on questions from JUGT over the last while; and, based on gi-nor-mous mistakes my clients consistently make.

I invite questions as we go along.

echo $msg->caveat

Information contained herein have been obtained from sources believed to be reliable, but are not guaranteed.No person or organization connected with this presentation is responsible for the accuracy herein; nor, is responsible for your reliance on information so presented.

echo $msg->LaSalleMart

LaSalleMart 3 is from-scratch ecomm technology for Joomla 3+

Based on Akeeba's kick-ass Framework-on-Framework

This month is about prototyping concepts with FoF and building out first suite of components with FoF

Initial release will have basic product/checkout functions

Vision of Joomla ecommerce is coming to fruition

Sep 2010 podcast sheds light: http://www.southlasallemedia.com/2010/tbbs21

FoF makes LaSalleMart 3 feel like Joomla ecomm feel like it should be

FoF will be included in Joomla 3.2, to be released in early Nov 2013

I will create my first Joomla distro with J!3.2. http://LaSalleCMS.com

See my LaSalleMart.com, blog site, and monthly podcasts, for updates.

if ($work == hard) { echo success; }
else { echo blame consultant; }

I can whip up a blog site fairly quickly. But I cannot whip up an ecomm site.

ecomm sites involve a lot of detail and content

Dear Client: it's your site, not mine. It's your strategy, not mine. It's your responsibility to make the site profitable, not mine. Unless we have an arrangement, which I aggressively avoid 110% of the time

There's this thing called User Testing. Clients who avoid it tend to have crappy site revenue. I should call UAT revenue acid test

if ($think) { echo ka-ching; }
else { echo blame consultant; }

There are hundreds of thousands, if not millions, of ecommerce sites. The days of build it and they will come are way over. Successful concepts attract serious investment from competitors.

Brain Fart Alert: no online & offline (yes, offline!) e-strategy

Brain Fart Alert: eye-candy fetish + resist checkout issues

Brain Fart Alert: clients play their little games because they feel out-of-their-depth and out-of-control with ecomm, but feel compelled to be in ecomm

Brain Fart Alert: clients refuse to learn any e in ecommerce

Brain Fart Alert: clients forget that we are in the Golden Age of Tech Start-ups

Brain Fart Alert: clients are completely oblivious to the need to own/control their domain registration & website hosting time and again I'm told to just take care of it --> Doh!

Brain Fart Alert: obsessed about site design + oblivious to cart abandonment issues

echo strrev("BACKWARDS!!");

emphasis frequently skewed to front-end

Shipping methods, payment methods, order workflow are as integral as front-end

Shipping and payment method issues pose show-stopper issues

You want the benefit of time to deal with these issues before they can derail your launch date

!!S-D-R-A-W-K-C-A-B Don't!

Buyer enters CC number and other info on your site

Cart sends CC info to your payment processor

Your cart puts the CC info into its database

You are making a huge mistake if you store CC info!

Very strict requirements for storing CC info the usual MySQL set-up will not satisfy 'em

CC info -con't

CC info gets hacked:Publicity, none of it good

Knock on the door

From your house to the big house

Sales go to zero

Do not store CC info

Offer PayPal Standard, or other pmt that redirects to payment site

Payment Methods

Watch the vig 3% to 4%

FX translation: convert yourself

Tons and tons of payment methods available

SoL Alert: your cart needs software for your payment processor

SoL Alert: that wonderful feature your payment processor very probably needs specific software in your cart

SoL Alert: your payment processor changes its ways, your cart's software may need upgrading:REST

Return codes

PayPal

Standard vs Professional

PP wants to understand your transactions

Complaints = hassle from PP + PP slap

Do everything you can to verify with PP

Associate bank account with PP account

Sweep from PP takes 3 to 4 days

* owned by eBay* eBay cleaned up things* big revenue generator due to vig per transaction

PayPal Professional

Your customers never leave your site

Need SSL

Can take two weeks-ish to set-up

Sellers skew to wanting Pro

API Username, API Password

PP Pro settings required

PayPal Standard

Your customers redirect to https://PayPal.com

Upon paying at paypal.com, your customers click a link to return to your site

Buyers skew to Standard -- more than you think!

Sign-up same day

IPN

Instant Payment Notification

The IPN service notifies you when an event occurs that pertains to a transaction. Typically, these events represent various kinds of payments; however, the events may also represent authorizations, Fraud Management Filter actions and other actions, such as refunds, disputes, and chargebacks... IPN is a message service that PayPal uses to notify you about events...

https://developer.paypal.com/webapps/developer/docs/classic/ipn/integration-guide/IPNIntro/

IPN con't

// Log the IPN data$this->logIPN($data, $isValid);// Fraud attempt? Do nothing more!if(!$isValid) { return false; }case 'Canceled_Reversal':case 'Completed':$newStatus = 'C';break;case 'Created':case 'Pending':case 'Processed':$newStatus = 'P';break;case 'Denied':case 'Expired':case 'Failed':case 'Refunded':case 'Reversed':case 'Voided':default:// Partial refunds can only by issued by the merchant. In that case,// we don't want the subscription to be cancelled. We have to let the// merchant adjust its parameters if needed.if($isPartialRefund) {$newStatus = 'C'; } else {$newStatus = 'X';}Break;

( plugins/akpayment/paypalpaymentspro/paypalpaymentspro.php)

* to show you that there is somewhere on your site that receives IPN info

* to show you that the return codes from PP exist within your site's cart software

IPN con't

Feature or bug: PayPal Payment Status = "Completed"ANDOrder Status NOT Updated via IPNAnswer: feature! You have to double check that PayPal actually received the money from your customer. Then, you go to order management and update the order.

* go through your checkout for downloadable products, just like your customers would, to see what they go through. Adjust your workflow accordingly.* Sometimes you have to make trade-offs between convenience-security-cart_abandonment

IPN con't

IPN con't

Shipping

Embrace shipping as part of your business strategy

Shipping a huge source of cart abandonment

What are your shipping rules?

Top source of BTW scope creep

Can your cart handle your shipping rules?

All predicate info must exist for your cart's shipping methods to work

Usually, one shipping method (and payment method) per order

* customers want free shipping* cart abandonment happens a lot at shipping* have a page describing your shipping policies, separate from your terms of service* shipping rate figured out after order is placed + order paid for post order. Can software: enter shipping rate in admin order details & buyer pay from invoice/re-enter checkout?

Standard Shipping Types

(https://southlasalle.atlassian.net/wiki/display/lasallemartkb/Standard+Shipping+Types?src=contextnavchildmode)Type 0: Flat Rate Per Itemshipping rate a set rate per item;

(flat rate and handling free from the first record rates) * qty, regardless of number of records:

that is, first shipping_method_id in #_lasallemart_shippingrate.

Type 1: Weight Based Per Itemshipping rate based on the weight of each product in the cart;

sum each product: shipping rate * qty + handling fee * qty.

Type 2: Weight Based Per Ordershipping rate based on the total weight of all products in the cart;

sum each product: (shipping rate * qty) + handling fee charged just once.

Standard Shipping Types

Type 3: Flat Rate Per Orderregardless of the number of products in the cart, the shipping rate is the rate + handling fee (charged just once).

Type 4: Price Based on Percentage of Item Subtotalshipping rate is a percentage of items pre-tax price;

shipping rate is per item;

shipping rate is sum for each product:

(pre-tax price of product * shipping rate percentage * quantity) + (handling fee * quantity)

percentage and handling free from the first record rates, regardless of number of records

Type 5: Quantity Based Per Orderuses a range of quantities;

shipping rate = (shipping rate per item + handling fee).

Type 6: Price Based on Order Subtotalshipping rate based on after-tax product total (aka "Subtotal" in the cart);

uses a range of Subtotals;

shipping rate = (shipping rate per order + handling fee).

Online Shipping Rates

Shippers provide shipping rates to your site via their own servers

SSL not required

Usually requires separate credentialled process. So, not associated with your actual shipping account

Getting API access codes can be a PITA, and can take time. Like, a week or two

Must check that online rates are ok. Sometimes you have to phone to ensure your special shipping rates are associated with your online access code

UPS

UPS issues API access credentials

Their website is called Developer Kit, but, Dear Client, this site is for you, not me!

http://www.ups.com/content/ca/en/bussol/browse/cat/developer_kit.html

I am not going to use my API access on your site

You need your own separate access credentials to associate with your actual shipping account

UPS: Dev Kit Not For Devs!

UPS: Online Access Signup

Registration & Address Mgmt

Joomla itself handles user registration

Cart component handles address mgmt

This separation cause of woes

Joomla cart extensions usually take over user registration, in whole or in part

LaSalleMart 2: huge effort went into integrating registration, address management, and the cart. Result pretty good but(!) need better Decision Tree (aka: rules based) algorithm in LM3

Coupon Types

(https://southlasalle.atlassian.net/wiki/display/lasallemartkb/Coupons?src=contextnavchildmode)

Tax Handling with Coupons:Tax is based on the pre-discount (ie, original) product price.

Discount Applies to:Shipping only;

Product's price only.

Value Type:Flat Rate = a straight money amount;

Percentage = well, the percent, such as "10% off".

Max Uses:the maximum number of times the coupon can be used;

-1 = unlimited uses.

Max Uses Per User:the maximum number of times the coupon can be used by each customer;

-1 = unlimited uses.

Valid From:coupon is live starting on this date;

leave blank if not applicable.

Coupon Types con't

Expires On:coupon is not live starting on this date;

leave blank if not applicable that is, if coupon never expires.

Application:Price discounts can apply to the order, or per product.

Shipping discounts apply to the order only.

Coupons are Submitted How?User Submitted = your buyers must enter the coupon code

Automatic = the applicable coupon is automatically applied test first b/c I've not tested all scenarios

Coupons con't

Coupons are surprisingly complicated

If your cart lack a coupon type you need, customizing it might be a PITA. Why? The Matrix!

New cart functions!

Per shopper group, shipper, location, who you like to win the Super Bowl, etc...

Two-fers, stealth bonuses

Downloads

Sell PDFs and videos

DocMan

Set 'em up as products

always fun for your buyers to confront shipping when buying a PDF then can't proceed through checkout

Sell large files?

Auto-bundling of multiple files into one?

Time series downloads email autoresponder??

Subscriptions

Site subscriptions

Downloadable or subscription?

Akeeba Subscriptions

Akeeba Subs + Akeeba Release System

Akeeba Subscriptions

Persuing a Modelling Career

Product model: how you envision your products vs how you shoehorn your products into your cart's database

Attributes, groups, bundles, downloads, subscriptions, ...

* Surprising how many times a simple product is not so simple.* product attributes: sometimes need own product_id so adds complexity* t-shirt: colour = attribute, where want just one product_id and simple selection within add-to-cart form* many times have to reconcile your model into your cart's capabilities

Front-end

Typically perceived as ecommerce -> NO

Use Joomla as much as possible for front-end, b/c front-end = Joomla's strength

Use add-to-cart content plugin to buy button to link your front-end to your cart

People lavish time & money on front-end, and starve checkout

* mini websites* seasonal templates Joomla can handle multiple templates!* blog style product pages Tell Your Story* K2Mart linking VM to K2 intriguing * content plugin add-to-cart form

October 22, 2013

Joomla User Group TorontoToronto.Joomla.ca

Bob [email protected]