Shopify Unite Recap

It’s a lazy Easter Sunday afternoon down in Monterey, CA, and I think I’ve finally recovered enough from a hectic week in San Francisco to get my thoughts together about Shopify’s first-ever conference, Unite.

To help that process, I’ve put together this post recapping the major feature announcements (there were quite a few of them), and trying to give some sort of analysis on what they might mean for developers and merchants. I’ll also give my take on the conference itself – spoiler alert: awesome.

This is probably going to be most useful for developers and designers already working with Shopify, but if you’re a merchant you might find something in here that sparks an idea on how the new features might help your business. If it does – let me know about it!

Proof I was there.

Because this has accidentally ended up being a 5,000-word post, here’s the table of contents:


Pre-Conference

I flew in to SF the Friday before the conference with the goal of having some time to recover from the flight and get some sleep before the conference kicked off on Tuesday. I miserably failed at that, having underestimated how many people I knew in SF I was keen to catch up with, and how efficient my fellow Shopify developers and Airbnb-mates Rick and Dave were at keeping a beer or tequila in hand.

The days before the official start of the conference on Monday night were filled with coffee dates with clients, wandering around San Franscisco’s hills, hitting up a couple of nice restaurants and bars, and generally having a good time.

The Monday before conference kickoff I was lucky enough to be invited to a dinner with a number of other Partners and the Shopify executive; highlights included being able to photograph Josh Highland’s Shopify tattoo at close range and have a Shopify team lead recognise me from a Shopify Javascript workaround I wrote about years ago. Oh, the steak and wine was pretty good too.

The dinner (and from what I heard, the other Partner meetups that Shopify ran around the city) was a great way to meet a lot of people – both Shopifolk and other Partners – in the flesh. Overall, this was the most interesting and valuable part of the conference for me – being able to meet people I’d known for ages via the internet and just talk about Shopify for hours. Doing that in general social conversion in Sweden doesn’t usually go down that well.

Logistics

In another life, I helped organise large conferences for swathes of IT teachers, so I have some idea of how tricky running a conference smoothly can be. Shopify brought in some pros for the running of Unite, and it showed – everything ran really smoothly, from the scheduling to the tech to the staff. The catering was great, shuttle buses ran efficiently, you could jump between tracks without too much difficulty.

The choice of San Francisco was a bit interesting for a company that proudly proclaims its Canadian heritage, but I can understand the appeal of (a) the weather and (b) putting your conference in the heart of the tech world to let everyone know that you’ve “made it”. The downside is that SF is an expensive city for attendees - will be interesting to see whether Unite sticks around for next year (I’m assuming there’ll be a next year - all signs point to yes) or if they’ll move to Canada or a more conference-friendly city like Las Vegas.

I was lucky enough find an Airbnb in SoMa to shack up with a couple of other Shopify devs that was pretty close to the “official” Shopify hotels, which worked out well in terms of price and company. SoMa around Market and 6th was definitely showcased the extremes of San Francisco – the 2 hour line for Dotti’s (a popular brunch place) winding past homeless people in the street.

Keynotes

Day One kicked off with the keynotes – Harley and Tobi up front with the “big picture” stuff, followed by various team leads with the headline feature announcements. The keynotes were recorded, and I believe they’ll be available shortly from the livestream page, so I won’t recap them in any detail.

The talks from Harley and Tobi themselves weren’t anything unexpected, but it was still really energising to see them in the flesh and hear what I have to believe is genuine enthusiasm for the company’s future. There was an interesting twist just before the conference with a rumour floating around that Google was interested in buying Shopify, but based on the keynote content and what I could extract from Shopify insiders that doesn’t seem to be in line with Tobi’s vision for the company.

It was really cool to hear about the various success stories different partners have had building on Shopify. A new goal for Disco – get up on the keynote slides next year :).

The other keynote announcements and my thoughts on them are covered in the sections below.

Application Development

As I’m primarily involved in application development for Shopify these days, this was the track that interested me most and the track that I spent the most time on. This was also where most of the new features were focused.

The Script Editor

What it is

Write custom Ruby scripts that will be hosted and run by Shopify, in order to provide stores with custom server-side functionality.

