WooCommerce Vancouver May and July 2016 Recap

Joey at the WooCommerce meetup giving hints on good development practicesMy how time flies! We’ve had two excellent meetups in Vancouver since the last time I wrote a recap, and we have another exciting one coming up in September (more details at the end of the post).

May WooCommerce Meetup Recap

In May, Tim Stringer of LearnOmnifocus walked us through his entrepreneurial journey in setting up a membership site using WooCommerce Subscriptions. His talk attracted a lot of attention, so in June he conducted a webinar for those who couldn’t attend in person. Tim has now uploaded that webinar to YouTube, and it has already been viewed over 100 times.

On both occasions, it was great to hear from Tim about how he found his niche, and how he made the decisions that led him on this entrepreneurial magic carpet ride. I will interview Tim for the Small Woorld blog in the near future, so you can look forward to hearing more of his story.

July WooCommerce Meetup Recap

At the July meetup last week, we were fortunate to hear from Joey Kudish. Joey drew on his substantial experience as a WordPress and WooCommerce developer to give a talk about the basics of a successful WooCommerce store.

I’ve more or less summarised Joey’s talk here, so all of this wisdom belongs to him (insert:citation). You can find Joey’s slides on his website if you want to follow along with those.

Payment Gateways

The first issue Joey addressed was choice of payment gateway. (Gotta make that paper!)

There are over 125 payment gateways on the WooCommerce extension marketplace, although some are specific to certain regions. Facing this kind of choice can be overwhelming, which makes it difficult to choose just one payment gateway. In some cases you might prefer to use more than one: for example, one for digital wallets, like PayPal and one for other payment methods, like ACH or perhaps cash on delivery.
Joey suggested that Stripe probably has the nicest dashboard, so that may help to reduce the decision paralysis a little bit.

Measurement and Analytics

Another major issue is measurement and analytics. After all, it’s important to measure success of your store, and to know where that success is coming from. There are a range of reporting tools available to help you crunch the numbers.

WooCommerce Reports

WooCommerce Reports provides basic charts that will give you the most important metrics on your customers, orders, and tax.

This is an incomplete list of the kind of information you can get on customers:

  • Data on how many items a customer has purchased
  • What is the proportion of registered customers vs guests
  • What proportion of customers are repeat customers
  • Raw list of customers
  • A breakdown by day/month/year to get an overview of what happens in your store at particular times

Looking at the metrics on orders:

  • Gives more finegrained view into sales
  • Offers a breakdown by date/product/category

WooCommerce Reports also offer information on taxes. If you are collecting taxes you need to know how much you’ve collected and how much you need to remit.

Joey didn’t recommend using the stock view in Reports, as it’s not always that useful. Perhaps a store with inventory might be interested in that view. And a store that was managing inventory would possibly not even use the WooCommerce inventory view, but would instead have something custom in place.

If you want to squeeze a little bit more information from your data you can use this plugin to export your data to Google docs or Excel, or whatever wizardry you use to conduct your analyses.

Third-party Analytics Solutions

There are quite a few analytics solutions available. Joey recommended looking into Google analytics, as they:

  1. Can integrate regular analytics (how many people come from which country, city, browser) with sales that were made
  2. Can start to create reports around sales and conversions; for example, from which region are the customers more likely to purchase

(As an aside, we had an indepth discussion on Google analytics for WooCommerce at a previous WooCommerce meetup).

Event Driven Analytics

Other solutions provide event driven analytics, which can tell you how many users did what on your site (for example, how many people made it to checkout page but didn’t buy):

  1. Mixpanel and Kissmetrics are two popular extensions in this category – you can get basic integration with those services. But you can also go deeper by using API that they provide
  2. Heap is a good alternative Joey has discovered in the past couple of weeks. It’s easy to configure, and it gives you a lot of things for free without doing a lot of work. Heap is free for the first 5000 events (50,000 if you add their badge to your site). This is a large enough number that you probably won’t hit it on a regular site.
Other Tools

If you are using several different services, you can look into Segment, which will pull in and combine data from your different sources.

Joey also mentioned that Zapier is another good tool. You can program Zapier, telling it “when this thing happens, I want this to happen as well”. For example, whenever there is a sale, you want Zapier to add that customer to a MailChimp list. Zapier is like an API manager/productivity tool. This is especially useful for the small business manager who does not have the time or budget to create something custom.

The Zapier WooCommerce Extension also has great integration with Subscriptions.

WordPress REST API

This is a new JSON based API introduced into WordPress core. Version 2.6 of WooCommerce is also using WP REST API.

The API is great because it enables a single standard for grabbing data and tracking. It allows a single entry point, which makes it really powerful. Everything today is really connected, and by introducing WP API, you can now get data from each site, and modify it. The possibilities are endless. At WooConf in Austin earlier this year, Bryce Adams gave a demonstration using the WooCommerce REST API. He used the trigger of a WooCommerce sale to program a drone to make a delivery. Obviously it is at proof of concept stage at present, but it does provide an idea of what is possible.

If you have custom reporting desires then the REST API is the best way to approach it – you can pull the data and do what you like with it. You can find a breakdown of all the functions available here for the REST API endpoints. However, Joey recommends that you do not rely solely on documentation. If you are not sure about something, one of the best ways to learn (and how Joey learned WordPress) is just to read the code. Even if you don’t understand every line of it in the beginning, you can pick it up by going through it line by line and figuring out what has been changed.

In the next version of Subscriptions (version 2.1) we will also be offering Subscriptions endpoints to WooCommerce’s new integration with the WP API, so you can get subscription data through similar endpoints.

