CAll Us: +1 888-999-8231 Submit Ticket
Adding Custom Triggers to AutomateWoo

Adding Custom Triggers to AutomateWoo

Email marketing is key to running an effective eCommerce site. While there are many good email marketing platforms out there, many don’t have very deep interactions with WooCommerce. If you start looking at all the plugins available for WooCommerce and their capabilities, there are almost no email marketing platforms that interact with many of the different events you’ll want to use.

This is where AutomateWoo fills a huge gap. AutomateWoo is built specifically for WooCommerce; to automate your customer interactions completely inside your WordPress admin interface. This means that it has fairly deep hooks into WooCommerce that you can leverage. This also means that it’s built using WordPress best practices for plugin development and doesn’t need to interact with a 3rd party server.

Today we’re going to take a look at what AutomateWoo can do for you out of the box. Then I’m going to walk you through the process of creating a custom trigger for those few times that AutomateWoo doesn’t cover one of your use cases.

AutomateWoo Trigger Basics

AutomateWoo works by detecting actions that users take. Once an action is recognized by the plugin, it allows you to trigger events. If that sounds a bit confusing, let’s use AutomateWoo to send a thank you email to a customer once they have spent over $200 in our store.

To start go to AutomateWoo -> Workflows and then click Add Workflow at the top of the page.

Next, create a descriptive title for your Workflow. I titled mine Customer Spend Reaches

Now we need to choose the trigger we want to use. Click on the select box and choose Customer Total Spend Reaches from the list of available triggers and then set the total spend value to $200.

Now we need to choose an action to take when a customer spends more than $200 in our store. Click the blue + Add Action button and choose Send Email as the action we want to take.

As you fill in what you want to say to a customer remember that you can use any of the variables that are listed on the right-hand side of the screen. To use a variable you need to use double curly braces around the variable name. That means to use the customer’s first name (if they have one in your system) you’ll use {{customer.first_name}} in your text where you want that information to show up.

Once you’ve got the email content you want, scroll back to the top of the page and click the blue Save button so that your Workflow is saved and ready to go. If you’re working on a Workflow, you can change the status of it to Disabled and then click Save. Marking a Workflow as Disabled will ensure it doesn’t run while you’re working on it.

Do pay attention to the status of a Workflow. I’ve had workflows running that I didn’t want running, and also thought I had a workflow active that was disabled. Always double-check the status of your workflow once you’ve finished working with it for the day.

One feature of AutomateWoo we haven’t touched on yet is their rules. Rules allow you to filter which type of customer a rule works for. You could use two different rules to reward the repeat customer above based on where they are. Maybe you can mail customers in your country a card and you use a rule to send yourself an email with their address when they reach the threshold. For users outside your country, you could send the email above instead of the card.

Create a Custom AutomateWoo Trigger for WooCommerce Teams

Despite the deep hooks that AutomateWoo has in WooCommerce, it doesn’t cover every case for every plugin. For a client I worked with recently, we wanted to send each new team member an email as they were added to a team inside Teams for WooCommerce Memberships. AutomateWoo doesn’t provide a trigger for this out of the box, but it is possible to add your own custom triggers to AutomateWoo.

To start we need a base plugin, which you can see below.

<script src=””></script>

While it’s possible to have a single plugin file and include all the custom triggers you may want, I don’t like doing that unless I’m 100% sure that I’m only adding a single trigger. If you end up adding more than one or two triggers you end up with a huge plugin file with functions spread all over and it becomes hard to manage which trigger your dealing with at any one time. Instead, I like to keep each trigger in its own file and include them in the main plugin. This makes it easy to pick out which trigger you’re working on.

We will need to include the main trigger registration in the plugin though, so let’s do that and include the file that will contain our trigger. Inside our init function add the trigger filter.

add_filter( 'automatewoo/triggers', array( $this, 'add_to_team_trigger' ), 10, 1 );

That’s a filter hook in WordPress. Filters allow you to change data as it passes through the code. In this case, we’re going to add to an array in the next block of code.

This in turn calls a function called add_to_team_trigger which will register our new trigger for AutomateWoo. Just below our init function add the following code, which should make your base plugin look like this.