What it can be used for

Applying discount campaigns to your cart (eg Buy One, Get One Free or Tiered Pricing) without any applications or hackery, and affecting the cart at the fundamental Shopify-side level. Currently only available for cart manipulation (ie, discounts) but will soon be available for Taxes and Shipping. Shopify Plus only.

Good news

  • Great for merchants, especially ones suffering from integration issues between their discount / campaign apps and other systems like shipping or fulfillment apps;
  • Great for Partners and developers with Ruby experience.

Bad news

  • For anyone who runs a Buy One Get One Free or custom Discounts app;
  • Does require Ruby programming knowledge to write and customise the scripts, rather than having a merchant-friendly UI. This could change, but in the meantime if you run a Plus store and want to implement some scripts, get in touch;
  • For merchants not on Shopify Plus who got excited about it before learning they couldn’t use it.

Analysis

Disco was lucky enough to be in on the beta program for the Script Editor, working with Californian retailer Evy’s Tree to run a number of “Buy X, get Y% off” campaigns. I’ve got a more detailed case study in the pipeline, but the bottom line was that scripts was a huge success for them, not only giving them more flexibility than the apps they were using, but eliminating all of the problems they were seeing with apps like ShipStation as a result of the hacky way those discount apps needed to work.

There have definitely been grumbles that this feature isn’t available to non-Plus merchants. Some have suggested that it will be opened up across all plan levels in the near future, although I haven’t seen anything myself confirming that. I’d actually be a bit surprised if they did open it up, as the number of features available exclusively to Plus merchants has been dwindling a little bit of late, and Scripts is definitely something that it going to be most useful to larger volume sellers.

Overall, I’m very positive on Scripts and look forward to seeing what will be possible once it expands outside of cart manipulation.

Sales Channel SDK and the Checkout API

What it is

The Channels SDK allows developers to use the same APIs Shopify used to build the Facebook, Twitter and Pinterest channels to open up Shopify to more platforms. The Checkout API is part of that, and basically makes all of the functionality Shopify uses in its checkout flow available for use via the API.

What it can be used for

The Channels SDK launched at Unite with three new channels (EBates, Wanelo and Houzz). The SDK is restricted-access for now (I’m on the waiting list) but once you get your hands on it, it’s possible to build a checkout that ties back to Shopify pretty much anywhere.

Good news

  • Makes Shopify even more viable as a merchant’s “control center”, especially if they’re established on another platform or sales channel;
  • Checkout API allows merchants to build totally custom checkout experiences;
  • For app developers - getting into the store early with a popular channel could be a ticket to success!

Bad news

  • May be other limitations or gremlins lurking in the yet-to-be-released documentation;
  • Checkout API gives you the ability to capture credit card information to be vaulted with Shopify, but doesn’t give any guidelines around the security implications of this or give guidance on PCI compliance requirements. Something for developers to watch out for.

Analysis

This was the announcement I’m most excited for (and not only because it potentially solves a major problem for a client project in the works at the moment). There are a lot of interesting possibilities for the Channels SDK (in-game purchases, SMS-powered flash sales, vending machines…) and the Checkout API should let us developers create some pretty funky custom checkout experiences.

One thing I know a lot of merchants will be disappointed in is that while the Checkouts API allows you to use Shopify’s PCI-compliant servers to vault and tokenize customer credit cards, it does not allow you to reuse that token at a later date (so no one-click purchases or “native” subscriptions just yet). However, I did follow up with the Checkouts team and they’ve assured me this is on the roadmap for v2 (no timeline).

It will be interesting to see whether merchants can find success in these custom channels, as most merchants I’ve spoken to have seen limited revenue from the existing social channels.

That could be a result of the inherent limitations of social for ecommerce at the moment, or simply that merchants don’t have the time to work those channels in addition to their online store. So while more channels doesn’t necessarily equal more success, it’ll be interesting to see what areas open up.

Analytics API

What it is

Gives you access to all of the data Shopify’s storing in order to generate their dashboard reports, and introduces ShopifyQL - a new language you can use to query that data.

What it can be used for

