Recently a client of mine decided to start using Klaviyo as an email marketing platform for its WooCommerce store. I was tasked with setting it up.
And to tell you the truth I was really surprised how many problems I had with the mailing system of this $150 million+ company.
And so I decided to write an article listing the most serious ones (just like I did when I talked about Mailchimp and WooCommerce)
Please mind that this article is not a review. I won’t list here everything that Klaviyo does well. I will only concentrate on what it miserably fails with.
Let’s get right to these problems.
1. Incomplete data
Klaviyo boasts that they use store’s data and traffic statistics to build a customer’s profile than can be later used to send people targeted emails.
In other words, you should see in your Klaviyo’s panel history of customer’s interactions with your store like what pages they visited, what forms they cliked, what products they ordered, etc.
In reality, this data are incomplete.
- Orders created in WooCommerce admin panel (e.g. by customer service)
- Orders paid with cash on delivery and bank transfers
- Some key user interactions
Missing orders created in WooCommerce admin panel
Klaviyo doesn’t seem to see when orders are created in admin panel. In such cases, they don’t show up in customer profiles in Klaviyo. This in turn results in inability to send those customers properly targeted messages.
After all you can’t target customers who are not marked as such.
Missing orders paid with COD and bank transfers
Klaviyo “sees” orders that were paid by online payment gateways (like PayPal or Stripe). And ONLY them.
If a customer chooses to pay via direct bank transfer or pay cash on delivery than:
- Klaviyo won’t “catch” these orders, and their carts will be marked as “abandoned”.
- Those people will receive all the abandonment cart emails you set up in your cart-recovery sequence.
- You won’t see orders from these people on their profile pages and in reports.
- You won’t be able to target them as customers in your other automated email sequences.
Incomplete data of user interactions with WooCommerce store
Klaviyo by default logs:
- What browser a visitor uses to view your site
- What products they saw
And that is it!
Here’s a link if you don’t believe me.
For example, if a customer visits a page in your store, Klaviyo won’t report it. If they view a product category than also Klaviyo won’t report it.
If a user leaves a review, responds to a survery or fills out some other form than – once again – you’re in though luck because Klaviyo doesn’t catch submitted forms.
Try cerating targeted emails without knowing what kind of content your customers are interested in and what they did on your site.
Your only option would be to contact your developer to manually add scripts to your site that track these interactions. Fortunately, this can be done.
I’ve written 200 lines of code to fill in these gaps.
Missing “new order” status
In Klaviyo you can send emails to customers when the statuses of their orders change to e.g. “placed order”, “cancelled order”, etc.
The devil, however, is in the details.
It turns out that “placed order” status is not actually an equivalent of WooCommerce’s “new order” but “processing order” status. In other words, it is set up when the order is already paid and is being processed.
It becomes a problem in these 2 situations:
- If a person pays via paypal but for some reason, their payment won’t get through. In such case WooCommerce won’t change order status to “processing”, Klaviyo won’t know about it, and won’t trigger necessary email automation flows.
- If a person chooses to pay with cash on delivery or bank transfer. In such case they will never be listed as customers! This is also related to previous issues I mentioned.
2. Errors in processing data feeds with single items
Every serious mailing platform lets you add to your emails content that is automatically taken from your site. Mostly these are product teasers or blog post updates.
In order to show them in Klaviyo’s emails, you need to send their data from WooCommerce to Klaviyo in XML feed format.
Thankfully WooCommerce and WordPress generate these feeds by default.
Unfortunately Klaviyo is not very good at handling them when they contain only a single element.
Let me give you an example.
My client asked me to create an automated email that sends to cutsomers emails with blog updates – articles that were published within the last month.
And almost imediately I encountered first problem. Klaviyo doesn’t let you filter your feed to show posts from a certain period.
And so, I created a custom WordPress feed that displays only posts published in the last 30 day. It turned out however that the Klaviyo’s feed interpreter is nor prepared for such eventuality and turns your emails into a mess.
Klaviyo’s technical support didn’t know how to help me and it took me a week of thinking and testing to devise a workaround.
To correct this error, you need to code a custom feed generator that always adds an empty <item> to the end of your list of products or blog posts.
3. Inaccessible buttons in email editor
There are buttons in the text editor (in email editor) that are hidden by the textarea. And they are necessary.
They are responsible for inserting tags and properties (variables like “name” or “address”) inside the text. It is possible to insert them manually, but you need to know exactly what you are doing.
I told Klaviyo about this problem about 4 months before writing this post, but they still didn’t fix it. See what I mean below.
4. Responsive but inexperienced technical support
During my struggles with Klaviyo, I had to contact their technical support numerous times. Even though there was no problem with scheduling meetings with them, they didn’t help me practically at all.
Let me give you an example.
After I came across the problems with missing order data I naturally asked Klavio’s support for help.
During a web conference with screen sharing session I was told how to send this data to Klaviyo with a custom made script.
It took me a day of work, but I made this script. And it worked. Well… kind of.
It sent full order’s data when the order was made via bank transfer, cod and when it was created in the admin panel.
Unfortunately… Klaviyo’s systems recognized this data only as an event – not as an order. And, as it turns out this is necessary for Klaviyo to see changes of order statuses.
This one single case wasted me a day’s work because Klaviyo’s technicians told me to do something they didn’t know if it would work.
What is your experience with Klaviyo for WooCommerce?
If you think that I’ve missed something or maybe some of the things I mentioned are already solved, please comment.