Development Best Practices

There are four basic principles according to Joey:

  1. Make things legible, classy and elegant
  2. Follow the WordPress coding standards
  3. Don’t reinvent the wheel
  4. Use the ecosystem

Some of the steps to achieving these these four principles are: test, read error logs, pay attention to security, and get involved in the community.

Testing and Error Logs

One of the best things you can do as a developer is to set up your system to tell you when something went wrong, and where it went wrong. Because if you don’t know the when and where, you can’t fix it.

Here are some hints on how to do that:

  1. You should monitor error logs
  2. Use staging environments to recreate the bug, and then use a log to pinpoint where it happened
  3. Set yourself up so you understand the _doing_it_wrong() function
  4. Set up unit tests in WordPress – it is still a difficult process but it’s worth reading some tutorials to learn about it. Joey says it’s one of the most valuable tools he has learned in the past couple of years
  5. You don’t need 100% test coverage. It’s actually really hard to achieve that, especially because in WordPress you have a bunch of moving parts. But you need a certain level of coverage so that when you make a change, you know whether everything will fall apart
  6. If you use Travis, Circle CI, and connect to GitHub, these will tell you on each commit whether it passes or not

Joey also let us in on a very handy discovery he made about two weeks ago called Rollbar. You connect it to your codebase, and Rollbar can do the following:

  1. Captures any errors that happen on your site
  2. It can tell you how many times an error occurred
  3. It can open an issue in GitHub
  4. Works with PHP, Node.js, Ruby, Java,
  5. A big benefit is that it also works in the browser. It’s normally hard to know if a user has a problem at the front end, but Rollbar can actually track when the error happened.
  6. It also has the power to connect to user ID analytics tracking to see what the customer was doing on the page at the time when the error happened

Security

When you build an eCommerce site, the checkout page is the scariest page you have to deal with. Asking a customer to give you their financial information so they can make a purchase online demands a lot of trust from that customer. But it’s not just payment data you need to be careful of: it’s important to have security measures for other personal information, addresses, etc. It is devastating to customer trust and your reputation if that data is accessed.

There are a few key lessons Joey suggested you need to learn in relation to security.

Lesson no 1: Validate and Sanitise Data Early, Escape Output Late.

When you receive data from a user you need to make sure the data is safe: and it needs to be safe for that environment. By default, WooCommerce handles this for you out of the box. But if you build a custom integration that is not out of the box you will need to take care of this yourself.

Lesson 2: Shared Hosting is less than Optimal.

You need proper hosting for an eCommerce site. It’s not to say that all shared hosting is bad and all expensive hosting is good, but you need to evaluate your hosting options. If you are building a WooCommerce store, Joey recommends WordPress hosting, such as WPEngine, or Pressable.

At some point, most hosting companies will be hacked, but the difference lies in how they deal with it and whether they are proactive in running updates to protect you. A hosting company that runs PHP 5.3 and doesn’t give you any option to upgrade is probably not a good host. You need a company that provides 2FA and regularly emails about updates and upgrades.

Lesson 3 – SSL All the Things.

Joey was really clear on this: you want your site to be on HTTPS. In today’s world there is no real excuse for not having an SSL certificate. Let’s Encrypt will actually give you a free SSL certificate. Maybe in the past, people might have said that it’s too expensive or too difficult to get an SSL certificate. But now, we have Let’s Encrypt: it’s secure, and there’s no reason not to use it.

Lesson 4 – Bonus Lesson

You should avoid storing payment information on your site. Trust the third party and don’t store the info on your server, send it to their server.

Joey also mentioned some optional services you could consider. He has used these and knows they work well, but that’s not to say there aren’t better options out there.

  • VaultPress – paid service
  • Sucuri – paid service
  • Wordfence – free with premium elements
  • Cloudflare – free with premium elements. This is a DNS cluster service – it acts a middle layer to catch malicious traffic

Community

We love the WordPress and WooCommerce communities and love to be a part of supporting and participating in that ecosystem. Contributing to this community is rewarding in and of itself, but it’s also a place to find some help.

How You Can Get Help

As a developer how can find projects to collaborate on via several WooCommerce Facebook groups:

If you are looking to hire someone to help you out, there are a lot of different ways to go about it. The first place to start is with WooExperts – this is mostly a list of bigger agencies, but there are also smaller agencies that can help out.

If you are looking for a highly experienced freelance developer, be sure to contact Joey through Spark Consulting.

You can also join the WooCommerce Slack Community group. This was only established a few days ago and is starting to gather steam 🙂

Come to WooCommerce meetups! You can come to WordPress meetups and WordPress developer meetups. When travelling abroad, Joey likes to check out the local meetup in the area he’s visiting. It’s a cool way to get to meet people from all over.

Attend your local WordCamp! We have WordCamp Vancouver coming up on 27th August 2016 in downtown VanCity and would love to see you there.

Conclusion

This talk was packed full of goodies, lots of words of wisdom, several places to get started, as well as some more advanced technical info. I’m sure it was really useful for everyone who attended. You can find Joey’s slides here.

I’m very grateful to The Network Hub as our ongoing venue sponsor, and to the brilliant Minna for helping with everything as usual. Prospress (again) sponsored the delicious catering from Indigo Age Vegan Café.

Our next meetup will be on Wednesday 7th September, at the usual time and place. Brent Shepherd, the founder and lead developer of Prospress (and inventor of WooCommerce Subscriptions) will be in town. Brent will give an extended talk on 21.5 things you didn’t know you could do with Subscriptions.

See you in September!

Share:

More from the blog