public static function add_to_team_trigger( $triggers ){

    require_once( 'trigger-add-to-team.php' );

    $triggers['nexcess_add_to_team'] = 'Nexcess_Add_To_Team_Trigger';

    return $triggers;


Note that just before we adding to the $triggers array, we required a file called trigger-add-to-team.php. Now we need to create that file so that we have a trigger in AutomateWoo. Create a file called trigger-add-to-team.php in your plugin folder and then paste the code below into it.

<script src=""></script>

Now, let’s walk through what the code is doing. Lines 3 – 5 are about security. They stop anyone up to no good from directly accessing the file itself. Next, we define a class called Nexcess_Add_To_Team_Trigger which extends the base functionality of AutomateWoo’s Trigger class. Line 14 defines the data that is passed to our trigger.

In our init function we define two things. First, we define the name of our hook and second, we say what group it should go in. You can use the existing groups in AutomateWoo or you can define a custom group. In this case, we used the Team group because the trigger is related to WooCommerce Teams. Any future team trigger would go in the same group.

If our trigger needed to load any custom UI elements we’d use the load_fields function. We don’t have any (and I’ve never needed any) so we’ll just leave that alone.

The register_hooks function is what catches what’s happening in WooCommerce teams so that we can do something when a new team member is added. If we go to the Team.php file in WooCommerce Memberships for Teams and go to the end of our add_member function we’ll see that once a team member has been added successfully it calls the hook named wc_memberships_for_teams_add_team_member.

Note that wc_memberships_for_teams_add_team_member passes the Member object and not a user_id which is what AutomateWoo expects to get on line 47. That means we need to take the Member object and get the user_id from it on lines 43 and 44 so that we can pass the user_id to AutomateWoo.

wc_memberships_for_teams_add_team_member is an action hook. This allows you to detect when an event happens in WordPress so that you can do something else based on the occurrence of the event. You can read more about WordPress Hooks in the documentation.

By adding to this action hook we run our trigger once a new member has been added to a team.

Next our catch_hooks function is called by the register_hooks function, specifically it’s called here when the wc_memberships_for_teams_add_team_member action is run. This is going to pass the user_id to the rest of AutomateWoo so that we can send a user an email.

The result of all this code is that if we create a new Workflow in AutomateWoo we see that we have a new trigger which lets us run a Workflow when a new user is added to a team. Make sure your custom plugin is activated and then create a new workflow using our new trigger.

That’s it, we now have our custom trigger working for AutomateWoo. You can see the completed plugin here

To add custom triggers for other events on your site you’ll need to look for other action hooks so you can detect different events as they happen. Using pretty much the same code above I could also email a user when they are removed from a team by using the wc_memberships_for_teams_after_remove_team_member hook in the same Teams.php file.

Source link

The One Thing You Can Do (Without Code) To Speed Up Your Store

The One Thing You Can Do (Without Code) To Speed Up Your Store

You probably already know this, but if your site takes three seconds to load, you’ll likely see more than 50% of your traffic disappear. That’s horrible news if you’re running a blog or business site, but it’s catastrophic if you’re running an online store.

The tips on store performance optimization are endless

Maybe you read about AirBnB, and how they increased their performance by 8% using Google Tag Manager. And that sounds great until you realize that it may be more technical than you’re comfortable with.

Or maybe you’ve read articles that give you a list of things you can do to speed up your store. Below are three articles that help store owners running on Shopify.

You won’t have to spend much time on those sites to discover that they recommend that you use GTmetrix and Google’s PageSpeed Insights tool to get tips to help you find the slow spots on your store.

The problem? 

These tools were created for developers. And if you’re a store owner that isn’t a developer, these approaches won’t help you very much.

We surveyed more than 500 WooCommerce stores

Remember that Google statistic that said pages that take longer than 3 seconds to load get left by 53% of their audience? In a review of more than 500 WooCommerce stores across the globe, we found that the average page performance for more than 450 of them was 3.4 seconds. Ninety percent of the stores were too slow to keep customers browsing – that’s a problem!

While it’s easy to assume that the problem is WooCommerce (or WordPress) that powers the store, we’ve found that there’s a more important culprit – the hosting provider.

The single biggest factor that affects the performance of your store is the hosting configuration that comes from the host you’ve chosen. 

It’s like buying a new car that looks beautiful, comes with a great leather interior, a fantastic stereo and enough space for your entire family and a few friends. If you noticed the performance wasn’t what you wanted, you wouldn’t start by emptying the trunk, would you? No way! You’d check to see if the engine was working.

If your store isn’t performing well, image compression is a great idea but it’s not where you should start. You start with the engine that powers your store – and that’s your hosting environment.

Not all WooCommerce hosting is equal

When you compare hosting companies, there’s a difference between what’s possible and what’s probable. Every host can tell you that they can help your store run well. They’re telling you what’s possible. But that doesn’t mean that you’ll enjoy that performance as a probability.

WooCommerce runs on WordPress and there are a lot of hosting companies that have created solutions focused on WordPress. Right off the bat, those hosts will run a WordPress site faster than hosting companies that don’t specialize in WordPress.

Maybe you’ve heard of one or more of these companies that have created dedicated solutions for WordPress sites. They are, by far, the most famous hosting companies that work with WordPress.

  • Bluehost
  • GoDaddy
  • WP Engine
  • SiteGround

Each of these companies have invested in infrastructure and built custom solutions that help speed up your WordPress websites.

What’s critical to understand is that the very investment that was made to ensure that WordPress sites run fast may not serve your needs when running WooCommerce.

Caching Layers may help WordPress but not WooCommerce

There’s a good chance you’ve already heard different people talk about cache as a magical solution. For the uninitiated, cache is the temporary storage of parts of your website so that customers don’t need to wait for your servers to generate the content again. It’s a shortcut.

If you’ve ever walked thru an airport at lunch time you’ve likely noticed the pizza stands that have personal pizzas pre-made and pre-heated so that you could easily walk up, grab a pizza, pay and walk away. Compare that to the time it would take to order and have a custom pizza made for you, and you’ll easily see why people talk about cache as a great way to deliver high performance to customers.

But these airport pizza places work well precisely because they don’t treat every customer as a unique customer that has unique wants and needs. And the same is true when it comes to the difference between WordPress and WooCommerce.

If you run a WordPress blog or site, the pages you’ve created can be prebuilt and stored, ready for your readers because the pages are the same every time. So having them ready makes things really fast.

But if you do that with your shopping cart, where every customer gets the same cart, with the same items in it, it’s easy to consider that a disaster. Every customer needs to browse the store separately with their own cart. You can’t cache that interaction.

And that’s why we say that the strategies and investments many hosts have made, deep investments, into caching systems don’t actually help WooCommerce stores at all.

Can we talk about another technical aspect of your store?

Imagine you were shopping at a Walmart or Costco, for just a second. Imagine you filled your physical shopping cart and headed to the checkout area. That’s when you notice that there are 20 cash registers but only 2 people checking customers out.

Pretty crazy, right? Well, most hosting companies are just like that. 

Let me explain. Most hosting companies like to talk about storage and memory (hard drive and RAM) as the factors that you need to consider when it comes to the plan you choose. But if we think about your shopping trip, the amount of storage your minivan or truck has is pretty immaterial when you’re in a line of 20 customers waiting to check out. And the credit limit on the card you’re about to use to pay for your purchase isn’t much help either.

What you need is more cashiers. In the hosting world, for stores running on WordPress and WooCommerce – both written in PHP – those are called PHP workers.

When those hosting companies built their platforms, they were counting on their caching systems to ensure that you didn’t need so many PHP workers. The cache would help. And that’s true for WordPress sites and blogs. But it’s not true for WooCommerce stores.

This is why we say not all WooCommerce hosting is the same.

What store owners can do to speed up their WooCommerce store

We promised you that there was something you could do to speed up your WooCommerce without writing any code. By now you likely know what we’re going to tell you.

The simplest thing you can do to get performance gains without doing any development work at all is to change your hosting provider.

But don’t take my word for it. Let’s look at the numbers.

Here’s what we did to compare store performance

The first thing we did was create a sample store. 

  • This store had 2000 products in it
  • We then loaded more than 37,000 orders
  • Then we added more than 9,000 customers

Once we had a sample store, we bought hosting plans at mulitple hosting companies and imported our store onto each of them.

From there we created two sample paths of user interactions – store browsing and store buying. In the first case we navigated between the main catalog and the product pages. In the second, we added items to the cart and checked out.

We did these tests with varying loads – from 50 virtual users to 200 virtual users hitting the store – for fifteen minutes.

Here are the performance results for the same WooCommerce store

HOSTBrowsing – 50 VUBrowsing – 200 VUBuying – 50 VU
BlueHost10.14 s – 12 min Too Many Errors4.59 s – 12 min
GoDaddy**317 – 429 ms390 ms – 6.77 s772 ms – 2.48 s
WP Engine3.13 – 3.21 s3.16 – 3.21 s5.08 – 6.03 s
SiteGround1.89 – 4.74 s2.52 s – 2 min, 42 s2.93 – 58.54 s
Kinsta1.91 – 2.46 s1.95 – 2.17 s1.73 – 1.91 s
Liquid Web1.65 – 1.99 s1.67 – 1.76 s1.65 – 1.88 s

** GoDaddy is one of the hosts that has an aggressive cache in place that makes it great for WordPress sites but completely incompatible for WooCommerce stores. Because it’s impossible to turn off their caching, orders are not able to be processed. The result is a very fast page load that doesn’t allow customers to buy anything.

The comparison isn’t much of a comparison, is it?

There is no question that you could optimize a store to perform better on every one of the hosts we compared. If you were a developer, you could look for tips that help you minify your JavaScript, use tools to compress your images, and more. We strongly suggest getting a development partner to help your store.


The one thing that both Kinsta and Liquid Web have in common is that they’re relatively newcomers to the WordPress and WooCommerce hosting environment. We normally get hesitant about new companies, waiting to see how things pan out. But what these two hosts have demonstrated is that the older paradigm of building cache-heavy solutions for WordPress hosting isn’t a solution for today’s highly interactive sites and stores.

In the case of Liquid Web that provides a dedicated solution for WooCommerce hosting, they go further by automatically optimizing images, adding performance tuning, and database-specific optimizations for WooCommerce stores.

The point we’re making here is that store owners have one move that could change the performance of their stores without any coding. And the result of that change could be a 30-300% different in load times. 

Most importantly, a faster store delivers a better experience for customers, and that’s a difference that leads to greater revenue.

Source link

Creating a Duplicate Product in WooCommerce

Creating a Duplicate Product in WooCommerce

After you’ve chosen an awesome design for your shop, and everything functions just right, it’s time to start adding inventory. While adding products one by one is straightforward, it’s not quick. If you have products with similar descriptions, categories, or pricing schemes, it might make sense to make a copy as a starting point. Let’s explore a few ways to duplicate a product in WooCommerce.

What exactly is a product?

Before we get started, it’s important to understand what a product actually is. Technically, a product is just a special type of post (commonly referred to as post type). Because a product is technically a post, it’s stored in the wp_posts table inside the WordPress database.

Whatever you do, don’t touch the database

If you’re a person that knows just enough about building websites to be dangerous, don’t be tempted to edit products in the database directly. While it might seem like a quick and easy solution, it’s the hardest way to duplicate a product in WooCommerce. 

Each product has a unique product ID (like every post), and every product ID is associated with a record in the post_meta table. Data inside the post_meta table can be created by many processes. 

In order to duplicate a product correctly using the database, you’d need to correctly identify the next available product ID and create the appropriate additional entries within post_meta. 

Instead of saving you time, the database method just makes things more complicated.

Using a plugin to duplicate a product in WooCommerce

Perhaps the easiest way to duplicate a product in WooCommerce is to use a utility plugin. Since utility plugins are usually just used once, they don’t have to be active on the website all the time. In this case, Duplicate Post is the perfect plugin for duplicating a product (remember, a product is just a special type of post).

Here’s how it works.

Installing, Activating, and Using Duplicate Post Plugin

Step 1: Install and activate, “Duplicate Post”.

Step 2: Create a product in WooCommerce that you’d like to duplicate.

Step 3: Navigate to the product list view.

Step 4: Click, “duplicate post”.

Step 5: Edit the new duplicate product.

Step 6: Update product information including the end of the product url (permalink) and “save.”

Removing duplicate products in WooCommerce

When migrating or syncing a WooCommerce website, a hiccup in the migration process might cause multiple copies of products to appear (it’s rare but it happens). Removing a duplicate product in WooCommerce can be done manually, but automating the process of removing duplicates can make things much easier. 

Of course, there’s a plugin for that! 

The Delete Duplicate Posts plugin works almost completely opposite of the Duplicate Post plugin. This plugin is great because it searches for and removes duplicate posts along with their corresponding metadata.

Here’s how it works.

Installing, Activating, and Using the Delete Duplicate Posts Plugin

Step 1: Back up your database (after all, we’re talking about permanently removing products).

Step 2: Install and activate, “Delete Duplicate Posts” plugin.

Step 3: Head over to ‘Tools’, and run the, “Delete Duplicate Posts” plugin.

Step 4: After confirming everything looks right, click, “Delete All Duplicates.”

And there you have it. 

The Beauty of Plugins

While Hostdedi Managed WooCommerce has your back with nightly backups, it’s always a good idea to backup your database early and often when using a plugin to make large content changes. Never make changes directly to the database when creating or destroying posts or products. And above all else, let someone else (a plugin creator) do the work for you. That’s the beauty of open source!

Source link

4 Reasons Shopify May Not Be the Best Solution for Your Ecommerce Store

4 Reasons Shopify May Not Be the Best Solution for Your Ecommerce Store

There’s no question that Shopify is a popular ecommerce platform. When you google “ecommerce,” the reply is often, “Did you mean Shopify?” But popularity doesn’t mean it’s a one-size-fits all solution that makes it perfect for you. To that end, I’d like to share with you four reasons why Shopify may not be the best solution for your ecommerce store.

First, the price isn’t the price

When you look at Shopify’s price, you’ll see that the Basic plan is $29 / month. That sounds great, right? But if you dig in a bit deeper, you’ll soon discover $29/month is just the beginning of your costs.

I spoke at technology and ecommerce conferences throughout 2018 and 2019 and talked with a lot of people who had signed up for Shopify’s $29/month plan. When I asked if anyone was paying $29/month, no hands went up. Not surprisingly, even Shopify knows this. They shared with their investors that the average person on a $29/month plan pays $89/month.

Why is that the case?

Because every customer pays transaction or credit card fees. If you use Shopify Payments, you pay the credit card fees. If you use an alternative processor, you pay transaction fees.

But that’s not all. 

You’ll also soon discover that you have to install various apps. This is the developer / partner network that makes Shopify so powerful. Their partners often make more than they do. And that translates to a huge community inviting you to spin up a Shopify store. Because they know you’ll need apps to make your store viable.

And while many of their apps are free, the ones you’ll need aren’t free. They cost serious dollars that get automatically added to your monthly bill. So whether it’s a page building app, a popup app, a specialized coupon app, or advanced order tracking – you’ll see your bill double or triple from it’s basic $29/month.

Recently a client who moved from Magento 1 to WooCommerce asked us to price out the move to Shopify. After all, every platform has plugins, modules or apps that are needed. They wanted to see a comparison.

The results surprised them because they thought Shopify would be really inexpensive (because of the rich set of features it comes with).

Shopify vs WooCommerce costs

What cost $2,000 a year on WooCommerce (hosting and extensions) would cost almost $7,000 a year on Shopify.

Second, there’s the look and feel of your store.

When Shopify first appeared on the scene, it was an amazing up-and-comer fighting against all the available solutions of the time. But today it is a known player that people recognize. 

But it’s not only the platform that is now recognized. It’s also every Shopify store. One look and you know you’re looking at a Shopify store. Part of that is because there are a limited number of themes for Shopify – even less if you are getting started and want a free option.

Building your own brand online will be tough if your store looks like everyone else’s store. And while you could try your hand at creating your own theme, it’s not an experience that most first-time store owners embrace.

But if we skip past the limited number of free themes, or past the limited number of expensive premium themes, we still have another problem: Customizations.

If you simply want to slap a logo on the top left side of your new Shopify store, you’ll have no trouble. But again, your store will look like everyone else’s.

Want to change the look of your product pages? You’ll need that $50/month page builder app we talked about before. Or worse, you’ll need to learn Liquid, the programming language for themes.

There’s no way around the fact that you’ll likely need to hire a Shopify partner or developer to help you turn your site into something that doesn’t look like everyone else. And that’s expensive.

Third, it isn’t as easy as everyone says

I don’t want to spend a ton of time on this one because it’s better if you experience this yourself. Go start a free trial with Shopify. You’ll answer 3-5 questions – thinking that it’s helping shape your store. It’s not. They’re just collecting data from you.

But once you’re done with that, you’ll get inside Shopify and be ready to launch your store. The initial checklist that they present you is 5 things. Great – knock those out.

And then you’ll see the side navigation with more than 20 items, each with another 4-10 sub-items. And under each section, on each page, there’s more to configure.

Suddenly you realize why everyone’s site looks and works the same – they didn’t configure every possible setting to make it their own!

Fourth, we haven’t talked about vendor lock-in

I love hosted platforms. I think they’re great and I use a lot of them. But when it comes to my ecommerce needs, I’m not sure that I want a platform that I have no control over. 

  • When Shopify goes down, I don’t have alternatives I can move my site to.
  • When Shopify changes partner rules, I lose apps without any control.
  • When Shopify gets slow, I can’t move my store to a different server.
  • When Shopify changes its fees, I just have to pay the bill.

I like choices on something this important. And a proprietary hosted platform gives me a lot of choices except the one that is most important – the ability to control my own destiny.

What’s the Best Shopify Alternative? WooCommerce

When you compare WooCommerce to Shopify, you’ll end up noticing the differences pretty quickly.

  1. It’s a free plugin that runs on a free CMS, WordPress.
  2. The prices for WooCommerce extensions are cheaper.
  3. There are no transaction fees when using WooCommerce.
  4. There are thousands of free themes for WooCommerce, like Astra.
  5. There are thousands of premium themes for WooCommerce.
  6. Customizations are easy with page builders like Beaver Builder.
  7. Learning WooCommerce is easy with courses from WP101.
  8. You can host WooCommerce anywhere, including Hostdedi.

Why we created a different hosting solution

A couple years ago, I spent a lot of time reading Shopify vs WooCommerce comparison posts all over the web. Feature for feature, they were pretty evenly matched. But when it came to the end of each article, I’d read the same thing,

The largest difference between Shopify and WooCommerce is that with WooCommerce you have to take care of a lot of technical details – from hosting selection to server configuration. You don’t have to worry about that with Shopify.

It’s why we created Managed WooCommerce Hosting. 

A solution that would take care of everything technical for you, including support, while still giving you choice. You could move from one host to another, if we didn’t serve you well, without any lock-in. And you could move from one server to another if you needed more resources (though our auto scale takes care of you for most things).

And those products listed above – Astra, Beaver Builder, WP101 – all come included. Along with more. Because we created our Value Added Bundles to make sure you really could start a store without a lot of cost or complexity.

Get Started Today With A Free Trial

Source link

The Importance of CDNs for Page Speed

The Importance of CDNs for Page Speed

Let’s talk about content delivery networks, or CDNs in the context of Managed WooCommerce hosting. A CDN is a crucial topic for a WooCommerce store owner to understand because a CDN is key to page speed, and as we know, page speed is everything right now.

First, why page speed?

Simply put, page speed is important for conversions. A conversion is when a visitor to a page — in the case of someone browsing a WooCommerce store, a shopper — takes the desired action we want them to take. In most ecommerce cases, that would be a sale. Sometimes, it can be something else such as: a lead on a contact form, adding an item to a cart, etc. But in general, it’s a sale.

We have information that tells us that slow page load times cost merchants money. Perhaps the most notable and well-known metric is the 3 second metric: 40% of people abandon a website that takes more than 3 seconds to load. Namely, people don’t like to wait. We are not patient. After 3 seconds, we tend to look at another part of our screen, and sometimes click somewhere else. 

In an ecommerce context, that is particularly worrisome because the longer a potential shopper browses, the more of a chance they’ll add something to the cart, and better yet, they will add multiple things to the cart. Then, to add to the human factor of page speed, in 2020, we also have to consider the algorithmic factor. The ranking factors today are all about usability and user-friendliness, so to Google, high page load times are considered a signal of poor experiences. So, not only will your slow sites lose the traffic you earn before the conversion, they will also increasingly be shown to new users less and less.

With these key facts, page speeds starts to look like one of the most important considerations for your WooCommerce store, or any other type of site online. In Hostdedi support, we have a saying: “our customers are addicted to speed.” And with good reason folks: slow pages create frustrating experiences and cost potential revenue. 

My perspective when it comes to the development of WooCommerce stores is that while it is always a good thing when the store is beautiful, feature-rich, or anything else, ultimately, its goal is to process transactions and earn profit. This is why I want to focus in on the page speed aspect of CDNs. CDNs can help with many other items, but when it comes to business, they matter because page speed matters. If you are interested in the nuts and bolts of how CDNs work and the Hostdedi CDN, I would recommend our knowledge base article on CDNs instead.

One last note on page speed

We’re not done talking about page speed yet. 

While this article will cover CDNs, there are many other strategies for improving your page load times and using a CDN is only one of them. The Hostdedi blog contains many resources on how to speed up your store.  A lot of the time our recommendations are simple: change hosts to a high-quality host, optimize your images, implement intelligent caching, etc. All of these components are important, and no single factor will make a page fast, but all of them together working in harmony will.

These “how to speed up your store” lists almost always inevitably include activate a CDN. It is generally well-known and accepted, but do you fully understand how it works? So, we wanted to dig into what activating a CDN actually looks like for a store owner focused on growth. That way, store owners can start to see CDNs how I see them: an excellent tool for growing revenue and retaining customers.

What is a content delivery network (CDN)?

CDN stands for content delivery network. All that it is from a technical standpoint is a way to distribute the work of delivering content to your web browser, and therefore to your eyes, as the end-user. Think about it this way in a traditional method of content delivery: everything is coming from one source. Maybe you can compare it to a single stream of water. A stream is usually only a certain width — based on the robustness of the source — and that means that you’re going to get water at the rate that that one tube can deliver water.

If you want to try to do something like fill up a tub, several factors could come into play. If the source is far away from the tub, it could take a long time for the water to begin filling up. And since you clear out your tub after every time you use it — like an incognito browser might — you have to repeat the filling process every time you want to use the tub again. And, if you’ve ever filled a pool, you know that a great way to speed up that process is to have several sources of water at once.

Through a combination of optimizations that range from increasing the number of sources, their closeness, and caching what content is delivered for easy retrieval, CDNs make the process of delivering content online more efficient. This has become even more important as our modern web has become dominated by high resolution images and video, streaming audio and beautiful animations.

In the most simple way, that is all a CDN in. There are other considerations when it comes to CDNs — due to the nature of the optimizations for content delivery, they can also be helpful with security and uptime concerns — but at its core, it’s simply an essential feature for the modern web. Most of the content you consume today is delivered via one. 

That means that most hosting providers will include a CDN with their plans. If that is not the case, a provider like Cloudflare can be helpful. At Hostdedi across our whole product catalog, but especially within the store owner-focused Managed WooCommerce platform, we specialize in reducing the number of vendors you have to wrangle. So, on our Hostdedi product, your CDN setup is a toggle away. 

Save on other costs by using a CDN

In most cases, working more efficiently for your store’s visitors also means your technology is working smarter for you. Using a CDN not only improves page speeds, but it also uses your other most valuable resource outside of time better: your money. For example, consider bandwidth costs in relationship to CDNs. If, in the tub analogy, the CDN is adding more sources and managing the fill intelligently, you also know that you have to pay for every gallon of water you put through. You usually also a bandwidth recommendation on your hosting plan, and in the case of some hosts, a cap. By managing the delivery of the content better, your CDN also manages your bandwidth expenses better.

Other best practices to consider about load times and content

Think differently about video

With a CDN and bandwidth considerations in mind, there are other content delivery-related items to consider. An important one we see frequently is video. Video files are big, and on most web hosting plans for your store, take up large percentages of storage space and bandwidth. While a CDN could handle delivering your videos, there’s probably even better ways to handle that problem to get that 3 second load time. We frequently recommend using a service like YouTube or Vimeo to host and stream your videos to maximize your efforts. For a more professional-looking option without these streaming services’ logos, something like Wistia is an excellent choice.

You still have to optimize your images

Before we were widely using CDNs on the modern web, we addressed some aspects of the process that CDNs streamlines by manually optimizing our images. This is still a good thing to do, although there’s no need to do it manually — lots of tools are out there to optimize images. On Managed WooCommerce on Hostdedi, we include the Compress JPGs and PNGs plugin that creates multiple different size images from a single upload and then handles the right size image for the browser. That’s another way to make sure your CDN is working smartest for your WooCommerce store. 

Especially within the modern web that we are creating within, there are more and more legitimate reasons to require large image file sizes. Consumers have increasingly growing expectations of how they can view and experience potential online purchases. Especially as more and more products are even available to be purchased online, potential buyers expect to be able to zoom in, view products in 360 degrees, and more. For example, clothes shopping online used to be considered high-risk and therefore online clothing retailers needed excellent return and try-on policies.

Today, an advanced product listing that clearly indicates key information and allows for a detailed view of the product’s texture is reducing that barrier. Online furniture retailers are enabling augmented reality views of their products on a photo of the potential buyer’s space. As these expectations continue rise, it’s important to keep up with the features while also keeping up with performance and security. A CDN, used intelligently among other page optimization strategies, is a great way to get there.

Source link

Scheduling Sales & Marketing For Black Friday

Scheduling Sales & Marketing For Black Friday

5 things you need to start thinking about now, so you can implement before holiday shopping starts this fall.

In February of 2019 I launched my first ever crowdfunding campaign where I was able to raise enough capital to manufacture goods in China and ship them to the US to start my board game company.

While this took a lot of planning to pull off – it actually made the launch of my first game incredibly easy. So easy, I thought I was forgetting something the entire time but it turned out I could actually just relax and let my marketing automations do the work for me.

Today I want to share how you can use the same strategies to automate your sales and marketing for the Black Friday/Holiday shopping weekend and make money without stressing yourself out.

Design Landing Pages

First things first: design any landing pages. Landing pages are a way to highlight products & content specific to a campaign, sale, or interest. Not all stores need landing pages but if you have certain products heavily discounted it’s worth putting them all on one page so visitors can view the best deals, get interested in your store, and then start adding things to their cart.

Unless you only have one or two key products, landing pages are one of the best places to send your fans. And if you plan on doing any advertising or newsletter blasts (hint – you should be thinking about both of these) then a landing page is one of the best places to send them. And it’s why you should start with this a month or so before the sale.

Create Tracking Links

I’m a big fan of tracking & measuring everything possible so that I can figure out what worked and in future years double down on the strategies that made me money and ignore the ones that didn’t work. And since each industry is so different in ecommerce what makes perfect sense for one industry may not work at all in another so you will have to try various strategies and learn and improve each year.

One of the ways to monitor this is with UTM parameters. You can create UTM parameters using a generator for any campaign you’re running and in tracking software like Google Analytics you can see where people are coming from.

As an example I created custom links for all of the influencers who made videos about my products. And while many of them sent over dozens of people who ended up purchasing the product one of the influencers only had one confirmed sale.

In future years I wouldn’t use this influencer again. Since my product is only $15 getting one sale isn’t worth all the admin time spent emailing back and forth and sending them a demo product.

Here’s a few custom links you could create for your site:

  • Links from Twitter
  • Links from Facebook
  • Links from your newsletter
  • Links from influencers
  • Links from forums / discussion groups
  • Links from your email signature
  • Etc.

Schedule Sale Prices

Once you have all of your landing pages & links set up it is time to schedule the sale prices. Whether you use WooCommerce, Magento, BigCommerce, or another online store just about all of them let you schedule both the start & end of sale prices.

Here’s what it looks like in WooCommerce.

If you’re doing a storewide discount, discount an entire category, or other more complicated setups, this isn’t typically included in the core software but there’s almost always apps, extensions, and modules that let you do this.

Plan Your Ad Strategy

Every retailer knows that Black Friday is one of the biggest sales opportunities of the year and many retailers go all out with advertising right before Black Friday. That means ad prices soar right before Black Friday so you’ll quickly find your self spending more than you make if you don’t plan in advance.

Image from AdEspresso

One of my favorite strategies is to come up with new ad concepts in spring, A/B test them throughout the summer, and wind them down in the fall. When Black Friday comes around you can retarget your existing audience which is far cheaper than targeting new people who are probably overwhelmed by the amount of ads and will be unlikely to trust a new company.

If you haven’t started ads and you’re reading this today, there’s still plenty of time. Get some ads out there next week and start building your audience so you can retarget them down the line.

Schedule Email Blasts

You have landing pages, tracking links, and all of your products are discounted. Now comes arguably the most important piece. Letting people know!

And yes, you can and should announce things on social media & on your website but today we’re going to talk about your #1 asset and that’s your email list.

These are easy to schedule in any email marketing tool. And what you want to do is setup a bunch of emails and you can send them to segments of your email list based on how active & how much they spend on your store.

  • Here’s what’s coming on Black Friday (7 days ahead)
  • Here’s what’s coming tomorrow (1 day ahead) – For people who regularly open your emails
  • Black Friday is here (Black Friday)
  • Don’t Forget Black Friday (Saturday) – For people who didn’t open yesterdays email
  • Don’t Miss the Best Sale of the Year – For people who have made multiple purchases

And you can create even more than this and if you have a large list with even more data you can continue segmenting your list and writing emails for those segments. 

Preparation is Key

At the end of the day it’s all about coming up with a plan. Almost all of the tools out there have scheduling functionality so once you make a plan, write a few emails or lines of ad copy go ahead and get it scheduled.

I planned my crowdfunding campaign for 6 months and raised $10,000 off a non-existent product. With a few months to go you have plenty of time to build your audience, come up with attractive deals, and let your audience know about those deals.

Good luck!

Source link

The eCommerce Guide to International Shipping Costs

The eCommerce Guide to International Shipping Costs

If a product in your ecommerce store has global appeal, start thinking about a plan for shipping internationally. Shipping overseas isn’t the same as shipping within the country. 

Here’s a primer on the customs issues, international shipping costs, and other logistics you’ll manage as you begin shipping around the globe. Keep in mind that there’s rarely universal truth in international shipping. Get individualized quotes for your own products so you know how much it’ll really cost. 

What is international freight and what is the cheapest international shipping? 

Since shipping overseas is usually more complicated than domestic shipping, international freight logistics can present some unique challenges for eCommerce businesses. Some companies specialize in international freight and handle the logistical challenges for you. 

For small orders sent to your customers, you probably won’t have to think too much about customs issues. Even if you do outsource this process entirely, however, it’s worthwhile to learn more about how international shipping works for your products. You’ll be more adept at troubleshooting and improving your shipping processes. 

Shipping domestically can be very straightforward. You pay a single amount and your package gets delivered. But costs associated with international shipping may include the following: 

  • Customs charges 
  • Customs brokerage costs
  • Ground transportation
  • Maritime transportation
  • Air transportation 

When you ship, you’ll need to choose a carrier to transport your package for you. There are three different types of carriers, and they all work a bit differently. They also frequently work together. Even if you choose one of these, it’s possible that your carrier will contract out part or all of the shipping to another one on this list. 

International Carrier 

If you choose an international shipping carrier such as FedEx or DHL for the entire route, some or all of your shipping costs may be rolled into your postage. International carriers are responsible end-to-end for shipments and generally permit more visibility across the entire process than a national carrier working with a shipping partner would. 

This option may be more expensive than the other two and doesn’t necessarily allow you as much flexibility, but it’s likely a simpler and less time-consuming choice. 

National Carrier

A national carrier handles your packages within a specific country. They may not provide service outside that nation’s borders, or they may contract with local carriers to transport packages through other countries. You can work directly with a national carrier, but you’ll need to ensure that someone is still transporting the packages once they leave national borders. 

One example of a national carrier is the United States Postal Service (USPS). USPS has international reach by working with local partners to transport your packages. When a partner is delivering a package, USPS may not allow as much visibility into the shipping process which means you may not have access to much information when you ship internationally. 

For a small package that only weighs a few pounds, choosing a national carrier might be cheaper than your other options. Larger or heavier packages may be better off with an international carrier or freight forwarder. 

International Freight Forwarder

A third party can organize the handoff between USPS and the final carrier while also handling any customs issues. This is what an international freight forwarder does. They have permission from you to take on freight and have their own agents handle the customs and shipping logistics along the way. 

You could use multiple carriers and arrange the logistics yourself but in practice, this may be too complicated and time-consuming. That’s where outsourcing can make sense. For example, you may decide to ship a package from within the U.S. to the Canadian border through USPS, then have another carrier take it from there. 

Cheapest Way to Ship Internationally

Shipping to other countries is not just one process. There’s so much that depends on the country. To send your products overseas, consider the end country destination and plan accordingly. 

Consider these country-specific sections for more information. This is just a starting point, so be sure to do your own research just to be safe. 

Cheapest Way to Ship to Canada

Shipping to Canadian consumers can be complex. Although you generally shouldn’t have a problem shipping to most Canadians, Canada is a diverse country with a variety of different shipping arrangements and options. Some Canadians live in very isolated, rural areas that may make shipping a more expensive process while others are in urban areas with an abundance of affordable shipping options. 

Retailers must be prepared to work hard in order to win Canadian customers. Having convenient shipping is a good start. Whatever you can do to make purchasing from you easier is probably worthwhile. 

Online purchases made by Canadians do incur customs duties and other taxes, and paying these is the responsibility of the buyer. Although these costs are not coming out of your own pocket, you should know that these expenses do directly impact how much your shoppers can spend with your business. By keeping costs for your customers low, you could even offset some of these expenses and make it more likely that you’ll win their business. 

Besides import costs, Canadians also pay sales taxes for their province and a Goods and Services Tax (GST) to their federal government. GST represents 5%  of the total. Local sales taxes bring this amount higher. 

If your products are relatively cheap, you probably won’t lose business because of import duties. Recent updates to customs processes and costs mean that Canadian customers ordering from American businesses are exempt from paying customs costs on purchases up to $150 CAD, with some exceptions. This is up from the previous $20 CAD limit set in 1985. The old $20 rules still apply with items shipped through Canada Post, so keep in mind the larger limit only applies to private carriers such as FedEx. 

When you ship to Canadians, you have a lot of options. 

Shipping Options for Sending Items to Canadian Buyers

Canada Post, the national postal service, is one great option for retailers. You can also use FedEx, UPS, DHL or Purolator. Here’s where you may also want to consider Canadian geography when you’re shipping. Some of your customers may live in isolated communities and you may need to account for longer shipping times. As a result, some carriers such as FedEx, have different policies within Canada. FedEx Ground ships in four days or less within the US, but in Canada, takes up to seven days for shipments. 

You can use an individual carrier or use a multi-carrier shipping option that hands off packages to a new carrier at the border. Although the usual U.S. carriers you’re probably familiar with are available, the additional choices you gain within the Canadian border may be worth it. Purolator, for example, is known for reliable next-day shipping by 9 a.m. and 10:30 a.m. to Canadian addresses. When shipping packages, having this option available to customers may be a helpful selling point. 

Cheapest Way to Ship to the U.K.

In the U.K., eCommerce businesses have several options for shipping within the country such as the Royal Mail and DHL. You also have UPS international, FedEx, and even USPS international shipping. Shipping to the U.K. can be an expensive venture with a USPS Small Priority Mail Flat Rate box costing $36 and a Large Flat Rate box costing $94. Your costs will certainly be higher than shipping domestically, but that doesn’t mean shipping to the U.K. is completely cost-prohibitive for retailers. 

Imported goods need to follow the U.K. guidelines. Some of this may involve more work and recordkeeping on your part unless you outsource part or all of this process. 

You should find out if you’ll owe Value Added Tax (VAT) and have to collect it for your customers. Many eCommerce sellers are required to create their own VAT registration and request information from customers to help with location verification and tax reporting — even if you’re not based in the U.K. 

These rules may change. At time of writing, the U.K. was planning to leave the European Union which could result in different policies. 

Cheapest Way to Ship to Australia

When you’re shipping to Australia, you have several options. You can use an international carrier such as UPS, FedEx, or DHL. You could also use USPS. With Flat Rate International options available, you can reduce your costs for shipping a package to Australia. 

Customs costs may not be as much of an issue for you if your products are valued at less than $700 — which is about the minimum taxable amount for Australians who are buying products online and having their purchases shipped. GST imposed by the Australian government applies for more expensive purchases. 

If you use a freight forwarder or shipper, they’ll provide a Self-Assessed Clearance (SAC) Declaration for the Australian government when your package arrives at the border. Otherwise, you’ll be responsible for providing the SAC. 

Cheapest Options for International Shipping

You can streamline your international shipping and save money by creating a process. If you want a game plan for how you’ll ship internationally when orders arrive, take the time to decide in advance which countries you’ll be selling to, and create a system for taking care of shipping. As your business operations grow, you may need a more formal internal process for packaging and shipping including designated job descriptions for team members you have in charge of the process. For automated or outsourced shipping, plan how you’ll transport packages to the carrier, or sign up for a pick-up service. 

Your cheapest overall option may be outsourcing your shipping to a service such as Parcel Monkey or Easyship. These services can take advantage of volume discounts on international shipping and pass the savings along to you. In some instances, this can cut half of your shipping costs. 

Before you make any shipping decisions, carefully consider your options and find out what every shipping service has to offer for your business and your customers. 

Choosing the Best International Shipping Service

Business owners should shop around and consider several important factors when looking for the right shipping service. Start with an example order and calculate the cost and options offered by several different carriers. 

Before you make a list of carriers to compare, you may want to consider what you’ll need in a package shipping service. Specifically: 

  • Product categories you ship
  • Countries you ship to 
  • Countries you plan to ship to later as your business grows 
  • How much of the regulations and customs process you need to outsource 

See how every option stacks up against the others and note any questions or concerns you have for further research. Of course, you’ll also want to compare: 

  • Price
  • Arrival time 
  • Convenience for your customers
  • Shipping experience for you 

Every time you ship internationally, you have the option of using one single carrier or using a multi-carrier shipping option. 

Automating Your Shipping with the WooCommerce Shipping Plugin 

If you’re using WooCommerce, a shipping plugin can help you ship more efficiently. Balance multiple carriers along with a busy array of incoming orders and have costs calculated for you. A variety of different plugins are available with various features designed to make shipping calculations easier and enable quick comparisons among carriers. 

With a plugin, your site can calculate shipping rates accurately and provide customers with multiple choices. This feature allows you to provide different price points and shipping times so buyers can make their own decisions. 

Once you’ve automated your shipping, your online store can run with less guesswork and greater simplicity for both you and your customers. 

Source link

Using Google Shopping with WooCommerce

Using Google Shopping with WooCommerce

In the last 8 weeks, the world has been turned upside down. Major sports seasons were cancelled, summer concerts were cancelled, you can’t see or hug your friends, and business as we know it has been put on hold.

Many industries are completely shut down, but if you’re in ecommerce you can still do the vast majority of your job from home. The opportunity is massive.

US Bank released the percent of all retail transactions that happen online and ecommerce sales jumped from 16% in 2019 to 27% in April 2020. That’s an incredibly steep incline. There’s a massive demand for online shopping.

The trick is getting users to your site before they go to Amazon or Walmart. Luckily, a new service makes it easy to attract a whole new audience. A few weeks ago Google Shopping announced that they’re now allowing merchants on their platform even if you don’t pay for ads. In this post, we’re going to show you how to connect your WooCommerce Store to Google Shopping and list products on their marketplace.

What is Google Shopping?

If you’ve ever typed in the name of a product or type of product into Google, you’ve likely seen Google Shopping even if you weren’t familiar with the name. Let’s say you’re stuck at home and you’re looking for a 2 player board game on Google. You’ll see Google Shopping in two places:

The first is right beneath the organic search results. You’ll see:

  • A product image
  • Product title
  • Price
  • Star rating
  • Description
  • The online store where you can buy this product

And sometimes you’ll see even more. If you’re looking for clothes or paint you might see a filter for color and extra contextual tools.

The second place you’ll see Google Shopping is on the “Shopping” link at the top of the page.

If you click this shopping link, you’ll see the full Google Shopping view.

This view shows us Google Shopping ads at the top followed by a list of products. You can click on any of these products to get more information and then visit the store who sells the product to checkout.

Google Shopping is Now Free

As mentioned earlier, Google Shopping is now free. That means if you have any type of online store you can upload your products and have them show up in the shopping results.

What’s great about Google Shopping is it’s still wide open. A few big retailers with a Google ads strategy are already on their platform but many small retailers are not, which means yours could be one of the few products in a search making it more likely you’ll be able to make the sale.

Connecting WooCommerce to Google Shopping

Google Shopping works with any online store if you manually upload a CSV file or create an XML feed for your product information. Which is great but I’m lazy… and I’m guessing you are too. 🙂 

We’re going to use a direct integration between WooCommerce and Google Shopping. You can choose the official Google Product Feed ($79/yr) on or use one of the free plugins on

Since we’re in the middle of a pandemic let’s go with one of the free plugins, Product Feed Pro, so you can get the most bang for your buck – of course, if you need help setting up the plugin or have advanced needs the official plugin is likely a better choice for you.

Create a Google Merchant Account

The first step is to create a Google Merchant account. This will let you configure settings related to your store such as shipping, taxes, and a target country.

Once you create this account, add your store’s website and verify it using one of the methods Google suggests. If you already have Google Analytics installed and configured it only takes a few button clicks to verify your store in Google Merchant.

Get a Feed URL

In your WordPress admin you should be able to find your feed URL. Each plugin will do this a little differently. I had to create a feed, assign it as a Google Shopping feed, and map WooCommerce fields to Google Shopping fields. It took less than 5 minutes and even if you don’t know what you’re doing it will probably only take 10 minutes.

Once you’re done you should see your feed URL.

Add Product Feed to Google Merchant

Now we can add this feed to Google Merchant.

  1. Choose Products from the admin menu
  2. Click on “Create Product Feed” 

Then you’ll see a page where you can configure your feed.

  1. Select your target country and language
  2. Click continue
  3. Name your feed – I recommend the name of your store
  4. Configure a “Scheduled Fetch” so Google checks your store for product updates periodically
  5. Enter the name & URL of your file

Continue filling out the details for your product feed (we won’t show all of them here). Once you’re done you should see your feed under Primary feeds.

And if you click “View products” after waiting a few minutes you should see your products.

Note: this took maybe 10 minutes and I only uploaded two products. If you uploaded hundreds or thousands it could take much longer.

Enable Free Display

You might assume that any products you upload are automatically going to be displayed in Google Shopping. You actually have to enable this.

  1. Begin by clicking Get Started
  2. Fill out tax & shipping information
  3. Add a link to your refund policy
  4. Add a link to your shipping policy

The tax information is pretty easy since Google can determine that for you. Filling out the shipping information will take a few minutes.

Google Merchant has to process your feed and verify that your products have the correct information, so you may want to come back and do this step the next day.

And now if you search for your product it should show up in Google Shopping. Pay day! 

Strategies for Google Shopping

Getting listed in Google Shopping is now relatively simple. From here you can do some keyword research and optimize your listings so that you show up before your competitor.

But before you dive down the SEO rabbit hole, let me give you a simple piece of advice. Google Shopping is a very visual service. Make sure you have great product photography. If your competitors have clear, clean, and appealing photography it doesn’t matter if you rank slightly above them. Your audience is going to click on your competitors listing. 

Now is a great time to reshoot some products and touch up the primary image for each product. With a huge population stuck at home all day, every day, now is the time to get in front of those people. If you don’t make it easy for them to find you they’ll turn to Amazon or Walmart. So get out there with your products and grab a slice of all that brand new online shopping activity.


Getting traffic from Google Shopping is great. You can also get more traffic through organic search by speeding up your store. See how much Hostdedi can improve your store with our 15-day performance challenge.

Source link

What is WordCamp? – Hostdedi Blog

What is WordCamp? – Hostdedi Blog

If you’ve never heard of  WordCamp before you might think it involves playing lots of Scrabble in tents in the woods. But WordCamps actually have nothing to do with camping & nothing specific to do with words or spelling.

A WordCamp is (in non-pandemic times) an in-person gathering of WordPress fans in a specific geographic region with the goal to learn more about WordPress.

Who is WordCamp For?

WordCamps are for anyone who wants to learn more about WordPress. You could be a blogger looking for the best ways to edit, schedule, and update your posts. Or you could be a plugin or theme developer seeking information on security, performance, and best practices. Or you could be interested in starting a business on WordPress – like someone who wants to start their own WooCommerce store.

In short: if you want to use WordPress, you can go to a WordCamp. There’s no secret handshake and no entry test. Just come to a WordCamp and mingle with fellow WordPress fans!

What Topics are Covered at WordCamps?

WordCamps truly cover anything and everything related to WordPress. If you want to browse some of the content yourself, you can check out where most WordCamps upload their videos. But to give you just a taste, here are talks you might see at your local WordCamp:

Beginner Topics

Blogging / Writing / Content Marketing




WordCamps are Locally Organized

Every WordCamp is a little different and can have a different focus. That’s because they’re locally organized by volunteers. Each local community will have a different focus. So your local WordCamp will focus on issues that matter in that community.

Meet Your Local Community

WordCamps also feature speakers from your local community. You won’t be learning from a plugin developer from New York City or San Francisco. You’ll be learning from someone who lives down the street.

That way, it’s much easier to reach out to them, partner with them, or even hire them. To share a personal story, I met Brian Richards at WordCamp Chicago in 2013. We kept in touch for years, shared advice back and forth, and in 2018 when the stars aligned, we launched a collaborative project called WooSesh which we’re still running today.

How Much Does It Cost To Attend WordCamp?

If you’ve been to other tech conferences you know they can cost hundreds or thousands of dollars. Tech conferences are great but incredibly expensive.

Something that sets WordCamps apart from other events is that it’s organized by volunteers and there’s no corporation trying to make a ton of money. That means they’re incredibly cheap for attendees. WordCamps are limited to $25 per day, so if you have a three day WordCamp the maximum it costs is $75.

One of my first technology conferences was three days and it cost $2,000! Clearly, you get incredible value from a WordCamp.

WordCamps in a Pandemic

Up until this point I’ve focused on what WordCamps are like in typical times, but we’re in the middle of a global pandemic, so WordCamps have become virtual.

Obviously, an online conference feels different. You don’t have those hallway chats like you do at an in-person event. But they’re also more flexible. You can view the schedule, and jump in for just a session or two if you like. 

And of course you don’t have to drive or reserve a hotel room. This means they’re a lot cheaper. And virtual WordCamps are entirely free.

That’s right – a big fat zero dollars.

Find Your Local WordCamp

Are you ready to try a WordCamp? You can find a schedule of WordCamps on the WordCamp Central website.

You can also try WordCamp Denver which is virtual (and free) June 26-27.

Source link

Split-Test WooCommerce With Google Optimize

Split-Test WooCommerce With Google Optimize

You know it is important to drive traffic to your WooCommerce store, since a portion of this traffic will become customers. However, how do you know whether your site is efficient at turning visitors into customers?

The number of visitors who become customers is called the conversion rate. Conversion rates are important for any growing WooCommerce store to track and work to optimize. One highly effective way to optimize store conversion rates is by setting up experiments using Google Optimize to see what makes your conversion rate improve. 

This article will help you set up Google Optimize split testing with your WooCommerce shop. After completing this tutorial, you’ll understand how you can test design parts and wording to increase your conversion rate. So follow along, you don’t need to be a developer or coder! I promise that I’ll keep things simple.

I’ve broken down this article into three sections:

  1. How To Set up your Google Optimize Account
  2. Integrate Google Optimize with your WooCommerce shop
  3. Configure your first split test in Google Optimize

I highly encourage any WooCommerce shop owner with a reasonable amount of traffic (at least 5,000 unique visitors per month) to set up split tests. They’re a fantastic tool to discover which parts of your site structure or wording limit your conversion rates. You can use Google Optimize to set up these tests for free, which is perfect to begin with. Examples of common split tests are testing which color the “Add to Cart” button should be to encourage clicks hiding or showing trust labels on the Checkout page, the wording of the “Checkout” button, and other important elements on your shop website. 

For this example, we’ll run an experiment on the “Checkout” button and will compare two different colors against each other. Let’s get started!

Set up your Google Optimize Account

Creating your Google Optimize account is straight-forward, especially if you’re already using a Google. Head over to and click on the “Sign in to Optimize” button in the top right corner. If you do not have a Google account yet, you’ll have to create one.

Google Optimize website

After you’ve created your account, you’re greeted with a wizard that’ll walk you through the setup process. Let’s go through it together.

The first step in the wizard is that Google asks you to subscribe to their various email newsletters. It’s up to you if you want more emails in your inbox – I certainly do not. So, I’ll tick “No” for all of these boxes.

Google Optimize newsletter signup

Step 2 is to configure your first Google Optimize account. You’ll be asked all sorts of questions related to data privacy and GDPR, which heavily depends on the physical location of your business. In the US, you have less strict rules that apply than in the European Union. Here’s a great article on what eCommerce retailers need to know about GDPR.

Google Optimize Account Settings

Since I live in Germany, I have to accept boxes about GDPR. I also do not want my data to be shared with other Google services that I have not linked into my account manually. You’ll want your Google Analytics account linked to Google Optimize – to get the most out of your data. But other than use-cases like that, I want to keep my data private.

That’s it! Your account is now set up and you’re ready to create your first split test experiment.

Integrate Google Optimize with your WordPress installation

After completing your account setup as described above, Google will ask you to create your “first experience”. Experiences are the way Google groups experiments that run on a single website. So if you have multiple sites or shops and you want to integrate them into Google Optimize, you’ll have to create one experience for each of them.

Google Optimize Create First Experience

As you can see in the section on the right, we’re 25% done with creating that experience. In this part of the tutorial, we’ll customize the name of our container, setting up the foundation for your split test, and link it to Google Analytics.

To organize containers, I like to use the target website’s URL as their name. You can easily change the container name by clicking on the three vertical dots right beside “Container information” in the right sidebar. 

Google Optimize Container Setup

Click on the “Edit container name” and enter whatever name helps you recognize the website this container is integrated with. For the purpose of this tutorial, I’ll go with “Woo Google Optimize Demo.”

Configure your first split test experience in Google Optimize

Now that you have your container appropriately named, let’s walk through setting up your first split test for your WooCommerce shop. First, click on the blue “Let’s Go” button, which will open a new area on the right of your screen.

Google Optimize Create Experience - Step 1

In that area, you can specify a name for your experience. I called mine “Checkout button color test” for this example. You have to specify the URL of the page you want to run the experiment on, which would be the Checkout page URL.

You can further specify what type of experience you want to run. Google Optimize offers four different types:

  • A/B test. This lets you create one variant of the original page and compares them to each other, by sending one part of your traffic to the original and the other part to the variation.
  • Multivariate test. This lets you create multiple variations of the original page. I would only use that when you have a serious amount of traffic, otherwise, it’ll take a long time to deliver trustworthy results.
  • Redirect test. You can redirect a part of your traffic to a different page than the original one. This is great if you want to compare two entirely different page layouts, or if you want to drive a part of your traffic to a subdomain of yours.
  • Personalization. You can use this type of experience to personalize your website’s content, depending on certain rules. E.g. you can target countries and provide information specific to those countries (like GDPR checkboxes only for EU-based customers on Checkout).

For this tutorial, we’ll set up a simple A/B test to compare two different checkout button colors against each other. 

Create variant

Click on “Add Variant” in the next screen and give the variant a name that will help you recognize what you are testing. In my case, I’ll switch the “Place Order” button on the Checkout page to a red background color – so “Red Place Order Button” makes sense for this tutorial.

Add Variant

Click on “Done” which will take you back to the overview screen. Before we can proceed to configure the test, we need to make sure that we actually have a product in the cart so that the Checkout page is accessible and we can do the change.

Targeting and Variants

Google Optimize will try to open the Checkout page as soon as you click on “Edit” to configure the variant. So you need to ensure that you have a tab open with your WooCommerce shop, and are on the Checkout page. 

Additionally, please make sure that you have the Google Optimize extension for Chrome installed. Here’s the link to the Chrome Web Store (the extension is free).

Place Order button

Ok, let’s continue and configure the A/B test by clicking on “Edit”. You’ll see that Google Optimize will reload and now open your Checkout page. That’s why we need to have a product in the cart so that we can actually see that page and do not get redirected to an empty cart page.

As soon as you start moving your mouse over the screen, you’ll see that each HTML component of your Checkout page gets highlighted. Navigate to the “Place Order” button and click on it. That’ll open the attributes window you can see in the screenshot above.

Changing the background color and text color is super simple. In that attributes window, scroll down until you see the fields for text color and background color, and update the values to whatever colors you want to test. In this example, the “Place order” button has a black background with grey-ish text. I’ve changed that to white text on a red background in the A/B test.

Place Order Variant

With that done, I have fully configured the A/B test variant and can hit “Save” in the top right corner of the variation editor. 

Sidenote: do not test more than one element per variant. When you do test more than one change per variant, you will not know which visual change actually caused a change in visitor behavior on your website.

Going back to your overview screen, you’ll now see that the Google Optimize variant will say we’re testing two changes – but don’t let that confuse you. It’s never recommended to test more than one element at a time, and that’s what we’re doing here. One change has been the font color, and the other change has been the background color of the button. It is still just one element that we’re testing.

The next step is to connect your Google Optimize account with your Analytics. Therefore, you need to click on the “Link to Analytics” button in the progress bar or scroll down to the section titled “Measurement and Objectives.”

Google Optimize Draft

There, you can click on the “Link to Analytics” button and pick the right property and view. Sidenote: please ensure that Google Analytics is set up properly on your WooCommerce shop before proceeding.

Link Property

You’ll then be presented with a code snippet that you need to put onto your website. How to implement this exactly depends on your Google Analytics configuration (universal tracking vs. global site tag). For this example, I’m using the global site tag integration, so all I have to do is to add one line of code to my site. Google Optimize does a great job of explaining here, so read through the instructions carefully.

One last step we have to do is to set up a tracking event for the “Place Order” button. We need to tell Google Analytics to track the clicks on the button so that Google Optimize can use the tracked data as a custom objective for the split test. Without that click tracking, Google Optimize will not be able to determine the winning variation from our test – because it will not have the right data to do so.

There are multiple ways to add click tracking to your WooCommerce site; my favorite way is using Google Tag Manager. I will not go deep into setting up the entire tracking process here, as that would be a post in itself. However, I highly recommend reading through this article on Medium if you haven’t set up click tracking before. 

Once you’ve set up Google Tag Manager with the right tags and deployed it on your WooCommerce site (e.g. using this free plugin), you’re ready to set up a custom objective in Google Optimize.

Measurements and Objectives

Click on “Add experiment objective” and choose “Create custom.” That will give you a screen where you define your own tracking rules.

Place order button clicked

Please note that the “Event Label” value has to match the label you configured in Google Tag Manager. For Google Optimize to be able to track this custom event – the click on the “Place order” button – the event labels have to match in Google Optimize and Google Tag Manager. You can also use “Event Action”, “Event Category”, or “Event Value” as rule parameters, but for this tutorial, the label will do.

After saving your custom objective, you can run the Diagnostics tool to validate that your Google Optimize experiment is set up correctly. Remember that Optimize needs Google Analytics to load on your page. So if you excluded your user from being tracked (e.g. blocking tracking for all admins in WP), it’s likely that this validation will fail. If that happens, I recommend that you include your user in the Google Analytics tracking temporarily. Alternatively, you can open your WooCommerce shop in an incognito window and verify that all the codes for Google Tag Manager, Google Analytics and Google Optimize are being loaded in the code of your shop.

At this point, your experience should be up and running properly. You can use the Live Debug Mode from Google Optimize and browse your site to validate the experience. You’ll see that Chrome shows you an area below the website that gives you insights on how Google Optimize is working on your WooCommerce site.

Live debug

In this screenshot, you can see that the experience has been applied and some additional information, like the variant I’m seeing and the URL that caused the variant to be triggered.

Finally, you’re ready to collect the test data and optimize your WooCommerce site for more conversions and revenue. This process can be confusing, so if you get stuck at any point, reach out on Twitter and I can help: @iamjankoch. Happy testing!

Source link