Building custom views of data like visits, sessions, purchases. For example, an application might use this to add a dashboard showing the impact their app has had on conversions over the last few days.

Good news

  • If you have an application that really does make a positive difference to a store, you can now throw that in the merchant’s face so they know about it.

Bad news

  • There’s no way to store custom event data, so (for example) if you wanted to know how strongly correlated an action like clicking a particular button was with conversions, you’re out of luck.
  • The API is front-end only, meaning if you’d like to couple the queried data with data from your own application, you’ll have to do that work in Javascript in your application’s front end.

Analysis

Even though I was present for the “deep dive” session on the Analytics API, I can’t speak too much to this. The main reason for that is that I can’t think of a really big use case just yet apart from maybe displaying your application’s impact on a merchant’s store. I’m sure there’s something here that more analytic-focused applications will love - let me know if you have a good use case for this!

Billing API

What it is

Lets application developers charge merchants based on usage, rather than with a one-off charge or recurring monthly fee.

What it can be used for

If your application’s business model would work better if you can charge per action (eg per email sent, per order handled, et cetera), now you can do that. Merchants authorise a “capped” amount per month, you let Shopify know about their usage over than month, and Shopify charges the merchant.

Good news

  • Something that a lot of application developers have been after for a while, and one of the big reasons to organise billing outside of the Shopify API at the moment.

Bad news

  • I suspect that many applications might actually lose revenue by switching to this model. Obviously, it’ll be their choice to switch – the other billing models will remain – but there may be more merchant pressure to offer this option where it makes sense.

Analysis

I suspect this was mostly introduced to support the Channels SDK, where I can imagine a common use case will be to charge a merchant a percentage or flat fee of every sale that comes through a custom channel.

It does mean that app developers can now really offer better “value-based” pricing tiers, as instead of picking 2-3 fixed pricing levels based on usage, you can truly adapt the cost to the merchant to the level of value being provided.

Tax Service API

What it is

Allows you to write applications that return tax rates in a similar way to the way the Carrier Service API currently works.

What it can be used for

Well… returning custom tax rates, based on the contents of an order. See below for some potential ideas.

Good news

  • Probably some nice use cases for bigger merchants.

Bad news

  • Reading or thinking about tax may cause you to fall asleep suddenly.

Analysis

There wasn’t really a lot of hype about this API (unsurprising considering it has the word “tax” in the title), but I can see it solving some big issues for large merchants who ship worldwide and have to deal with a lot of different and complex tax regulation, or are shipping inside the US and have different nexus status in each state (or county… US sales tax is a mess).

There’s probably also something here for merchants shipping to places like the EU where customs duties are often payable by the recipient before they can pick up their package.

Front End Development

Much to my disappointment, I missed almost all of the FED track, due to spending most of my time on the application track and/or talking people’s ear off. I did grill a few people about the details, and have based the following on that plus the documentation that’s available, but bear in mind this is pretty second hand.

Store Editor 2.0

What it is

Extends Liquid to support “sections” and “blocks” – components that make it easier to build composable, reusable parts of themes and also provide a much smoother editing and configuration experience for merchants.

What it can be used for

You’re not necessarily going to see a radical change in the way your develop your themes, but merchants are going to find it a lot easier to customise the themes that you build. Instead of having one giant slab of theme settings they need to work through, the sections/blocks paradigm means that merchants can drill down on particular parts of their theme and have the relevant settings appear right there in the side panel.

Good news

  • Merchants are going to love the ability to customise their theme in a much more intuitive and visual way, and with less digging around for settings.
  • Could encourage theme developers to start writing their themes in a much more component-oriented fashion, leading to better reusability across themes.

Bad news

  • I heard quite a few grumblings from theme developers about the work that will be needed to convert their existing themes over to the new system. While they have a few months of lead time and using the new system won’t be mandatory for a while, once merchants get a taste of the new editor style I imagine it will become de rigueur for all themes.

Analysis

This is Shopify striking back at other platforms like Squarespace which have historically had a more user-friendly UI when it came to customising your site without having to dig into code yourself or hire a designer. While I don’t think this change will quite get Shopify to the same level of “drag and drop” when it comes to your store’s front end, I don’t know whether that’s necessarily a bad thing.

I found some of the complaints from the theme developer side of the camp to be a bit surprising – after all, Shopify’s primary responsibility is to its merchants and this is going to be a big win for them.

JS Buy SDK

What it is

Extends the existing Buy Button channel by providing a fully featured Javascript library.

What it can be used for

Building very customisable “Buy” buttons and product selection UIs on sites outside of Shopify.

Good news

  • More flexibility for anyone wanting to add buy functionality to the web without switching over to a full-blown Shopify store.

Bad news

  • None that I can think of!

Analysis

This is a pretty logical extension of the existing Buy Button functionality, but will definitely make it more appealing to people wanting to properly integrate buy buttons on their site in a way that’s dynamic and perfectly slots into their existing site’s design.

The fact that you can make particular products only visible through the Buy Button channel raises some interesting possibilities for merchants looking to do things like have a wholesale/retail split. For example, we’re currently working with a client that runs a primarily wholesale business but has been able to offer some of the products at a retail price solely through the Buy Button channel.

iOS and Android Buy SDK

What it is

Commerce-focused User Interface kits for both iOS and Android mobile platforms.

What it can be used for

Allows developers to more quickly build native mobile applications supporting commerce transactions.

Good news

  • Looks like it’ll be a big time-saver for native app developers.

Bad news

  • As per my analysis below, I’m yet to see a convincing argument in general for native apps in commerce. My concern is that pushing native apps may distract merchants from the more important stuff within their business, or cause them to spend money on native apps (they ain’t cheap) which could be better directed into my pocket toward their web channels.

Analysis

I experimented with XCode once in college, but I don’t do any day-to-day work with native mobile applications, so I don’t feel qualified to opine on this announcement.

I’m quite interested in how native mobile apps go with commerce sites – as someone who sits pretty firmly on the “open web is generally better than a downloaded app” side of the fence, I’ve always been a bit skeptical on the value a native app brings a commerce brand. It does seem to be only useful for large brands (eg ASOS) where the customer knows in advance they’re buying everything directly from you, and come back often enough that they care about having your app on their phone.

Business Strategy

Despite ducking in to a couple of sessions, this is the track I got the least information about. My impression is that it was mostly a Shopify Plus push – clueing partners in to the advantages of Plus and how to sell it to potential customers. Most likely useful stuff if you weren’t familiar with Plus, but not that interesting for people already working with the enterprise level solution.

One of the key complaints I heard levied at the Plus team during the Q&As here was about the lack of roadmapping and transparency around the Plus platform, which is something that I can definitely relate to. The current inability to give a solid idea of costs or feature roadmaps while talking to clients about Plus really does hinder Partners in doing an effective sales job on the platform.

It feels like Unite was a big leap forward in terms of Shopify sharing their vision and plans for the platform’s development – I really hope that that continues throughout the year and isn’t just a once-a-year thing.

Miscellaneous

In addition to the tracks, there were a couple of extras I thought were worth mentioning:

VR Stand

Head of Shopify VR and fellow one-time Swedish resident Daniel Beauchamp had put together a really incredible stand showing the possibilities of virtual reality-powered commerce. I’ve got to say – their full-body VR demo was freaking awesome. If you ever get the chance to hop into one of these things, take it!

Unite Store

What would a Shopify conference be without some sort of store? All attendees scored a $100 gift card which could be used to purchase merch at a physical store set up in the middle of the lounge area. Was a nice twist on the standard conference showbag – I picked up a MVMT watch and a Unite tee.

Office Hours

While Day 2 was definitely a little lower intensity than Day 1 (maybe something to do with the afterparty the night before), one of the nice things was being able to sit down with a couple of the devs from various parts of the Shopify juggernaut and chat about specific implementation gripes and discuss possible solutions.

Wrapup

That’s probably more than enough waffle from me about Unite. Overall, I was really impressed and it’ll definitely be a fixture on my schedule assuming they keep it around for the years to come.

If you have a specific question for me about my impressions of the conference, if I got something wrong, or you’ve got something you’re excited to share about the conference – let me know!