Success!

#103 Using Shopify Flow To Streamline Operations Of Shopify Plus Merchants | Gavin Ballard

In this episode, I get a chance to sit down with Gavin Ballard, the CEO of Disco Labs. Gavin works exclusively with Shopify Plus stores doing backend development and integration work.

He's done some really interesting work in the past, including building subscriptions in the native Shopify checkout 2 years ago before any of the recent APIs were released using a custom payment gateway.

One of the tools that he uses frequently is Shopify Flow. In this episode, we dive into some use cases for Shopify Flow that any Shopify Plus stores can use.

Some of the use cases that we look at are:

  • Low Stock Notification

  • Auto-Capture Low Risk Orders: Leave higher risk orders uncaptured to reduce chargeback risk

  • Flag Special Orders: Identify special orders (eg expedited shipping) and tag those orders + notify warehouse

  • Basic Loyalty System: Detect customer spend after order and apply a loyalty tag

  • More Advanced Loyalty System (demonstrates Flow connection with custom app)

  • Send payment reminder if Net 30 order not paid on time (requires Trickle)

  • Pay Deposit for Item, Add Balance and Send Invoice (requires Trickle): Neat little implementation using Shopify's new order editing functionality

You can find Gavin on Twitter: https://twitter.com/gavinballard

Transcript
0:00:00.000,0:00:04.160
and often just in doing that we we

0:00:02.159,0:00:06.000
surface a couple of things we're like oh

0:00:04.160,0:00:07.919
have you considered using flow for this

0:00:06.000,0:00:09.840
so um

0:00:07.919,0:00:11.519
yeah i think it really helps having an

0:00:09.840,0:00:12.719
external third parties look at some of

0:00:11.519,0:00:15.679
the processes with

0:00:12.719,0:00:16.640
a bit of an eye to what can be automated

0:00:15.679,0:00:18.400
and sort of

0:00:16.640,0:00:19.840
advocating hey did you know you can do

0:00:18.400,0:00:31.410
this much easier

0:00:19.840,0:00:36.409
much more easily right

0:00:31.410,0:00:36.409
[Music]

0:00:37.280,0:00:40.399
and we're live gavin how you doing my

0:00:39.440,0:00:42.879
friend i'm

0:00:40.399,0:00:45.600
very well thank you how you doing i'm

0:00:42.879,0:00:47.360
hanging in there we've had some

0:00:45.600,0:00:49.039
technical issues here on the recording

0:00:47.360,0:00:51.520
but i think we're in good shape

0:00:49.039,0:00:52.160
uh it's really cool to finally uh chat

0:00:51.520,0:00:55.440
with you

0:00:52.160,0:00:56.000
um we're gonna dig into shopify flow and

0:00:55.440,0:00:58.559
some of the

0:00:56.000,0:01:00.480
interesting stuff that you you guys do

0:00:58.559,0:01:02.079
there at disco labs

0:01:00.480,0:01:04.320
um how do you introduce yourself when

0:01:02.079,0:01:06.080
you're talking to potential clients

0:01:04.320,0:01:07.439
you know merchants what type of work do

0:01:06.080,0:01:10.400
you guys focus on

0:01:07.439,0:01:12.320
yeah so we're a shopify plus focused

0:01:10.400,0:01:14.479
agency and we're also really focused

0:01:12.320,0:01:15.680
on customer map development for

0:01:14.479,0:01:18.799
merchants um so

0:01:15.680,0:01:21.280
we don't do design we don't do um

0:01:18.799,0:01:22.240
marketing we don't do theme dev or

0:01:21.280,0:01:23.759
anything like that

0:01:22.240,0:01:26.240
we're purely focused on the sort of the

0:01:23.759,0:01:28.640
back end thing so building systems to

0:01:26.240,0:01:30.560
to help merchants hook their shopify

0:01:28.640,0:01:32.400
stores up to other systems or develop

0:01:30.560,0:01:34.159
bespoke features for their customers

0:01:32.400,0:01:36.720
things like that

0:01:34.159,0:01:38.960
yep yeah that makes you guys you know

0:01:36.720,0:01:40.400
pretty unique because a lot of

0:01:38.960,0:01:41.920
yeah i kind of come from the magento

0:01:40.400,0:01:43.759
world and a lot of what makes shopify

0:01:41.920,0:01:44.720
unique is there's a lot of the back end

0:01:43.759,0:01:46.479
stuff that

0:01:44.720,0:01:48.240
you don't have to worry about as much

0:01:46.479,0:01:50.640
that's handled really well

0:01:48.240,0:01:51.280
um but i think you i remember when i saw

0:01:50.640,0:01:54.479
your site

0:01:51.280,0:01:56.560
recently and you know it's like a back

0:01:54.479,0:01:57.920
you're like a back end focused agency

0:01:56.560,0:02:00.159
and i think you might be

0:01:57.920,0:02:01.840
are you guys like the only one in that

0:02:00.159,0:02:03.680
in that category i think you might be

0:02:01.840,0:02:04.880
um as far as i know we're kind of the

0:02:03.680,0:02:07.119
only ones that are sort of

0:02:04.880,0:02:08.000
very exclusively focused on that um so

0:02:07.119,0:02:11.599
there are lots of other

0:02:08.000,0:02:13.840
shopify agencies that sort of aim to

0:02:11.599,0:02:14.720
offer the whole kit in caboodle um and

0:02:13.840,0:02:16.720
certainly lots of

0:02:14.720,0:02:18.400
great agencies out there that can do app

0:02:16.720,0:02:19.760
development as well

0:02:18.400,0:02:21.840
but i think we're the only ones that are

0:02:19.760,0:02:22.480
sort of just exclusively focused on that

0:02:21.840,0:02:25.280
and so

0:02:22.480,0:02:27.440
like our team is very deep knowledge

0:02:25.280,0:02:29.040
just on the app dev stuff

0:02:27.440,0:02:30.400
and we found that to be pretty good it

0:02:29.040,0:02:32.160
also means that we actually get to

0:02:30.400,0:02:34.879
partner with and work with a lot of

0:02:32.160,0:02:37.120
other agencies that

0:02:34.879,0:02:38.879
we have amazing design skills amazing

0:02:37.120,0:02:39.599
front-end dev skills but maybe just

0:02:38.879,0:02:41.599
don't have

0:02:39.599,0:02:43.120
um the the app development in-house and

0:02:41.599,0:02:44.480
so we get to partner with them and work

0:02:43.120,0:02:45.680
with them so we get to work with a lot

0:02:44.480,0:02:48.000
of different different projects

0:02:45.680,0:02:49.760
different agencies which is really nice

0:02:48.000,0:02:51.360
right right right yeah i was talking to

0:02:49.760,0:02:52.879
a buddy of mine that's done some work

0:02:51.360,0:02:55.920
with you guys and on uh

0:02:52.879,0:02:56.800
on a um on their checkout and doing like

0:02:55.920,0:02:59.200
a native

0:02:56.800,0:03:00.000
subscriptions via like a native checkout

0:02:59.200,0:03:01.360
before

0:03:00.000,0:03:03.280
all of the new stuff that's been

0:03:01.360,0:03:04.239
released with the checkout api and you

0:03:03.280,0:03:07.280
guys had some

0:03:04.239,0:03:09.920
unique unique ways of making that work

0:03:07.280,0:03:10.480
um and so we wanted to dig into a bunch

0:03:09.920,0:03:12.959
of different

0:03:10.480,0:03:14.239
interesting shopify flow use cases that

0:03:12.959,0:03:16.560
you guys have done

0:03:14.239,0:03:18.400
um so we can jump into a screen share

0:03:16.560,0:03:19.920
whenever you want or kind of stay high

0:03:18.400,0:03:21.760
level but i know you had

0:03:19.920,0:03:23.680
a number of kind of interesting use

0:03:21.760,0:03:26.159
cases around flow

0:03:23.680,0:03:27.920
yeah sure um well maybe i can touch

0:03:26.159,0:03:29.280
first on the um

0:03:27.920,0:03:31.840
the the site that you're talking about

0:03:29.280,0:03:32.640
with the custom subscription stuff and

0:03:31.840,0:03:36.239
then we can

0:03:32.640,0:03:37.760
dive into flow a little bit um so

0:03:36.239,0:03:40.080
because we've been working with shopify

0:03:37.760,0:03:42.879
plus merchants for quite a few years

0:03:40.080,0:03:43.200
um we've seen some of their pain points

0:03:42.879,0:03:44.640
and

0:03:43.200,0:03:46.959
one of the big ones for a number of

0:03:44.640,0:03:49.760
years has been a lack of

0:03:46.959,0:03:50.480
subscription support natively inside of

0:03:49.760,0:03:53.439
shopify

0:03:50.480,0:03:54.000
um so you've got your apps that that do

0:03:53.439,0:03:56.959
um

0:03:54.000,0:03:58.400
or did that and still do recharge bold

0:03:56.959,0:03:58.879
subscriptions that sort of stuff but

0:03:58.400,0:04:00.879
they

0:03:58.879,0:04:03.040
took you out to an external checkout um

0:04:00.879,0:04:04.000
so travis obviously been really keen to

0:04:03.040,0:04:05.760
get everything back

0:04:04.000,0:04:07.519
into the native the native shopify

0:04:05.760,0:04:09.200
checkout but um

0:04:07.519,0:04:10.879
some of the work we were doing with with

0:04:09.200,0:04:11.519
clients um one of our clients here in

0:04:10.879,0:04:14.400
australia

0:04:11.519,0:04:15.200
youfoods who's a food delivery service

0:04:14.400,0:04:18.079
who

0:04:15.200,0:04:18.959
you know they deliver a box of meals to

0:04:18.079,0:04:22.400
your doorstep

0:04:18.959,0:04:24.560
every every couple of weeks obviously

0:04:22.400,0:04:26.400
subscription for them was a really big

0:04:24.560,0:04:28.479
part of their business but

0:04:26.400,0:04:29.919
using an external checkout really wasn't

0:04:28.479,0:04:31.919
an option so

0:04:29.919,0:04:33.040
um it was i think about four years ago

0:04:31.919,0:04:34.880
we actually built a

0:04:33.040,0:04:36.639
native subscription solution for them

0:04:34.880,0:04:38.160
using the shopify checkout and as soon

0:04:36.639,0:04:40.000
as we built that we had a bunch of other

0:04:38.160,0:04:40.400
plus merchants coming to us saying hey

0:04:40.000,0:04:42.880
we

0:04:40.400,0:04:43.840
we really want that and that's when when

0:04:42.880,0:04:47.040
we started work

0:04:43.840,0:04:50.000
on submarine which is our um

0:04:47.040,0:04:50.960
bespoke platform for for tokenized

0:04:50.000,0:04:53.360
subscriptions

0:04:50.960,0:04:55.280
upsells that sort of stuff um so

0:04:53.360,0:04:56.639
designed very specifically at shopify

0:04:55.280,0:04:59.040
plus merchants

0:04:56.639,0:05:00.000
um and that sort of released a couple of

0:04:59.040,0:05:02.800
years ago

0:05:00.000,0:05:04.720
ahead of shopify adding its own native

0:05:02.800,0:05:06.400
subscription support um with its new

0:05:04.720,0:05:08.720
subscription apis which is

0:05:06.400,0:05:10.000
is great it's going to make that native

0:05:08.720,0:05:12.160
checkout experience

0:05:10.000,0:05:15.199
available to a lot more merchants in the

0:05:12.160,0:05:18.160
space which is really nice

0:05:15.199,0:05:19.440
where we sit is probably more for the

0:05:18.160,0:05:21.199
merchants that have

0:05:19.440,0:05:23.039
bespoke needs that aren't going to be

0:05:21.199,0:05:24.560
met by those subscription apis

0:05:23.039,0:05:26.400
they need to use a different payment

0:05:24.560,0:05:28.320
processor or they need a really custom

0:05:26.400,0:05:30.800
flow or they need to import tokens from

0:05:28.320,0:05:33.840
an external system something like that

0:05:30.800,0:05:37.360
um but yeah so as part of building that

0:05:33.840,0:05:39.440
app um we um we made a decision

0:05:37.360,0:05:41.199
early on that because we were just hope

0:05:39.440,0:05:41.680
targeting shopify plus merchants we

0:05:41.199,0:05:44.720
would

0:05:41.680,0:05:45.680
leverage as much shopify plus stuff as

0:05:44.720,0:05:47.759
possible

0:05:45.680,0:05:48.960
and um and one of those things is

0:05:47.759,0:05:51.600
shopify flow

0:05:48.960,0:05:52.320
um so their shopify pluses automation

0:05:51.600,0:05:54.000
tool

0:05:52.320,0:05:56.160
which is has a really nice workflow

0:05:54.000,0:05:59.360
builder um hooks into a lot of

0:05:56.160,0:06:01.440
key um shopify

0:05:59.360,0:06:02.880
features and events and and data and

0:06:01.440,0:06:05.680
that sort of stuff and we can

0:06:02.880,0:06:07.039
have a look at that in a second but we

0:06:05.680,0:06:07.680
made the decision that because that tool

0:06:07.039,0:06:10.400
is there

0:06:07.680,0:06:10.800
rather than our app doing a bunch of um

0:06:10.400,0:06:12.639
the

0:06:10.800,0:06:14.880
the work that we might otherwise be

0:06:12.639,0:06:16.479
doing so for example sending an email to

0:06:14.880,0:06:17.440
a customer when their subscription's

0:06:16.479,0:06:19.120
about to happen

0:06:17.440,0:06:21.360
um we actually just plug directly into

0:06:19.120,0:06:23.840
shopify flow and then that gives

0:06:21.360,0:06:26.880
our merchants the ability to add their

0:06:23.840,0:06:28.720
own custom logic insider flow

0:06:26.880,0:06:30.880
to decide when we're actually going to

0:06:28.720,0:06:33.600
send this email out

0:06:30.880,0:06:35.280
but it also allows them to plug it into

0:06:33.600,0:06:36.000
different email systems so whether

0:06:35.280,0:06:38.639
they're using

0:06:36.000,0:06:39.360
clavio or dot mailer or something like

0:06:38.639,0:06:42.160
that

0:06:39.360,0:06:44.080
both of those shopify apps have shopify

0:06:42.160,0:06:45.280
flow connectors so you can plug into

0:06:44.080,0:06:46.960
those and

0:06:45.280,0:06:48.560
we don't have people can use their

0:06:46.960,0:06:51.120
existing email systems without

0:06:48.560,0:06:52.319
us having to rebuild that um so we've

0:06:51.120,0:06:53.840
actually found that a really

0:06:52.319,0:06:55.520
nice way to cut down the development

0:06:53.840,0:06:56.960
work on our side

0:06:55.520,0:06:58.800
um when we're working with plus

0:06:56.960,0:07:00.479
merchants while giving them

0:06:58.800,0:07:02.080
the option of keeping their existing

0:07:00.479,0:07:04.400
tools and making things

0:07:02.080,0:07:05.840
just hook up and play nicely so that's

0:07:04.400,0:07:06.800
yeah that's been really nice from a dev

0:07:05.840,0:07:10.240
perspective

0:07:06.800,0:07:12.479
um the shopify flow integration

0:07:10.240,0:07:13.759
um yeah and yeah and so that probably

0:07:12.479,0:07:15.599
leads us into into

0:07:13.759,0:07:18.000
shopify flow itself which i don't know

0:07:15.599,0:07:20.800
if your audience wants the

0:07:18.000,0:07:22.000
the elevator pitch on flow or um if you

0:07:20.800,0:07:24.319
think they're all pretty

0:07:22.000,0:07:26.160
across it by now um actually well real

0:07:24.319,0:07:28.960
quick how did you do

0:07:26.160,0:07:29.759
the subscription uh subscript tokenized

0:07:28.960,0:07:31.520
stuff

0:07:29.759,0:07:33.440
in the native checkout like like high

0:07:31.520,0:07:36.240
level like how did that work

0:07:33.440,0:07:37.440
yeah um so because we've been around the

0:07:36.240,0:07:39.440
shopify ecosystem

0:07:37.440,0:07:41.039
for a while um i started working you

0:07:39.440,0:07:43.039
know i think it is

0:07:41.039,0:07:44.400
a decade ago now which is kind of scary

0:07:43.039,0:07:47.680
but um

0:07:44.400,0:07:48.720
we we've worked with a number of payment

0:07:47.680,0:07:52.319
gateway

0:07:48.720,0:07:55.840
uh integrations and so submarine the

0:07:52.319,0:07:58.639
the app is a combination of its own um

0:07:55.840,0:07:59.120
payment gateway and which we customize

0:07:58.639,0:08:01.520
and

0:07:59.120,0:08:02.879
for the merchant inside of the checkout

0:08:01.520,0:08:03.840
which again is something that's only

0:08:02.879,0:08:06.879
available for

0:08:03.840,0:08:08.560
for supply plus merchants um and then an

0:08:06.879,0:08:10.000
app on the back end so

0:08:08.560,0:08:12.479
customers are still going through the

0:08:10.000,0:08:13.039
native shopify checkout it plays nicely

0:08:12.479,0:08:15.919
with

0:08:13.039,0:08:17.759
um other shopify payment methods so you

0:08:15.919,0:08:19.360
we have merchants that use shopify

0:08:17.759,0:08:21.199
payments for all of their

0:08:19.360,0:08:22.639
one-time purchases but they'll swap over

0:08:21.199,0:08:24.400
to us when they need to use

0:08:22.639,0:08:26.319
subscription payments and things like

0:08:24.400,0:08:28.160
that um

0:08:26.319,0:08:29.759
yeah super high level that so is it just

0:08:28.160,0:08:31.120
like on the product level like you'll

0:08:29.759,0:08:32.880
have a product that's

0:08:31.120,0:08:34.719
has an attribute on it that's that the

0:08:32.880,0:08:36.800
system knows it's a it's a

0:08:34.719,0:08:38.159
monthly recurring it's a subscription

0:08:36.800,0:08:41.120
product and then

0:08:38.159,0:08:43.200
in the uh checkout you'll have some

0:08:41.120,0:08:45.200
logic to determine which

0:08:43.200,0:08:46.560
payment method to use based on kind of

0:08:45.200,0:08:49.200
the cart details

0:08:46.560,0:08:50.880
yeah but pretty much exactly um because

0:08:49.200,0:08:53.040
submarines are pretty bespoke

0:08:50.880,0:08:55.040
solution we we're working directly with

0:08:53.040,0:08:56.640
the merchants themselves to implement it

0:08:55.040,0:08:58.800
often with agencies that are doing all

0:08:56.640,0:09:00.959
of their front-end design and dev

0:08:58.800,0:09:02.880
um and so that means that if the

0:09:00.959,0:09:05.839
merchant wants to manage

0:09:02.880,0:09:07.519
how whether products are subscription

0:09:05.839,0:09:08.399
products or not with tags or with

0:09:07.519,0:09:10.240
metadata

0:09:08.399,0:09:12.720
or they want everything to be

0:09:10.240,0:09:16.720
subscribable all of that is is pretty

0:09:12.720,0:09:16.959
um doable it's a very flexible system

0:09:16.720,0:09:18.720
and

0:09:16.959,0:09:20.880
and really at the start of a project we

0:09:18.720,0:09:22.240
sit down with the merchant we say hey

0:09:20.880,0:09:24.160
you know what's going to be easiest for

0:09:22.240,0:09:24.959
you what do you want your business logic

0:09:24.160,0:09:27.120
to be and then

0:09:24.959,0:09:28.480
because it's a bespoke sort of thing

0:09:27.120,0:09:30.320
then we can

0:09:28.480,0:09:31.600
we can customize it for for them

0:09:30.320,0:09:33.760
specifically

0:09:31.600,0:09:35.200
um so it means it's not a one-click

0:09:33.760,0:09:37.519
install sort of solution but

0:09:35.200,0:09:39.200
um again we're there's going to be a lot

0:09:37.519,0:09:40.240
of one-click um solutions for

0:09:39.200,0:09:42.160
subscription stuff

0:09:40.240,0:09:43.279
for merchants um especially with the new

0:09:42.160,0:09:46.560
apis so

0:09:43.279,0:09:49.440
we're really focused on those um edge

0:09:46.560,0:09:50.000
edge cases for large merchants right

0:09:49.440,0:09:53.040
right

0:09:50.000,0:09:53.760
nice nice all right so elevator pitch

0:09:53.040,0:09:56.720
for flow

0:09:53.760,0:09:58.000
let's let's get that going um automation

0:09:56.720,0:09:59.680
tool i guess is the easiest

0:09:58.000,0:10:01.279
way to say it i think that's something

0:09:59.680,0:10:04.399
that's becoming a lot more common

0:10:01.279,0:10:05.279
across e-commerce platforms software in

0:10:04.399,0:10:08.800
general really

0:10:05.279,0:10:12.000
um so giving people the ability to

0:10:08.800,0:10:14.320
customize workflows within a tool

0:10:12.000,0:10:15.920
that doesn't require coding knowledge or

0:10:14.320,0:10:17.279
anything like that and just take some of

0:10:15.920,0:10:20.399
those

0:10:17.279,0:10:22.480
regular tasks off the plate people

0:10:20.399,0:10:23.440
who are using it or doing something

0:10:22.480,0:10:27.040
that's sort of

0:10:23.440,0:10:30.000
bespoke business logic for you so

0:10:27.040,0:10:31.440
i mean no code no no code the dream of

0:10:30.000,0:10:33.839
no code yeah i mean as

0:10:31.440,0:10:35.839
a developer um no code sounds scary to

0:10:33.839,0:10:37.360
me but

0:10:35.839,0:10:40.079
i i think there's plenty of code

0:10:37.360,0:10:42.560
involved in making no code work and

0:10:40.079,0:10:43.200
it is i think it's about um it's about

0:10:42.560,0:10:45.040
hitting

0:10:43.200,0:10:46.320
the low hanging fruit you know the stuff

0:10:45.040,0:10:48.079
that um

0:10:46.320,0:10:50.000
you want merchants to be able to do for

0:10:48.079,0:10:51.600
themselves rather than having to come to

0:10:50.000,0:10:54.160
you every time they want to

0:10:51.600,0:10:54.720
um set up a little task or automate

0:10:54.160,0:10:57.920
something

0:10:54.720,0:10:59.920
um and it lets developers focus on

0:10:57.920,0:11:01.920
bigger impacts more leverage sort of

0:10:59.920,0:11:05.040
stuff so i think it's it's a win

0:11:01.920,0:11:07.920
all round for everyone um

0:11:05.040,0:11:09.519
yeah so um shopify flows uh shopify's

0:11:07.920,0:11:12.320
addition to that kind of

0:11:09.519,0:11:13.680
concept um it's a it's a workflow tool

0:11:12.320,0:11:16.720
visual builder to say

0:11:13.680,0:11:19.200
if this happens then do this thing um

0:11:16.720,0:11:20.079
so pretty similar to what a lot of other

0:11:19.200,0:11:22.160
tools have

0:11:20.079,0:11:24.079
these days right um it's it's available

0:11:22.160,0:11:25.519
only for official flight plus merchants

0:11:24.079,0:11:27.440
so it's sort of targeted at those

0:11:25.519,0:11:28.800
those large merchants and is one of the

0:11:27.440,0:11:32.560
offerings that plus

0:11:28.800,0:11:35.920
has uh over the other um other platforms

0:11:32.560,0:11:37.040
um right and then there are also some uh

0:11:35.920,0:11:38.720
for other merchants they aren't

0:11:37.040,0:11:40.320
necessarily left out in the cold in the

0:11:38.720,0:11:42.640
shopify world there are

0:11:40.320,0:11:44.560
a number of other third-party apps that

0:11:42.640,0:11:46.720
that offer automation stuff

0:11:44.560,0:11:49.440
um some of them are sort of more

0:11:46.720,0:11:51.680
targeted towards developers others are

0:11:49.440,0:11:53.040
sort of trying to essentially replicate

0:11:51.680,0:11:55.440
a sort of graphical

0:11:53.040,0:11:56.880
workflow tool like flow but for all

0:11:55.440,0:11:59.200
shopify merchants

0:11:56.880,0:12:00.880
um so it's something that's available um

0:11:59.200,0:12:01.279
in one form or another to everyone on

0:12:00.880,0:12:04.480
the

0:12:01.279,0:12:06.000
on the shopify platform yeah one one

0:12:04.480,0:12:07.360
question i have and it might make sense

0:12:06.000,0:12:08.320
to answer this as we get into some of

0:12:07.360,0:12:11.040
the specific

0:12:08.320,0:12:12.639
nuts and bolts of the of the examples or

0:12:11.040,0:12:13.200
it might make sense more on a higher

0:12:12.639,0:12:14.800
level but

0:12:13.200,0:12:17.120
like when you look at the overall

0:12:14.800,0:12:19.920
landscape of some of these options for

0:12:17.120,0:12:21.279
automation there's flow there's mesa

0:12:19.920,0:12:24.720
mechanic

0:12:21.279,0:12:28.320
alloy which i saw recently um

0:12:24.720,0:12:30.160
what are like some of the strengths and

0:12:28.320,0:12:32.000
weaknesses of each

0:12:30.160,0:12:33.600
are there are like are there gaps in

0:12:32.000,0:12:33.920
what flow can do where another product

0:12:33.600,0:12:36.000
can

0:12:33.920,0:12:37.680
can fill that like what's kind of the

0:12:36.000,0:12:38.000
overall like overview of all these

0:12:37.680,0:12:41.040
different

0:12:38.000,0:12:42.880
options out there yeah um so

0:12:41.040,0:12:44.560
i'll speak to the ones that i know the

0:12:42.880,0:12:45.279
best first and then we can touch on the

0:12:44.560,0:12:48.320
other ones but

0:12:45.279,0:12:51.519
um so uh the the two

0:12:48.320,0:12:53.680
sort of automation tasks apps that that

0:12:51.519,0:12:54.560
i would say are my go-to for non-plus

0:12:53.680,0:12:58.480
stores

0:12:54.560,0:13:02.079
um are mechanic which is a really

0:12:58.480,0:13:04.720
thorough app that lets you

0:13:02.079,0:13:06.480
build workflow automation stuff and then

0:13:04.720,0:13:10.800
arrogato is another one

0:13:06.480,0:13:12.800
um so mechanic is very developer focused

0:13:10.800,0:13:14.560
um they do give you a lot of sort of

0:13:12.800,0:13:15.680
out-of-the-box workflows but the way

0:13:14.560,0:13:18.560
that you actually

0:13:15.680,0:13:19.440
implement all of it is by writing liquid

0:13:18.560,0:13:22.399
code

0:13:19.440,0:13:23.760
um so for some merchants who may be a

0:13:22.399,0:13:25.519
little more technical and uh

0:13:23.760,0:13:27.680
comfortable already with like editing

0:13:25.519,0:13:28.800
their theme in in shopify or and doing

0:13:27.680,0:13:31.519
some basic theme stuff

0:13:28.800,0:13:33.440
it may be accessible um but i think it's

0:13:31.519,0:13:36.480
really its target market is

0:13:33.440,0:13:39.120
super technical teams for merchants

0:13:36.480,0:13:40.560
and or agencies or freelancers working

0:13:39.120,0:13:42.240
with those merchants and

0:13:40.560,0:13:43.680
building out those flows but it is a

0:13:42.240,0:13:44.959
really powerful tool

0:13:43.680,0:13:48.079
for that but it's definitely more

0:13:44.959,0:13:51.760
technical uh technically focused

0:13:48.079,0:13:53.519
um arigato is is sort of like shopify

0:13:51.760,0:13:54.639
flow for non-plus merchants it's got a

0:13:53.519,0:13:56.880
similar graphical

0:13:54.639,0:13:58.399
interface where you have trigger events

0:13:56.880,0:14:00.560
you can set up some

0:13:58.399,0:14:02.560
logic for your workflows and plug that

0:14:00.560,0:14:05.440
into other things um

0:14:02.560,0:14:06.800
and it's um yeah it's pretty well well

0:14:05.440,0:14:08.959
featured it probably covers

0:14:06.800,0:14:10.959
um a significant amount of what what

0:14:08.959,0:14:13.040
flow has for plus merchants

0:14:10.959,0:14:14.880
um once you're a plus merchants i think

0:14:13.040,0:14:15.920
you know you've got flow there for free

0:14:14.880,0:14:17.760
so you

0:14:15.920,0:14:19.519
probably would lean towards using that

0:14:17.760,0:14:21.279
rather than a third-party tool

0:14:19.519,0:14:23.360
um but for merchants where that's not an

0:14:21.279,0:14:26.639
option then then i think arigato's

0:14:23.360,0:14:29.440
really really handy um and

0:14:26.639,0:14:30.000
and and both of those tools are very

0:14:29.440,0:14:33.120
shopify

0:14:30.000,0:14:33.760
focused um the other two that you you

0:14:33.120,0:14:36.959
mentioned

0:14:33.760,0:14:38.720
um alloy and and mesa so alloy is more

0:14:36.959,0:14:41.199
of a general

0:14:38.720,0:14:42.079
e-commerce automation tool so it's

0:14:41.199,0:14:44.000
certainly not

0:14:42.079,0:14:45.519
focused just on shopify but it is

0:14:44.000,0:14:48.079
focused on the e-commerce

0:14:45.519,0:14:48.959
domain um and again that it sort of it

0:14:48.079,0:14:51.120
sits out shop

0:14:48.959,0:14:52.480
outside of shopify shopify as one of its

0:14:51.120,0:14:55.440
inputs and outputs

0:14:52.480,0:14:56.079
um right but yeah it definitely has a

0:14:55.440,0:14:58.079
really nice

0:14:56.079,0:14:59.680
interface for putting together that um

0:14:58.079,0:15:02.639
those sorts of workflows

0:14:59.680,0:15:03.519
and plugging into other external systems

0:15:02.639,0:15:06.079
so i think if

0:15:03.519,0:15:07.600
if shopify was a smaller part of the

0:15:06.079,0:15:10.399
larger ecommerce

0:15:07.600,0:15:12.240
operation then ally certainly looks like

0:15:10.399,0:15:14.000
it'd be a good tool to sort of bridge

0:15:12.240,0:15:17.680
the gap between all of those different

0:15:14.000,0:15:19.360
different systems um and then mazer

0:15:17.680,0:15:21.040
i have to say i don't have a lot of

0:15:19.360,0:15:24.800
experience with it um

0:15:21.040,0:15:28.320
but it again i think

0:15:24.800,0:15:31.360
looks a bit like zapier for um

0:15:28.320,0:15:32.480
for e-commerce and shopify in in

0:15:31.360,0:15:35.440
particular where

0:15:32.480,0:15:36.320
you have some pre-defined tasks and

0:15:35.440,0:15:39.120
operations

0:15:36.320,0:15:40.079
and you can plug them into shopify and

0:15:39.120,0:15:43.199
then your external

0:15:40.079,0:15:45.040
systems um so i guess they're all

0:15:43.199,0:15:46.639
at the end of the day trying to to get

0:15:45.040,0:15:49.839
something um

0:15:46.639,0:15:50.399
or trying to achieve the same thing um i

0:15:49.839,0:15:52.560
think it's

0:15:50.399,0:15:54.399
the target market and target use cases

0:15:52.560,0:15:56.560
slightly differ so yeah i'd say

0:15:54.399,0:15:57.519
mechanic and mesa are sort of more tech

0:15:56.560,0:15:59.839
more focused towards

0:15:57.519,0:16:00.800
the technical teams and devs um whereas

0:15:59.839,0:16:03.839
alloy and

0:16:00.800,0:16:06.560
and um arigato are sort of

0:16:03.839,0:16:07.440
more out of the box i'm a merchant with

0:16:06.560,0:16:09.920
who's

0:16:07.440,0:16:12.560
you know savvy but not a coder so i can

0:16:09.920,0:16:15.440
put that sort of stuff together myself

0:16:12.560,0:16:17.600
right nice all right cool well yeah man

0:16:15.440,0:16:20.560
let's jump into some of these use cases

0:16:17.600,0:16:22.800
yeah sure um so i will just share my

0:16:20.560,0:16:26.079
screen with you

0:16:22.800,0:16:26.560
and we can see what flow actually looks

0:16:26.079,0:16:29.040
like

0:16:26.560,0:16:30.720
in the flesh this is actually the first

0:16:29.040,0:16:32.800
time i've i've seen other than like some

0:16:30.720,0:16:36.079
rough screenshots

0:16:32.800,0:16:38.240
um back from like a long time ago so i'm

0:16:36.079,0:16:39.199
i'm excited ah cool all right we'll give

0:16:38.240,0:16:42.160
you the

0:16:39.199,0:16:42.639
the quick tour so um this is our job

0:16:42.160,0:16:46.320
advice

0:16:42.639,0:16:49.279
spectacles here um

0:16:46.320,0:16:51.120
the shopify admin um shopify flow is

0:16:49.279,0:16:53.519
installed and operates just like any

0:16:51.120,0:16:55.360
other app on a shopify plus store so you

0:16:53.519,0:16:57.120
get it into the apps into the app

0:16:55.360,0:17:00.320
section and you open up flow

0:16:57.120,0:17:01.199
um and flow has a bunch of workflows

0:17:00.320,0:17:03.600
that you define

0:17:01.199,0:17:04.559
so um to perform different actions and

0:17:03.600,0:17:06.400
you'll see

0:17:04.559,0:17:07.760
what that is a bit more concretely in a

0:17:06.400,0:17:10.000
second um

0:17:07.760,0:17:11.360
then one of the useful things that flow

0:17:10.000,0:17:15.839
does have it has a built-in

0:17:11.360,0:17:18.240
templates tool so they have

0:17:15.839,0:17:19.600
a whole bunch of existing templates that

0:17:18.240,0:17:22.799
other people have created that

0:17:19.600,0:17:24.400
do common actions so just scrolling

0:17:22.799,0:17:27.120
through that you can sort of

0:17:24.400,0:17:27.679
get a sense of what they are and they

0:17:27.120,0:17:33.200
include

0:17:27.679,0:17:36.000
not only shopify focused actions so

0:17:33.200,0:17:37.760
for example this one here prompting

0:17:36.000,0:17:38.640
customer reach out for high value

0:17:37.760,0:17:42.559
returns

0:17:38.640,0:17:45.039
so that'll be a workflow that will be

0:17:42.559,0:17:46.480
looking at returns that are coming in

0:17:45.039,0:17:48.080
and then

0:17:46.480,0:17:49.919
sending out an email to your staff

0:17:48.080,0:17:52.720
member to

0:17:49.919,0:17:53.280
um to flag hey this was a high value

0:17:52.720,0:17:54.720
return

0:17:53.280,0:17:56.880
you might want to look into that so

0:17:54.720,0:17:58.080
that's by the way just sorry real quick

0:17:56.880,0:17:59.679
could you bump up your

0:17:58.080,0:18:01.600
font size a little bit just in case

0:17:59.679,0:18:03.760
people are like looking at this on their

0:18:01.600,0:18:04.880
on their phone or something like that is

0:18:03.760,0:18:06.400
that a bit better

0:18:04.880,0:18:08.080
a little better yeah that's that's

0:18:06.400,0:18:09.600
definitely a little better great awesome

0:18:08.080,0:18:14.000
sorry about that yeah no worries

0:18:09.600,0:18:16.960
um so yeah so that's a very um

0:18:14.000,0:18:18.880
internal to shopify sort of action but

0:18:16.960,0:18:19.440
then one of the nice things about flow

0:18:18.880,0:18:21.919
is that

0:18:19.440,0:18:22.880
as a shopify app developer you can build

0:18:21.919,0:18:25.440
a shop

0:18:22.880,0:18:26.799
shopify flow connector into your app um

0:18:25.440,0:18:27.919
and then from the second that you've

0:18:26.799,0:18:30.480
done that

0:18:27.919,0:18:31.200
inside of shopify flow the actions and

0:18:30.480,0:18:34.160
the triggers

0:18:31.200,0:18:35.600
that your app exposes will be visible in

0:18:34.160,0:18:40.000
that workflow builder

0:18:35.600,0:18:42.559
um so it does make it really easy to

0:18:40.000,0:18:43.600
to plug your two apps that may not talk

0:18:42.559,0:18:46.880
to each other

0:18:43.600,0:18:48.480
um together with a sort of this flow

0:18:46.880,0:18:50.880
in that case is working as kind of a

0:18:48.480,0:18:52.799
standardized interface between two apps

0:18:50.880,0:18:54.880
um without those two apps necessarily

0:18:52.799,0:18:56.640
having to actually coordinate or know

0:18:54.880,0:18:58.559
anything about each other

0:18:56.640,0:19:00.240
and as a result you've got you can see

0:18:58.559,0:19:02.480
these apps that

0:19:00.240,0:19:03.360
all these flow workflow templates that

0:19:02.480,0:19:06.640
are

0:19:03.360,0:19:08.880
using um third-party apps so

0:19:06.640,0:19:10.000
again example the one i have my mouse

0:19:08.880,0:19:13.200
over at the moment

0:19:10.000,0:19:14.400
um put push out which is a push

0:19:13.200,0:19:17.520
notification app

0:19:14.400,0:19:19.679
um builder template to say when a

0:19:17.520,0:19:21.520
launch pad sales event begins so that's

0:19:19.679,0:19:22.240
a shopify plus feature where you can

0:19:21.520,0:19:24.799
schedule

0:19:22.240,0:19:26.240
a product launching you can also

0:19:24.799,0:19:29.360
automatically

0:19:26.240,0:19:30.720
push a series of push notifications out

0:19:29.360,0:19:33.679
to everyone else with

0:19:30.720,0:19:34.080
um with push out so that template stuff

0:19:33.679,0:19:38.400
is

0:19:34.080,0:19:39.840
is certainly handy for merchants who

0:19:38.400,0:19:41.600
install the flow for the first time and

0:19:39.840,0:19:42.799
they might be wondering okay what what

0:19:41.600,0:19:44.320
are some of the things that i can do to

0:19:42.799,0:19:46.160
save myself time

0:19:44.320,0:19:47.679
so you can you can take a look through

0:19:46.160,0:19:50.720
this and get some ideas

0:19:47.679,0:19:52.000
pretty quickly yeah so yeah so it's the

0:19:50.720,0:19:52.720
templates part um and then the

0:19:52.000,0:19:54.320
connectors

0:19:52.720,0:19:56.080
what i was talking about before apps

0:19:54.320,0:19:56.640
that you have installed in judo shopify

0:19:56.080,0:19:59.760
store

0:19:56.640,0:20:00.480
that support shopify flow will show up

0:19:59.760,0:20:02.480
in here

0:20:00.480,0:20:05.440
you can see there's a couple of ones out

0:20:02.480,0:20:08.159
of the box that shopify

0:20:05.440,0:20:08.880
support so slack trello google sheets

0:20:08.159,0:20:12.240
sauna

0:20:08.880,0:20:13.039
um and then any app that you uh install

0:20:12.240,0:20:14.960
that supports

0:20:13.039,0:20:16.080
the flow connectors will show up there

0:20:14.960,0:20:18.080
as well

0:20:16.080,0:20:20.400
um and there's a actually in the shopify

0:20:18.080,0:20:23.840
app store there's a

0:20:20.400,0:20:26.880
collection which shows you all of the um

0:20:23.840,0:20:28.159
apps that support flow so always

0:20:26.880,0:20:30.400
if you're if you're a boss merchant

0:20:28.159,0:20:32.480
you're tossing out between two apps

0:20:30.400,0:20:35.120
always a good thing to think about is

0:20:32.480,0:20:36.960
does it support flow and um

0:20:35.120,0:20:38.400
might i want to look at automating

0:20:36.960,0:20:41.760
things in there so that's

0:20:38.400,0:20:43.440
handy and and by the way to be included

0:20:41.760,0:20:43.760
in that list do they have to be part of

0:20:43.440,0:20:47.120
that

0:20:43.760,0:20:49.679
certified or of verified shopify plus

0:20:47.120,0:20:52.799
apps or is that just a totally separate

0:20:49.679,0:20:54.000
um thing yeah i don't believe so i think

0:20:52.799,0:20:56.880
any app that has

0:20:54.000,0:20:58.320
a um a plus connector oh sorry a

0:20:56.880,0:21:01.520
supervised flow connector

0:20:58.320,0:21:02.799
um can can flag that with um with the

0:21:01.520,0:21:05.280
shopify app team and

0:21:02.799,0:21:06.480
be included in that collection um i

0:21:05.280,0:21:10.720
don't think it needs to be a

0:21:06.480,0:21:12.960
plus certified app cool

0:21:10.720,0:21:14.880
yeah i guess getting back to the to the

0:21:12.960,0:21:18.480
workflows which is the

0:21:14.880,0:21:20.240
core of what um shopify flow is

0:21:18.480,0:21:21.600
we can take a look at some of the

0:21:20.240,0:21:25.200
workflows and i've

0:21:21.600,0:21:28.480
just got some of them um open here so

0:21:25.200,0:21:30.320
this is what shopify flow looks like um

0:21:28.480,0:21:32.080
again i'll just zoom in a little bit so

0:21:30.320,0:21:35.840
you can see that a bit better

0:21:32.080,0:21:37.200
um so the you've got your workspace here

0:21:35.840,0:21:40.240
where you can

0:21:37.200,0:21:42.559
create your flow workflows or workflows

0:21:40.240,0:21:43.440
start with a trigger event so you can

0:21:42.559,0:21:45.120
select

0:21:43.440,0:21:46.640
it might might make more sense if i

0:21:45.120,0:21:48.080
actually start from scratch and show you

0:21:46.640,0:21:51.600
a blank one

0:21:48.080,0:21:54.320
um so do it live

0:21:51.600,0:21:54.960
yeah always always scary doing anything

0:21:54.320,0:21:57.520
live

0:21:54.960,0:21:59.039
um so that's why i have the the ones i

0:21:57.520,0:22:01.520
prepared earlier but

0:21:59.039,0:22:03.360
um all workflows start with a trigger

0:22:01.520,0:22:05.200
action so if something happens somewhere

0:22:03.360,0:22:07.200
in your store or from an app

0:22:05.200,0:22:08.799
and you can as you can see there's a

0:22:07.200,0:22:10.480
whole bunch of different events that can

0:22:08.799,0:22:13.840
happen inside of shopify

0:22:10.480,0:22:16.640
um actually since uh opening this up

0:22:13.840,0:22:17.039
this morning to um to prepare for this

0:22:16.640,0:22:18.960
uh

0:22:17.039,0:22:21.039
podcast i noticed that there's about a

0:22:18.960,0:22:23.760
couple of additional um

0:22:21.039,0:22:25.760
actions in here recently so it's always

0:22:23.760,0:22:28.559
good to know

0:22:25.760,0:22:29.919
an event happens something happens a

0:22:28.559,0:22:32.559
customer gets created

0:22:29.919,0:22:33.120
and you then go into a what i think a

0:22:32.559,0:22:35.120
lot of

0:22:33.120,0:22:36.720
you listeners would be familiar with

0:22:35.120,0:22:38.720
which is sort of a workflow where you

0:22:36.720,0:22:41.679
can add conditions on things and then

0:22:38.720,0:22:42.320
do things based on those conditions so

0:22:41.679,0:22:46.799
if

0:22:42.320,0:22:46.799
the uh let's say the customer

0:22:48.159,0:22:51.840
so if the email

0:22:52.840,0:22:58.559
includes so maybe you want to check and

0:22:56.640,0:22:59.440
see if anyone from microsoft signs up

0:22:58.559,0:23:03.200
for your

0:22:59.440,0:23:06.080
um for your website then you can

0:23:03.200,0:23:06.559
then perform an action um so potentially

0:23:06.080,0:23:08.880
um

0:23:06.559,0:23:10.720
something on that customer itself so add

0:23:08.880,0:23:14.559
a tag or something like that

0:23:10.720,0:23:15.840
um or to perform an external action like

0:23:14.559,0:23:18.000
sending an email so you might want to

0:23:15.840,0:23:19.360
get notified if anyone from microsoft

0:23:18.000,0:23:22.240
signs up to your site

0:23:19.360,0:23:23.120
um and then you could also plug it into

0:23:22.240,0:23:25.919
your

0:23:23.120,0:23:27.440
external systems so um again you could

0:23:25.919,0:23:29.919
go straight to slack

0:23:27.440,0:23:31.200
um create a card in trello if it's

0:23:29.919,0:23:34.320
potentially that's a

0:23:31.200,0:23:35.840
lead or something like that you can plug

0:23:34.320,0:23:38.240
that into there

0:23:35.840,0:23:39.840
so it's the basic concept and you can

0:23:38.240,0:23:42.880
continue chaining these

0:23:39.840,0:23:46.159
if conditions add multiple conditions um

0:23:42.880,0:23:47.440
and then perform multiple actions um or

0:23:46.159,0:23:48.799
different actions depending on the

0:23:47.440,0:23:53.279
results of those

0:23:48.799,0:23:56.880
those logic gates so that's the the um

0:23:53.279,0:23:57.919
the gist i guess um i i can set you

0:23:56.880,0:24:00.080
through a couple of

0:23:57.919,0:24:01.760
um the examples that we've seen

0:24:00.080,0:24:04.000
merchants use it for and i think what

0:24:01.760,0:24:06.240
we've found is that um

0:24:04.000,0:24:07.200
as soon as merchants start using it for

0:24:06.240,0:24:10.480
one thing they

0:24:07.200,0:24:11.039
start to realize the usefulness of it in

0:24:10.480,0:24:13.760
other

0:24:11.039,0:24:15.760
areas of their business so it definitely

0:24:13.760,0:24:19.279
it definitely snowballs so we

0:24:15.760,0:24:23.360
have merchants that would have um dozens

0:24:19.279,0:24:24.960
if not nearly 100 flow workflows

0:24:23.360,0:24:26.480
in in production doing a whole bunch of

0:24:24.960,0:24:30.320
different stuff

0:24:26.480,0:24:32.880
wow and you don't have to worry about

0:24:30.320,0:24:34.640
performance issues scalability it's just

0:24:32.880,0:24:36.000
you could throw 100 of these suckers in

0:24:34.640,0:24:38.000
there and it just

0:24:36.000,0:24:39.520
works yeah well the the nice thing about

0:24:38.000,0:24:42.400
flow is that it's running on

0:24:39.520,0:24:43.520
shopify's infrastructure so it is very

0:24:42.400,0:24:46.400
tightly coupled with

0:24:43.520,0:24:47.120
shopify itself um which means the

0:24:46.400,0:24:50.320
lateness

0:24:47.120,0:24:53.039
latency between the shopify

0:24:50.320,0:24:54.000
app um or the platform itself and the

0:24:53.039,0:24:57.520
flow app

0:24:54.000,0:24:59.919
um is is quite uh short so

0:24:57.520,0:25:01.600
we certainly haven't seen significant

0:24:59.919,0:25:03.520
performance issues

0:25:01.600,0:25:04.480
and again once you've set these flows up

0:25:03.520,0:25:05.600
they're sort of running in the

0:25:04.480,0:25:08.000
background so

0:25:05.600,0:25:09.840
um ideally you don't actually have to

0:25:08.000,0:25:13.039
think about them or be waiting on

0:25:09.840,0:25:16.240
on things to finish

0:25:13.039,0:25:17.279
do you think that uh for plus merchants

0:25:16.240,0:25:20.159
in general

0:25:17.279,0:25:22.159
flow is sort of underutilized like i was

0:25:20.159,0:25:24.400
listening to a podcast and somebody was

0:25:22.159,0:25:25.919
saying like oh yeah we're on plus and we

0:25:24.400,0:25:27.440
probably should be using flowmore or

0:25:25.919,0:25:28.000
something like that and i kind of like i

0:25:27.440,0:25:30.720
kind of like

0:25:28.000,0:25:31.200
huh i wonder if that's a general thing

0:25:30.720,0:25:33.039
among

0:25:31.200,0:25:34.320
a lot of plus merchants obviously that

0:25:33.039,0:25:36.559
haven't worked with you yet because i'm

0:25:34.320,0:25:39.840
sure once they work with you then

0:25:36.559,0:25:41.360
they're they're fired up on it yeah

0:25:39.840,0:25:43.039
i think it's definitely a fair fair

0:25:41.360,0:25:43.760
comment um like i said i think once

0:25:43.039,0:25:45.440
people start

0:25:43.760,0:25:46.960
using it for some things they they start

0:25:45.440,0:25:48.880
to see a lot of other places

0:25:46.960,0:25:50.159
um in the business or in their workflows

0:25:48.880,0:25:52.799
that they can um

0:25:50.159,0:25:54.240
they can use it for but there's also

0:25:52.799,0:25:56.240
just you know merchants are

0:25:54.240,0:25:57.919
super busy they've got a lot of things

0:25:56.240,0:26:00.640
um on their minds so

0:25:57.919,0:26:01.279
perhaps learning a new tool or even just

0:26:00.640,0:26:04.000
taking

0:26:01.279,0:26:05.200
the time to stop take a step back and

0:26:04.000,0:26:08.400
look at their current

0:26:05.200,0:26:10.000
workflow processes um

0:26:08.400,0:26:11.520
they're not doing that because they've

0:26:10.000,0:26:13.120
got a whole bunch of other stuff to get

0:26:11.520,0:26:14.640
done so i think that

0:26:13.120,0:26:17.120
it can be really useful especially if

0:26:14.640,0:26:19.200
you're a partner or a developer or a

0:26:17.120,0:26:20.960
freelancer and you're working with a

0:26:19.200,0:26:22.880
plus merchant for the first time

0:26:20.960,0:26:24.240
um so quite often what we'll do when we

0:26:22.880,0:26:28.159
start working with someone is

0:26:24.240,0:26:29.840
is a bit of research into their workflow

0:26:28.159,0:26:30.720
processes to really understand how the

0:26:29.840,0:26:33.760
business

0:26:30.720,0:26:35.600
works and often just in doing that we

0:26:33.760,0:26:37.520
we surface a couple of things we're like

0:26:35.600,0:26:38.559
oh have you considered using flow for

0:26:37.520,0:26:41.520
this so

0:26:38.559,0:26:43.279
um yeah i think it really helps having

0:26:41.520,0:26:44.559
an external third parties look at some

0:26:43.279,0:26:46.880
of the processes with

0:26:44.559,0:26:48.559
a bit of an eye to what can be automated

0:26:46.880,0:26:50.320
um right and sort of

0:26:48.559,0:26:52.640
advocating hey did you know you can do

0:26:50.320,0:26:55.760
this much easier right much more easily

0:26:52.640,0:26:58.400
right what's your process for

0:26:55.760,0:27:00.240
talking through you know businesses

0:26:58.400,0:27:01.440
workflows and things like that you just

0:27:00.240,0:27:04.799
get on the phone and say hey

0:27:01.440,0:27:06.400
tell me how you guys work a lot of times

0:27:04.799,0:27:08.480
people aren't even aware of

0:27:06.400,0:27:09.520
all the things that are going on or that

0:27:08.480,0:27:12.240
are inefficient or

0:27:09.520,0:27:13.200
like how what how do you go through that

0:27:12.240,0:27:15.679
process

0:27:13.200,0:27:17.120
yeah we do this pretty often in the

0:27:15.679,0:27:19.520
context of

0:27:17.120,0:27:20.399
building a custom app to support a

0:27:19.520,0:27:24.399
merchant's

0:27:20.399,0:27:25.520
um flows of um a good example might be

0:27:24.399,0:27:26.640
when we're looking at build uh

0:27:25.520,0:27:28.880
connecting to

0:27:26.640,0:27:29.919
two systems together so shopify and an

0:27:28.880,0:27:32.799
external

0:27:29.919,0:27:34.880
order management system for example um

0:27:32.799,0:27:36.960
the first thing we do is

0:27:34.880,0:27:38.080
work out what problem we actually trying

0:27:36.960,0:27:40.480
to solve and often

0:27:38.080,0:27:42.240
it seems pretty obvious because it's

0:27:40.480,0:27:44.080
we've got these orders in shopify

0:27:42.240,0:27:46.080
you need to send these types of orders

0:27:44.080,0:27:49.440
to this order management system

0:27:46.080,0:27:51.440
map it with these values being mapped um

0:27:49.440,0:27:52.880
and then these are the this set of

0:27:51.440,0:27:55.919
orders to this other system

0:27:52.880,0:27:58.480
with these set of values maps um and so

0:27:55.919,0:28:00.240
the scope of that problem might seem

0:27:58.480,0:28:02.240
pretty straightforward at first but

0:28:00.240,0:28:03.600
um i think rather than just sit down and

0:28:02.240,0:28:07.120
go okay well we need to get

0:28:03.600,0:28:08.480
orders from shopify to these external

0:28:07.120,0:28:10.080
systems and we know we need to build a

0:28:08.480,0:28:12.080
connector and this this and this

0:28:10.080,0:28:13.760
um we will actually get the merch into

0:28:12.080,0:28:16.480
step three okay what's the exact

0:28:13.760,0:28:16.960
process you're using for this now show

0:28:16.480,0:28:19.760
us

0:28:16.960,0:28:21.440
on a screen step by step um and then

0:28:19.760,0:28:24.720
start some questions along the way

0:28:21.440,0:28:27.360
to to be things like well

0:28:24.720,0:28:29.200
i do an export of all the orders as a

0:28:27.360,0:28:33.039
csv from shopify

0:28:29.200,0:28:35.520
i go through these i apply this filter

0:28:33.039,0:28:37.440
and then those orders get copied across

0:28:35.520,0:28:38.880
and sent over there

0:28:37.440,0:28:40.880
and as someone's actually stepping you

0:28:38.880,0:28:42.000
through the process there's often just a

0:28:40.880,0:28:44.159
bunch of

0:28:42.000,0:28:45.760
things that have built up over years of

0:28:44.159,0:28:46.320
that process being the way that it gets

0:28:45.760,0:28:49.440
done

0:28:46.320,0:28:52.080
um without necessarily an eye to um well

0:28:49.440,0:28:52.799
why is that actually happening and um

0:28:52.080,0:28:54.880
you know

0:28:52.799,0:28:56.080
why are you mapping that value to that

0:28:54.880,0:28:57.840
when um

0:28:56.080,0:28:59.360
you know in this external system it

0:28:57.840,0:29:02.399
actually supports

0:28:59.360,0:29:04.640
um the original value in shopify

0:29:02.399,0:29:06.720
so yeah just just sitting down and

0:29:04.640,0:29:08.559
asking the people that are doing the

0:29:06.720,0:29:10.559
thing at the moment how you're actually

0:29:08.559,0:29:12.159
getting this done really helps with that

0:29:10.559,0:29:15.760
a lot of the time right

0:29:12.159,0:29:15.760
nice nice that's great

0:29:16.399,0:29:19.679
um cool should we should we have a quick

0:29:18.159,0:29:22.240
look at some of these um

0:29:19.679,0:29:23.200
examples guys it'll be once you get the

0:29:22.240,0:29:25.200
the gist of

0:29:23.200,0:29:26.799
what flow is doing it becomes pretty

0:29:25.200,0:29:28.559
pretty obvious so we don't have to spend

0:29:26.799,0:29:30.000
a lot of time on it but um just some

0:29:28.559,0:29:32.159
examples of some of the really

0:29:30.000,0:29:33.120
common ones that that we see merchants

0:29:32.159,0:29:36.080
using that are

0:29:33.120,0:29:37.200
i guess the low hanging fruit often um

0:29:36.080,0:29:39.520
things like low stock

0:29:37.200,0:29:41.360
notifications you can install an app to

0:29:39.520,0:29:42.960
do that for you but if you've got flow

0:29:41.360,0:29:43.600
you can set something up really easily

0:29:42.960,0:29:44.960
to do that

0:29:43.600,0:29:47.039
that you then have quite a lot of

0:29:44.960,0:29:48.960
customization over um so

0:29:47.039,0:29:50.080
when an inventory quantity changes for a

0:29:48.960,0:29:52.240
product then

0:29:50.080,0:29:53.520
we just send an email to us letting us

0:29:52.240,0:29:55.840
know

0:29:53.520,0:29:57.679
this is what this is oh sorry i would

0:29:55.840,0:29:58.480
say this is one of the questions i have

0:29:57.679,0:30:01.760
in general

0:29:58.480,0:30:04.320
is um the overlap with apps

0:30:01.760,0:30:06.799
and like i know for example there's like

0:30:04.320,0:30:08.559
a loyalty program kind of a used case

0:30:06.799,0:30:11.600
there's this one

0:30:08.559,0:30:13.120
um like and and the question might be

0:30:11.600,0:30:13.600
more relevant to like the loyalty

0:30:13.120,0:30:17.279
program

0:30:13.600,0:30:18.720
stuff but um uh so maybe i should have

0:30:17.279,0:30:22.000
waited until then to get

0:30:18.720,0:30:23.520
get into it but like if somebody like it

0:30:22.000,0:30:25.200
like if there's like this one

0:30:23.520,0:30:26.559
makes sense as a standalone feature

0:30:25.200,0:30:28.399
actually but

0:30:26.559,0:30:30.799
you mentioned like kind of the overlap

0:30:28.399,0:30:31.760
with apps and like with the loyalty

0:30:30.799,0:30:33.360
program one

0:30:31.760,0:30:35.840
which i think we're gonna get into is

0:30:33.360,0:30:36.960
like why would somebody it seems like

0:30:35.840,0:30:39.600
and i don't know that much about

0:30:36.960,0:30:40.799
you know all of the loyalty app apps for

0:30:39.600,0:30:42.720
shopify but

0:30:40.799,0:30:44.799
it seems like there's this rich

0:30:42.720,0:30:46.960
ecosystem of loyalty apps

0:30:44.799,0:30:48.720
and i would think that they would want

0:30:46.960,0:30:50.399
to use one of those and just have a

0:30:48.720,0:30:52.720
full-fledged loyalty program but like

0:30:50.399,0:30:55.840
what's the use case for wanting to do

0:30:52.720,0:30:56.799
a simpler subset of functionality for

0:30:55.840,0:30:59.360
things like that

0:30:56.799,0:31:01.360
yeah i think the keyword there is is

0:30:59.360,0:31:03.360
simpler

0:31:01.360,0:31:05.200
and i think a really good example let's

0:31:03.360,0:31:06.240
skip to the the loyalty one i'll just

0:31:05.200,0:31:10.320
find it here

0:31:06.240,0:31:12.799
there you go first tab um hey

0:31:10.320,0:31:14.640
getting a bit big but um so this is how

0:31:12.799,0:31:16.559
you could implement a really simple

0:31:14.640,0:31:18.799
loyalty system inside of of

0:31:16.559,0:31:19.840
shopify flow which is anytime an order

0:31:18.799,0:31:22.720
gets paid

0:31:19.840,0:31:24.159
then we looked we look at the um total

0:31:22.720,0:31:26.399
spend of that customer

0:31:24.159,0:31:27.840
if it's more than 100 we added a

0:31:26.399,0:31:31.200
particular tag which is

0:31:27.840,0:31:34.720
runs vip it happens to be more than that

0:31:31.200,0:31:38.000
then we had a silver vip tag

0:31:34.720,0:31:38.399
um that's it really so that logic will

0:31:38.000,0:31:40.240
get

0:31:38.399,0:31:41.440
get applied and you'll have your

0:31:40.240,0:31:43.200
customers that are

0:31:41.440,0:31:44.880
over time getting tagged with bronze and

0:31:43.200,0:31:47.039
then silver vip

0:31:44.880,0:31:49.039
and then on the front-end perspective

0:31:47.039,0:31:49.840
you can be using the fact that that

0:31:49.039,0:31:53.360
customer has

0:31:49.840,0:31:56.000
that tag too for example if you're

0:31:53.360,0:31:58.000
if you have a silver-only collection of

0:31:56.000,0:32:00.240
products you can

0:31:58.000,0:32:01.760
either use some theme customizations or

0:32:00.240,0:32:05.039
potentially a tool like

0:32:01.760,0:32:07.360
locksmith which can control what

0:32:05.039,0:32:08.960
pages you can see based on tags um you

0:32:07.360,0:32:10.640
could use those tools to make that an

0:32:08.960,0:32:12.960
exclusive collection

0:32:10.640,0:32:14.000
um or you could use shopify scripts to

0:32:12.960,0:32:16.720
give those vip

0:32:14.000,0:32:17.600
customers a five percent discount across

0:32:16.720,0:32:19.519
the store

0:32:17.600,0:32:21.279
um and so you could do all of that

0:32:19.519,0:32:22.880
within just the shopify

0:32:21.279,0:32:24.640
platform yourself and not have to rely

0:32:22.880,0:32:28.080
on any third-party apps

0:32:24.640,0:32:29.440
um so that's that's obviously the

0:32:28.080,0:32:31.440
it's a really simple way to get it up

0:32:29.440,0:32:33.360
and running quickly um

0:32:31.440,0:32:34.640
it doesn't have all of the features that

0:32:33.360,0:32:37.760
you might have if you were

0:32:34.640,0:32:40.480
using um loyalty line or smile

0:32:37.760,0:32:41.600
or something like that um you know

0:32:40.480,0:32:44.640
you're gonna have to look at

0:32:41.600,0:32:46.399
custom ways to handle redeeming points

0:32:44.640,0:32:49.200
or things like that

0:32:46.399,0:32:50.399
um but if you wanted to just as a

0:32:49.200,0:32:52.080
merchant if you've nev

0:32:50.399,0:32:54.000
if you've never had a loyalty program

0:32:52.080,0:32:56.159
before and you wanted to find out

0:32:54.000,0:32:57.760
if we offered one what what will the

0:32:56.159,0:32:59.440
impact actually be

0:32:57.760,0:33:01.600
um you know this is a way you could get

0:32:59.440,0:33:05.200
one set up in 15 minutes

0:33:01.600,0:33:07.919
and send out the marketing email and see

0:33:05.200,0:33:08.640
what happens rather than having to

0:33:07.919,0:33:10.559
install

0:33:08.640,0:33:12.640
configure pay for and potentially

0:33:10.559,0:33:15.360
integrate um a full-blown

0:33:12.640,0:33:18.240
loyalty app into your shopify store and

0:33:15.360,0:33:20.559
get that all set up and running so

0:33:18.240,0:33:21.360
i think there's a really strong argument

0:33:20.559,0:33:22.960
for flow

0:33:21.360,0:33:24.559
if you just want to be prototyping

0:33:22.960,0:33:25.919
something or just want to experiment

0:33:24.559,0:33:27.279
with things

0:33:25.919,0:33:29.200
it's you know it's meant to be one of

0:33:27.279,0:33:31.840
the advantages of

0:33:29.200,0:33:33.679
a sas shopify platform and the shopify

0:33:31.840,0:33:34.799
ecosystem in general is just being able

0:33:33.679,0:33:38.240
to get something up

0:33:34.799,0:33:40.640
up and running really quickly prototype

0:33:38.240,0:33:42.399
experiment iterate without having to

0:33:40.640,0:33:44.320
spend a whole bunch of time

0:33:42.399,0:33:47.279
on development so i think flow really

0:33:44.320,0:33:47.279
fits in nicely there

0:33:49.600,0:33:53.279
quick quick kind of detailed question um

0:33:51.840,0:33:54.240
when you're talking about if somebody

0:33:53.279,0:33:56.000
wanted to go in and

0:33:54.240,0:33:57.519
and quickly segment out their customers

0:33:56.000,0:33:59.760
and send out an email

0:33:57.519,0:34:00.559
i know this particular trigger is off of

0:33:59.760,0:34:02.880
an order

0:34:00.559,0:34:04.799
paid trigger so that'll run on a

0:34:02.880,0:34:06.799
continuous basis every time there's an

0:34:04.799,0:34:09.040
order paid but if i wanted to go in

0:34:06.799,0:34:10.000
and run these segments against my entire

0:34:09.040,0:34:12.720
existing

0:34:10.000,0:34:13.520
um customer base is there a way to run

0:34:12.720,0:34:15.760
it like

0:34:13.520,0:34:16.560
run all or some some kind of a thing

0:34:15.760,0:34:19.599
like that

0:34:16.560,0:34:21.359
um not at them not with flow and that's

0:34:19.599,0:34:24.800
probably one of one of its limitations

0:34:21.359,0:34:25.440
is around um the nature of the actions

0:34:24.800,0:34:28.560
that it can

0:34:25.440,0:34:29.760
it can perform so um there's no way for

0:34:28.560,0:34:31.440
it to look back at

0:34:29.760,0:34:32.839
all your existing customers and go

0:34:31.440,0:34:36.000
through and run that

0:34:32.839,0:34:39.679
um so we one of our

0:34:36.000,0:34:42.000
sort of side products is um a little uh

0:34:39.679,0:34:42.879
i guess you almost call it an expansion

0:34:42.000,0:34:44.720
pack for

0:34:42.879,0:34:46.079
shopify flow which adds some some

0:34:44.720,0:34:48.960
additional features

0:34:46.079,0:34:50.159
um in interflow and one of those is

0:34:48.960,0:34:53.040
things like

0:34:50.159,0:34:54.079
delayed time triggers um and then

0:34:53.040,0:34:56.560
another one that we get

0:34:54.079,0:34:58.079
quite often is i've created this flow i

0:34:56.560,0:35:02.480
really want to be able to

0:34:58.079,0:35:05.119
um to run this against every single um

0:35:02.480,0:35:05.520
customer nice but you could you could

0:35:05.119,0:35:09.680
also

0:35:05.520,0:35:10.320
um actually um work your way around that

0:35:09.680,0:35:17.839
a little bit

0:35:10.320,0:35:17.839
because um if you were to for example

0:35:26.560,0:35:30.000
no i was thinking so this was making it

0:35:28.800,0:35:31.359
on the fly but

0:35:30.000,0:35:33.760
if there's a customer if there was a

0:35:31.359,0:35:35.280
customer updated trigger for example

0:35:33.760,0:35:37.359
um you could start with the customer

0:35:35.280,0:35:38.240
updated trigger apply that logic and the

0:35:37.359,0:35:42.320
tag

0:35:38.240,0:35:44.400
um and then you could just do

0:35:42.320,0:35:47.440
a bulk update of all your customers

0:35:44.400,0:35:49.599
using the import export feature

0:35:47.440,0:35:50.880
and that would trigger the update um

0:35:49.599,0:35:53.440
right but

0:35:50.880,0:35:54.880
uh they don't support um customers so

0:35:53.440,0:35:56.640
that explains why they don't have the

0:35:54.880,0:35:57.359
customer updates in there it's probably

0:35:56.640,0:35:59.680
would be

0:35:57.359,0:36:00.720
trickier to implement potentially yeah

0:35:59.680,0:36:02.160
um yeah

0:36:00.720,0:36:03.760
yeah so that that sort of stuff is

0:36:02.160,0:36:08.000
definitely um

0:36:03.760,0:36:10.079
uh it is um

0:36:08.000,0:36:12.079
one of the limitations of the flow and

0:36:10.079,0:36:13.760
it's part of the it's part of the

0:36:12.079,0:36:14.720
architecture behind the app because it's

0:36:13.760,0:36:17.119
it's built to

0:36:14.720,0:36:18.400
support the shopify scale it doesn't

0:36:17.119,0:36:20.079
have

0:36:18.400,0:36:21.680
insider flow it doesn't have a record of

0:36:20.079,0:36:24.560
every single customer you have

0:36:21.680,0:36:25.040
it doesn't have um the ability to store

0:36:24.560,0:36:28.320
data

0:36:25.040,0:36:31.200
and then use it later down the track um

0:36:28.320,0:36:31.680
right so because of that it means that

0:36:31.200,0:36:33.760
some

0:36:31.680,0:36:34.800
some of the limitations around that um

0:36:33.760,0:36:37.520
and that's potential

0:36:34.800,0:36:38.160
i'm sorry your um the expansion pack is

0:36:37.520,0:36:41.280
trickle

0:36:38.160,0:36:43.119
is that the uh yes well i'll

0:36:41.280,0:36:45.040
squeeze a little plug in for it but yeah

0:36:43.119,0:36:47.920
it really comes yeah

0:36:45.040,0:36:49.520
uh it really comes out of um having

0:36:47.920,0:36:50.880
worked with merchants and seeing some of

0:36:49.520,0:36:53.200
those common pain points

0:36:50.880,0:36:54.720
um and and so what trickle is it's a

0:36:53.200,0:36:56.800
it's an app that you install into your

0:36:54.720,0:36:57.680
shopify store and then it just adds some

0:36:56.800,0:37:01.359
additional

0:36:57.680,0:37:04.000
um triggers and um actions inside of

0:37:01.359,0:37:05.920
of shopify flow ones that aren't

0:37:04.000,0:37:09.119
supported natively by

0:37:05.920,0:37:12.560
by shopify um so a good example

0:37:09.119,0:37:14.480
um is uh when tags

0:37:12.560,0:37:15.680
customer tags change so that isn't

0:37:14.480,0:37:17.440
something that's supported out of the

0:37:15.680,0:37:19.839
box with um

0:37:17.440,0:37:21.839
with flow so you can add these new

0:37:19.839,0:37:23.119
events and you can also have these other

0:37:21.839,0:37:26.400
actions

0:37:23.119,0:37:27.760
and one of the ones that is most used by

0:37:26.400,0:37:30.480
people using trickle

0:37:27.760,0:37:31.680
um is the the scheduling feature so you

0:37:30.480,0:37:33.359
can have an event

0:37:31.680,0:37:35.040
you can then schedule something to

0:37:33.359,0:37:36.400
happen a certain amount of time

0:37:35.040,0:37:39.520
afterwards

0:37:36.400,0:37:43.440
i think i might have a yeah

0:37:39.520,0:37:43.440
a good example here which is um

0:37:44.720,0:37:50.000
if a customer joins a vip program so

0:37:48.640,0:37:53.040
we're assuming that

0:37:50.000,0:37:55.040
um the the customer some system that's

0:37:53.040,0:37:58.400
adding a vip tag to a customer

0:37:55.040,0:38:01.359
we're able to um schedule a

0:37:58.400,0:38:01.920
trigger for the future so that we can

0:38:01.359,0:38:04.720
say

0:38:01.920,0:38:06.079
after that happens i've got in 15

0:38:04.720,0:38:08.880
seconds here which is

0:38:06.079,0:38:10.160
probably an unrealistic use case but you

0:38:08.880,0:38:13.200
could schedule that to

0:38:10.160,0:38:14.880
in two days in 24 hours and eight hours

0:38:13.200,0:38:16.880
or something like that

0:38:14.880,0:38:19.359
you can schedule that and then at a

0:38:16.880,0:38:20.720
later date a new workflow will run

0:38:19.359,0:38:23.119
um and you could do some different

0:38:20.720,0:38:24.720
things with that for example send a

0:38:23.119,0:38:27.680
welcome email or

0:38:24.720,0:38:28.720
um or something like that so that sort

0:38:27.680,0:38:32.560
of delayed

0:38:28.720,0:38:35.760
um delayed uh trigger

0:38:32.560,0:38:38.160
flow is something that we find uh people

0:38:35.760,0:38:39.839
like quite a lot yeah it's funny i was

0:38:38.160,0:38:42.000
talking to a buddy of mine the other day

0:38:39.839,0:38:43.359
and uh i remember we were talking about

0:38:42.000,0:38:45.839
flo and then

0:38:43.359,0:38:47.440
he was like yeah it really needs a

0:38:45.839,0:38:49.520
scheduling feature because of x

0:38:47.440,0:38:51.359
y and z and then i think i had just

0:38:49.520,0:38:52.000
chatted with you about it and i told him

0:38:51.359,0:38:53.040
about it

0:38:52.000,0:38:55.440
and i sent him the thing and he's like

0:38:53.040,0:38:57.040
what is this and and i go oh yeah

0:38:55.440,0:38:58.720
gavin built it and stuff he's like this

0:38:57.040,0:39:00.720
is exactly what i need and he was like

0:38:58.720,0:39:02.480
all excited

0:39:00.720,0:39:04.160
and stuff so yeah that's perfect that's

0:39:02.480,0:39:06.320
good to hear um

0:39:04.160,0:39:07.520
and then the oh i'm always done with the

0:39:06.320,0:39:09.839
plug but um

0:39:07.520,0:39:11.119
the the other thing that i quite like

0:39:09.839,0:39:13.920
that we've added recently

0:39:11.119,0:39:14.560
is um the ability to add line items to

0:39:13.920,0:39:17.760
orders

0:39:14.560,0:39:19.119
and so this is p backing off the order

0:39:17.760,0:39:23.119
editing functionality that

0:39:19.119,0:39:25.280
the shopify released not too long ago um

0:39:23.119,0:39:26.160
but we had the idea of how would you

0:39:25.280,0:39:28.640
hand like

0:39:26.160,0:39:29.440
you can use this to actually um quite

0:39:28.640,0:39:32.480
nicely

0:39:29.440,0:39:35.040
take a deposit for a product and then

0:39:32.480,0:39:36.079
collect the balance of it later because

0:39:35.040,0:39:38.320
um

0:39:36.079,0:39:40.320
shopify's auto editing lets you add a

0:39:38.320,0:39:42.560
line item to an order and then send an

0:39:40.320,0:39:43.280
invoice to a customer um so we have the

0:39:42.560,0:39:46.320
idea of

0:39:43.280,0:39:48.960
if we have a particular sku in our store

0:39:46.320,0:39:50.000
which is represents a deposit for an

0:39:48.960,0:39:51.359
expensive

0:39:50.000,0:39:53.040
thing so let's say this is a hundred

0:39:51.359,0:39:53.680
dollar deposit for a thousand dollar

0:39:53.040,0:39:55.839
product

0:39:53.680,0:39:57.520
um so a customer can go through and buy

0:39:55.839,0:39:59.680
that that product

0:39:57.520,0:40:01.520
um and we can set up a flow that will

0:39:59.680,0:40:03.760
then automatically add

0:40:01.520,0:40:04.720
um a particular variant which could be

0:40:03.760,0:40:08.240
the 80

0:40:04.720,0:40:09.920
balance of that order um into the

0:40:08.240,0:40:12.880
into that original order and you can

0:40:09.920,0:40:14.480
also flick off an email to the customer

0:40:12.880,0:40:17.359
that is um

0:40:14.480,0:40:18.480
sending them invoice for the balance um

0:40:17.359,0:40:20.480
so that sort of stuff is

0:40:18.480,0:40:22.640
is really nice to be able to implement

0:40:20.480,0:40:25.599
reasonably straightforwardly with um

0:40:22.640,0:40:27.440
with just a couple of extra um a couple

0:40:25.599,0:40:29.280
of extra actions and i think that's one

0:40:27.440,0:40:31.440
of the nice things about

0:40:29.280,0:40:33.599
flow as well is because it's a common

0:40:31.440,0:40:36.079
system that everyone else in the shopify

0:40:33.599,0:40:39.200
ecosystem is plugging into

0:40:36.079,0:40:41.440
we can create this one action and

0:40:39.200,0:40:43.359
there are you know millions of different

0:40:41.440,0:40:46.079
ways that that could actually be used

0:40:43.359,0:40:47.839
or in combination with other apps and

0:40:46.079,0:40:49.839
things like that so

0:40:47.839,0:40:51.280
it is a you know every action every

0:40:49.839,0:40:52.400
trigger that gets added there's an

0:40:51.280,0:40:54.240
exponential

0:40:52.400,0:40:56.960
addition to what's possible with it

0:40:54.240,0:40:59.200
which is um which is kind of cool

0:40:56.960,0:41:00.560
yeah it's really cool and so if somebody

0:40:59.200,0:41:04.480
wants to use

0:41:00.560,0:41:07.920
trickle um is that something that they

0:41:04.480,0:41:09.359
they can buy themselves is it uh

0:41:07.920,0:41:11.599
only if they work with you how do like

0:41:09.359,0:41:11.920
what does that look like yeah no it's um

0:41:11.599,0:41:15.200
there

0:41:11.920,0:41:19.040
there's a web website um which i'll

0:41:15.200,0:41:20.960
bring up on screen at the moment but um

0:41:19.040,0:41:22.160
you can uh we can also check in the show

0:41:20.960,0:41:23.680
notes um this

0:41:22.160,0:41:25.599
is the website that sort of just has the

0:41:23.680,0:41:27.119
overview uh gives you a breakdown on all

0:41:25.599,0:41:29.680
the different things that you can do

0:41:27.119,0:41:32.079
um and how you actually install it and

0:41:29.680,0:41:33.760
get started so it's um the idea is

0:41:32.079,0:41:35.760
very much for it to be a tool for anyone

0:41:33.760,0:41:37.119
to use um it's not in the shopify app

0:41:35.760,0:41:39.599
store because it is

0:41:37.119,0:41:41.119
a plus only like you can only really use

0:41:39.599,0:41:42.560
it if you're using shopify flow

0:41:41.119,0:41:44.800
you can therefore use it if you should

0:41:42.560,0:41:47.280
buy plus and um the app store doesn't

0:41:44.800,0:41:49.119
carry plus only apps but um

0:41:47.280,0:41:51.119
yeah the idea is that the same way that

0:41:49.119,0:41:51.839
flow is a tool for merchants to be able

0:41:51.119,0:41:53.200
to

0:41:51.839,0:41:55.280
just get up and running without having

0:41:53.200,0:41:57.520
to do any code trickle is meant to be

0:41:55.280,0:41:58.800
an addition to that which just gives you

0:41:57.520,0:42:02.000
some extra features

0:41:58.800,0:42:05.440
um so as a merchant you shouldn't these

0:42:02.000,0:42:06.800
docs are ideally anything you um or you

0:42:05.440,0:42:09.280
need to get up and running

0:42:06.800,0:42:10.240
um but of course you can you can hit me

0:42:09.280,0:42:12.160
up and

0:42:10.240,0:42:15.040
bug me lots of questions very happy to

0:42:12.160,0:42:18.880
do that awesome

0:42:15.040,0:42:22.400
very cool um

0:42:18.880,0:42:24.800
let's see here where were we

0:42:22.400,0:42:24.800
um

0:42:25.599,0:42:30.560
we were um we still going through are we

0:42:29.280,0:42:33.040
gonna yeah i think

0:42:30.560,0:42:33.839
we had another couple of examples uh

0:42:33.040,0:42:35.920
happy to

0:42:33.839,0:42:37.760
to step through super quickly um again i

0:42:35.920,0:42:39.760
think once you get the

0:42:37.760,0:42:41.520
um just a bit it makes sense but some of

0:42:39.760,0:42:44.000
the other ones that we see people use

0:42:41.520,0:42:46.000
this is a really simple one but i'm just

0:42:44.000,0:42:47.920
capturing low risk orders um

0:42:46.000,0:42:50.160
so shopify has its built-in risk

0:42:47.920,0:42:51.680
evaluation tool and it also allows you

0:42:50.160,0:42:54.400
to

0:42:51.680,0:42:56.160
have credit card payments or orders get

0:42:54.400,0:42:56.800
paid by credit card when you go through

0:42:56.160,0:42:58.640
the store

0:42:56.800,0:43:00.240
but not actually capture the payment at

0:42:58.640,0:43:02.560
the time that you go through so

0:43:00.240,0:43:04.880
you just authorize the the payment right

0:43:02.560,0:43:06.480
um this shopify flow will just

0:43:04.880,0:43:08.000
look at the risk level that shopify is

0:43:06.480,0:43:08.720
evaluated on the orders and it can

0:43:08.000,0:43:10.480
capture it

0:43:08.720,0:43:12.079
automatically immediately and then it

0:43:10.480,0:43:13.839
leaves the medium and the higher risk

0:43:12.079,0:43:14.720
orders for you to manually review and

0:43:13.839,0:43:18.480
capture

0:43:14.720,0:43:21.359
um and that is a much nicer way of

0:43:18.480,0:43:23.119
dealing with fraudulent orders than

0:43:21.359,0:43:25.040
capturing the payment and then refunding

0:43:23.119,0:43:27.119
it because

0:43:25.040,0:43:29.839
if you capture the payment and then

0:43:27.119,0:43:32.319
refund it you don't get refunded the um

0:43:29.839,0:43:34.079
the transaction fees that you paid for

0:43:32.319,0:43:36.160
the for the order so

0:43:34.079,0:43:37.520
um just setting this up might actually

0:43:36.160,0:43:40.560
be saving you if you have

0:43:37.520,0:43:41.280
a reasonably high number of fraudulent

0:43:40.560,0:43:44.480
orders

0:43:41.280,0:43:46.560
it can really red reduce your um

0:43:44.480,0:43:47.760
your risk level with your payment

0:43:46.560,0:43:49.680
processor um

0:43:47.760,0:43:50.960
and reduce the amount of fees you're

0:43:49.680,0:43:53.119
losing in

0:43:50.960,0:43:54.800
the lack of those refund fees that's

0:43:53.119,0:43:56.640
nice

0:43:54.800,0:43:58.400
and now this is another one like there's

0:43:56.640,0:43:59.200
different fraud third-party fraud

0:43:58.400,0:44:01.040
services

0:43:59.200,0:44:02.240
and then the shopify zone service and

0:44:01.040,0:44:05.200
stuff like that

0:44:02.240,0:44:05.839
um you and you're dealing with these

0:44:05.200,0:44:09.680
really good

0:44:05.839,0:44:11.520
sized uh merchants right they're on plus

0:44:09.680,0:44:13.440
what like is this the kind of thing that

0:44:11.520,0:44:15.520
makes sense like

0:44:13.440,0:44:17.119
um practically for them versus just

0:44:15.520,0:44:18.079
plugging in a solution that they don't

0:44:17.119,0:44:19.680
have to really

0:44:18.079,0:44:21.599
think too much about the details it just

0:44:19.680,0:44:23.359
kind of works yeah i think it's it's

0:44:21.599,0:44:26.079
really going to come down to

0:44:23.359,0:44:27.119
i i tend to find that merchants who have

0:44:26.079,0:44:29.200
a

0:44:27.119,0:44:30.640
particular a particularly good

0:44:29.200,0:44:33.520
understanding of

0:44:30.640,0:44:35.520
their fraud patterns or who maybe have

0:44:33.520,0:44:38.480
unique fraud patents

0:44:35.520,0:44:40.480
benefit from a third-party app that is

0:44:38.480,0:44:43.680
specifically targeted

0:44:40.480,0:44:47.280
at that um at that problem

0:44:43.680,0:44:49.520
shopify's built-in fraud is is actually

0:44:47.280,0:44:50.640
i think really good and getting better

0:44:49.520,0:44:53.200
and better and better

0:44:50.640,0:44:55.119
because they have the data across every

0:44:53.200,0:44:56.720
single merchant on that platform so

0:44:55.119,0:44:58.400
that they really in terms of the data

0:44:56.720,0:45:02.400
they have access to

0:44:58.400,0:45:03.280
is probably um almost unmatched by any

0:45:02.400,0:45:05.920
other single

0:45:03.280,0:45:07.520
right provider um yeah i mean payments

0:45:05.920,0:45:09.760
is like their core business so

0:45:07.520,0:45:11.440
that that actually that makes a lot of

0:45:09.760,0:45:12.880
sense yeah so i i think

0:45:11.440,0:45:14.880
that what they have out of the box is

0:45:12.880,0:45:18.079
really really good and it gets better

0:45:14.880,0:45:20.640
um and and the only downside of it is

0:45:18.079,0:45:21.520
they're looking at um these million

0:45:20.640,0:45:24.240
merchants

0:45:21.520,0:45:25.920
uh across the globe and and looking at

0:45:24.240,0:45:27.520
every single fraud signal

0:45:25.920,0:45:29.920
um so they're really looking at it

0:45:27.520,0:45:31.920
across a huge range of

0:45:29.920,0:45:33.359
of merchants so if you are a merchant

0:45:31.920,0:45:36.400
that has a specific

0:45:33.359,0:45:39.520
um say you have a specific problem with

0:45:36.400,0:45:42.400
friendly fraud in in the us

0:45:39.520,0:45:43.280
versus stolen credit card numbers coming

0:45:42.400,0:45:46.800
from

0:45:43.280,0:45:49.599
indonesia maybe there are subtle

0:45:46.800,0:45:51.280
differences in in the type of fraud

0:45:49.599,0:45:54.480
protection you need particularly

0:45:51.280,0:45:55.440
um and in that case perhaps it's worth

0:45:54.480,0:45:57.040
talking to

0:45:55.440,0:45:58.480
and and if you have a particular fraud

0:45:57.040,0:46:00.079
problem on your store

0:45:58.480,0:46:01.200
it's worth talking to the third party

0:46:00.079,0:46:02.880
apps and seeing if there's something

0:46:01.200,0:46:06.000
they have that can help your

0:46:02.880,0:46:07.599
specific situation um but

0:46:06.000,0:46:09.599
almost always my recommendation is

0:46:07.599,0:46:11.359
unless you're coming into it with an

0:46:09.599,0:46:14.240
existing fraud provider

0:46:11.359,0:46:15.119
or you know you need something look at

0:46:14.240,0:46:18.160
the shopify

0:46:15.119,0:46:21.200
um ford let it do its job um

0:46:18.160,0:46:24.079
and then if you're seeing a high

0:46:21.200,0:46:25.359
incidence of fraud then um it's worth

0:46:24.079,0:46:28.640
digging into it but

0:46:25.359,0:46:31.359
it's pretty good out of the box right

0:46:28.640,0:46:34.000
and so shopify does not uh by default

0:46:31.359,0:46:36.240
refund you the transaction fees

0:46:34.000,0:46:37.760
i think that um i think you know it's

0:46:36.240,0:46:40.800
funny i think stripe

0:46:37.760,0:46:42.640
did that for the longest time and i

0:46:40.800,0:46:44.720
remember them at one point

0:46:42.640,0:46:46.480
changing that or at least i saw them

0:46:44.720,0:46:48.079
announce that they changed it

0:46:46.480,0:46:50.480
but then i noticed my own stripe

0:46:48.079,0:46:52.240
payments refunds would still

0:46:50.480,0:46:53.680
they'd still took care of the

0:46:52.240,0:46:54.720
transaction fee and the refunds for me

0:46:53.680,0:46:56.800
so i don't know if i was maybe

0:46:54.720,0:46:59.200
grandfathered in yeah they

0:46:56.800,0:47:00.480
they did um grandfather a lot of people

0:46:59.200,0:47:02.880
into that

0:47:00.480,0:47:03.520
so i think that's still the case for

0:47:02.880,0:47:04.880
some

0:47:03.520,0:47:06.800
um stripe accounts i don't know if

0:47:04.880,0:47:07.440
they'll eventually get rid of that rule

0:47:06.800,0:47:10.480
for everyone

0:47:07.440,0:47:11.520
but because shopify payments is built on

0:47:10.480,0:47:14.400
stripe under the hood

0:47:11.520,0:47:15.280
um when stripe that rule in shopify

0:47:14.400,0:47:19.280
basically had two

0:47:15.280,0:47:23.200
right right very very right nice okay

0:47:19.280,0:47:25.280
cool i love it and next i think

0:47:23.200,0:47:26.720
um so this is the last one that i had to

0:47:25.280,0:47:27.520
talk through but this is another common

0:47:26.720,0:47:29.359
one um

0:47:27.520,0:47:31.760
it is just for merchants that want to

0:47:29.359,0:47:35.119
flag particular types of orders

0:47:31.760,0:47:36.559
um so and a common use case we say is

0:47:35.119,0:47:38.160
when you've got a particular shipping

0:47:36.559,0:47:40.079
method that's like express

0:47:38.160,0:47:41.839
and just having a system in place to

0:47:40.079,0:47:44.800
really flag that

0:47:41.839,0:47:47.280
with the um the warehouse management

0:47:44.800,0:47:49.280
system or the team in the warehouse

0:47:47.280,0:47:50.960
so for example if an order is created

0:47:49.280,0:47:54.400
and there's a shipping

0:47:50.960,0:47:57.119
line that is express or whatever your

0:47:54.400,0:47:57.680
titles of your express shipping options

0:47:57.119,0:48:00.559
are

0:47:57.680,0:48:02.400
you can add a tag to the order and often

0:48:00.559,0:48:04.400
order tags will flow through into an

0:48:02.400,0:48:07.599
external

0:48:04.400,0:48:09.520
work management system so you you know

0:48:07.599,0:48:10.880
maybe you can have a rule inside of your

0:48:09.520,0:48:14.160
warehouse system that says

0:48:10.880,0:48:16.160
if you have this tag then you know we

0:48:14.160,0:48:17.440
put in red we make sure we know it's a

0:48:16.160,0:48:19.839
high priority

0:48:17.440,0:48:21.119
um and then alternatively we can also

0:48:19.839,0:48:23.200
this is an example of doing

0:48:21.119,0:48:25.680
taking two actions based on this outcome

0:48:23.200,0:48:28.319
um we can also flick off an email to

0:48:25.680,0:48:28.880
um to our warehouse um team and just say

0:48:28.319,0:48:30.960
hey

0:48:28.880,0:48:32.079
heads up you've got this express order

0:48:30.960,0:48:34.000
um

0:48:32.079,0:48:35.440
so yeah just things like that so it

0:48:34.000,0:48:37.200
might be a particular

0:48:35.440,0:48:38.800
um shipping method it might be that it's

0:48:37.200,0:48:40.480
a particular payment method um

0:48:38.800,0:48:42.079
like an after pay order or something

0:48:40.480,0:48:43.680
like that uh it might be

0:48:42.079,0:48:46.240
something shipping to a particular

0:48:43.680,0:48:49.119
location um anything like that you can

0:48:46.240,0:48:50.640
detect and flag right and i'm also

0:48:49.119,0:48:53.839
wondering with something like this like

0:48:50.640,0:48:54.480
would it be easier to do this inside of

0:48:53.839,0:48:56.720
your

0:48:54.480,0:48:58.319
you know ship station or your warehouse

0:48:56.720,0:48:59.040
management software like i'm sure they

0:48:58.319,0:49:01.200
have

0:48:59.040,0:49:02.880
similar rules for this kind of thing so

0:49:01.200,0:49:04.880
what what's the

0:49:02.880,0:49:06.480
like what's the what's the rationale

0:49:04.880,0:49:09.040
doing in flow versus

0:49:06.480,0:49:10.319
in those external systems yeah i mean if

0:49:09.040,0:49:12.559
if the external system

0:49:10.319,0:49:13.599
can can do all of that and handle that

0:49:12.559,0:49:16.559
then um

0:49:13.599,0:49:17.839
then that's that's great um i guess

0:49:16.559,0:49:20.160
situations where

0:49:17.839,0:49:22.160
um perhaps that work that system doesn't

0:49:20.160,0:49:22.800
have access to data that you care about

0:49:22.160,0:49:25.520
so

0:49:22.800,0:49:26.480
um shipping is probably not a great

0:49:25.520,0:49:27.680
example because most

0:49:26.480,0:49:30.160
warehouse systems are going to be

0:49:27.680,0:49:31.920
pulling in the shipping data right a lot

0:49:30.160,0:49:33.839
of warehouse systems wouldn't be pulling

0:49:31.920,0:49:36.240
in the payment method of the order

0:49:33.839,0:49:37.200
um so if you if the external system

0:49:36.240,0:49:39.920
isn't aware of it

0:49:37.200,0:49:40.960
um another situation might be where you

0:49:39.920,0:49:44.160
have multiple

0:49:40.960,0:49:46.800
fulfillment systems um so we

0:49:44.160,0:49:48.480
would sometimes have merchants who are

0:49:46.800,0:49:49.839
using two different warehouses to

0:49:48.480,0:49:52.240
fill orders that are going to different

0:49:49.839,0:49:54.480
places and so for

0:49:52.240,0:49:56.480
for consistency to have one piece of

0:49:54.480,0:49:58.240
logic inside of shopify

0:49:56.480,0:49:59.680
to perform that logic and then it can

0:49:58.240,0:50:03.200
apply it across

0:49:59.680,0:50:04.800
um or across all orders rather than

0:50:03.200,0:50:07.280
having to set it up in two separate

0:50:04.800,0:50:07.280
places

0:50:07.520,0:50:13.359
right right right right um

0:50:10.800,0:50:14.000
i actually i had a buddy that that is uh

0:50:13.359,0:50:17.359
that has an

0:50:14.000,0:50:19.520
app a post purchase app and um

0:50:17.359,0:50:22.000
and uh i want to pick your brand on the

0:50:19.520,0:50:25.520
fly about this use case

0:50:22.000,0:50:26.240
but basically like for certain like plus

0:50:25.520,0:50:29.680
merchants

0:50:26.240,0:50:33.040
that have uh ship ship station

0:50:29.680,0:50:36.640
i want to say um that

0:50:33.040,0:50:39.520
the uh the the the post

0:50:36.640,0:50:41.839
purchase flow so ship station is pulling

0:50:39.520,0:50:44.800
so i think the way his thing works

0:50:41.839,0:50:45.680
is it edits the order after the fact

0:50:44.800,0:50:47.280
there might be a

0:50:45.680,0:50:49.760
couple minute delay or something like

0:50:47.280,0:50:52.319
that where it adds the post purchase

0:50:49.760,0:50:52.839
and ship station is pulling the order in

0:50:52.319,0:50:56.720
too

0:50:52.839,0:50:57.040
fast so he he can't get to it before

0:50:56.720,0:50:59.280
ship

0:50:57.040,0:51:02.079
station pulls it in and i was just

0:50:59.280,0:51:05.280
thinking maybe there's a way to do that

0:51:02.079,0:51:07.280
with uh with flow um

0:51:05.280,0:51:09.680
yeah so i was curious how you might i

0:51:07.280,0:51:12.800
don't know that much detail for you but

0:51:09.680,0:51:15.839
yeah no no i get that um so

0:51:12.800,0:51:19.359
order editing um was a great addition

0:51:15.839,0:51:20.720
for merchants and a huge pain in the ass

0:51:19.359,0:51:22.480
for

0:51:20.720,0:51:23.839
all developers who have to deal with it

0:51:22.480,0:51:25.760
because

0:51:23.839,0:51:27.520
a lot of systems just have this built-in

0:51:25.760,0:51:28.640
assumption that once an order is created

0:51:27.520,0:51:31.119
in shopify

0:51:28.640,0:51:32.559
that's the order um which was the case

0:51:31.119,0:51:34.800
for a very long time and he's one of the

0:51:32.559,0:51:35.839
reasons that order editing took so long

0:51:34.800,0:51:37.520
to get into the rifle

0:51:35.839,0:51:39.520
is because there's just that assumption

0:51:37.520,0:51:42.480
baked in in so many places

0:51:39.520,0:51:43.280
um so yeah i mean i i don't this would

0:51:42.480,0:51:46.319
be a great

0:51:43.280,0:51:50.559
uh situation if for example um

0:51:46.319,0:51:51.920
shipstation had a shopify flow

0:51:50.559,0:51:53.760
integration i don't know if they do off

0:51:51.920,0:51:57.200
the top of my head but

0:51:53.760,0:51:59.280
as an example what you could do is um

0:51:57.200,0:52:00.480
not rather than ship station pulling

0:51:59.280,0:52:04.079
directly from the

0:52:00.480,0:52:07.280
order created webhook of um

0:52:04.079,0:52:09.920
of um shopify uh

0:52:07.280,0:52:11.119
you could have your order created flow

0:52:09.920,0:52:13.520
trigger something

0:52:11.119,0:52:14.640
um and you could then have a delay using

0:52:13.520,0:52:19.200
something like trickle

0:52:14.640,0:52:20.559
saying um wait 20 minutes or

0:52:19.200,0:52:23.280
probably less than that depending on how

0:52:20.559,0:52:26.319
long the post-purchase upsell takes

0:52:23.280,0:52:28.000
um wait five minutes and then notify

0:52:26.319,0:52:29.440
ship station hey this is an order that

0:52:28.000,0:52:31.760
you should pull into your system

0:52:29.440,0:52:33.119
and either just push that order payload

0:52:31.760,0:52:35.280
across or

0:52:33.119,0:52:36.400
um tell shipstation hey can you pull

0:52:35.280,0:52:39.359
this order in

0:52:36.400,0:52:39.839
um right so that's kind of how you could

0:52:39.359,0:52:43.440
look at

0:52:39.839,0:52:46.240
um solving that yeah i mean

0:52:43.440,0:52:47.119
in a lot of these cases also you talk to

0:52:46.240,0:52:49.280
ship station this

0:52:47.119,0:52:50.480
example and say hey this is a problem

0:52:49.280,0:52:52.640
we're experiencing

0:52:50.480,0:52:54.720
and often they'll be able to help you

0:52:52.640,0:52:56.240
out with that directly but

0:52:54.720,0:52:58.000
in a lot of cases they can't or they

0:52:56.240,0:52:59.599
just say well that's not a big enough

0:52:58.000,0:53:00.880
use case for enough of our merchants for

0:52:59.599,0:53:03.520
us to care about

0:53:00.880,0:53:04.319
um and so in that case the the effort

0:53:03.520,0:53:06.960
you go to

0:53:04.319,0:53:08.800
just set up a flow and just have a

0:53:06.960,0:53:11.520
slightly different approach that's

0:53:08.800,0:53:12.079
custom for your business it's a lot less

0:53:11.520,0:53:13.520
effort than

0:53:12.079,0:53:15.359
saying all right well we need to find a

0:53:13.520,0:53:18.319
different shipping yeah

0:53:15.359,0:53:19.760
system yeah that's i mean and that's a

0:53:18.319,0:53:21.280
great example where if they did have

0:53:19.760,0:53:23.680
that built out

0:53:21.280,0:53:25.119
um all of a sudden a customization like

0:53:23.680,0:53:26.880
that which could have taken

0:53:25.119,0:53:28.240
custom api integration or you know

0:53:26.880,0:53:30.960
dealing individually

0:53:28.240,0:53:32.240
is just handled and like you said it

0:53:30.960,0:53:35.040
opens you up to

0:53:32.240,0:53:37.359
exponential amounts of uh integration

0:53:35.040,0:53:40.839
combinations and stuff like that so

0:53:37.359,0:53:42.480
um that'd be cool see if they had that

0:53:40.839,0:53:44.079
um

0:53:42.480,0:53:45.680
nice well thanks for walking through all

0:53:44.079,0:53:47.520
that that was cool to get

0:53:45.680,0:53:49.280
um a better you know some better

0:53:47.520,0:53:50.559
visibility into some of the specifics i

0:53:49.280,0:53:52.800
think i'm starting to

0:53:50.559,0:53:55.200
wrap my head around it a little better

0:53:52.800,0:53:57.280
um and it's neat you know all the stuff

0:53:55.200,0:54:00.720
that that you can do in there

0:53:57.280,0:54:02.160
um so um

0:54:00.720,0:54:03.599
what else was i i know we're a little

0:54:02.160,0:54:04.240
bit over our time you're doing okay on

0:54:03.599,0:54:07.520
time

0:54:04.240,0:54:09.839
yeah i can stick around for a bit cool

0:54:07.520,0:54:11.119
um you know i think the last question i

0:54:09.839,0:54:14.640
had i've been thinking about

0:54:11.119,0:54:17.359
um performance uh front-end

0:54:14.640,0:54:19.119
um you know like google lighthouse type

0:54:17.359,0:54:20.319
stuff core web vitals and stuff and i

0:54:19.119,0:54:22.160
know you deal

0:54:20.319,0:54:25.520
mostly on the background do you do you

0:54:22.160,0:54:27.200
on the back end um do you look at

0:54:25.520,0:54:28.480
front end performance stuff at all or do

0:54:27.200,0:54:30.319
you because i know like front end

0:54:28.480,0:54:33.040
development you don't really touch

0:54:30.319,0:54:35.440
do you not really uh worry at all about

0:54:33.040,0:54:38.079
front end optimization stuff

0:54:35.440,0:54:39.680
yeah i mean i definitely used to when i

0:54:38.079,0:54:41.520
when i was sort of starting out as a

0:54:39.680,0:54:43.359
freelancer in the shopify ecosystem

0:54:41.520,0:54:44.720
it was pretty much as a jack of all

0:54:43.359,0:54:46.640
trades um

0:54:44.720,0:54:48.079
and i did quite a bit of theme

0:54:46.640,0:54:50.000
development and um

0:54:48.079,0:54:52.799
to another plug wrote a book about it on

0:54:50.000,0:54:53.599
stage um so it's definitely something

0:54:52.799,0:54:57.200
that we

0:54:53.599,0:54:59.040
see a lot of um yeah yeah so

0:54:57.200,0:55:01.040
performance has certainly become more of

0:54:59.040,0:55:03.920
a focus for merchants

0:55:01.040,0:55:04.880
um historically i think they were more

0:55:03.920,0:55:06.960
focused on

0:55:04.880,0:55:08.400
the features and functionalities and

0:55:06.960,0:55:11.520
what their site looks like

0:55:08.400,0:55:12.079
versus how quick it was which i always

0:55:11.520,0:55:15.280
found

0:55:12.079,0:55:17.200
quite frustrating um there's now decades

0:55:15.280,0:55:20.240
of research on how

0:55:17.200,0:55:22.880
you know one second faster in load speed

0:55:20.240,0:55:24.559
is equivalent to three or four percent

0:55:22.880,0:55:28.799
conversion rate boost like

0:55:24.559,0:55:31.760
it's a very significant um correlation

0:55:28.799,0:55:33.200
um yeah and i think shopify has started

0:55:31.760,0:55:34.160
to address that as well because they've

0:55:33.200,0:55:35.839
realized that

0:55:34.160,0:55:37.359
um you know if they're getting a

0:55:35.839,0:55:40.559
reputation for having

0:55:37.359,0:55:41.839
slow themes and so slow websites even if

0:55:40.559,0:55:43.040
you know today it's kind of the fault

0:55:41.839,0:55:44.000
with the merchants that are using the

0:55:43.040,0:55:46.640
platform

0:55:44.000,0:55:48.000
by just throwing a bunch of apps on or

0:55:46.640,0:55:51.359
uploading you know

0:55:48.000,0:55:53.680
100 megabyte images and things like that

0:55:51.359,0:55:54.880
um it's not a good place for them to be

0:55:53.680,0:55:55.680
in so i think that's the motivation

0:55:54.880,0:55:59.359
behind them

0:55:55.680,0:56:01.040
releasing the the page or the site speed

0:55:59.359,0:56:03.119
rank so when you look at your theme

0:56:01.040,0:56:05.359
inside your admin you can see a number

0:56:03.119,0:56:06.559
which is hey this is how fast your site

0:56:05.359,0:56:09.760
is

0:56:06.559,0:56:11.440
yeah i i don't love

0:56:09.760,0:56:12.880
that approach like just checking your

0:56:11.440,0:56:15.359
number on it especially so

0:56:12.880,0:56:16.240
the way it works it takes the average of

0:56:15.359,0:56:17.760
your

0:56:16.240,0:56:19.520
google lighthouse score so google

0:56:17.760,0:56:20.319
lighthouse is a tool that gives you a

0:56:19.520,0:56:22.799
number

0:56:20.319,0:56:24.240
performance number based on um they look

0:56:22.799,0:56:25.839
at your home page and then i think it's

0:56:24.240,0:56:27.920
the most visited product page and the

0:56:25.839,0:56:30.160
most visited collection page

0:56:27.920,0:56:31.119
aggregate that average and then give you

0:56:30.160,0:56:34.400
a number

0:56:31.119,0:56:35.599
um and i yeah i i have a few issues with

0:56:34.400,0:56:38.880
that being their sort of

0:56:35.599,0:56:39.280
approach um because because there are

0:56:38.880,0:56:41.760
really

0:56:39.280,0:56:44.079
fast sites out there that do really well

0:56:41.760,0:56:44.400
um they get terrible scores so i think i

0:56:44.079,0:56:47.359
was

0:56:44.400,0:56:49.359
reading the other day jim sharp had a um

0:56:47.359,0:56:51.520
score of six out of 100

0:56:49.359,0:56:52.720
and they're a multi-billion dollar

0:56:51.520,0:56:54.960
business so

0:56:52.720,0:56:57.119
i i think and i've got i looked at all

0:56:54.960,0:57:00.319
birds the other day it's like a nine

0:56:57.119,0:57:01.760
yeah so it's a and a big part of that is

0:57:00.319,0:57:03.839
that

0:57:01.760,0:57:04.880
google lighthouse is using the metrics

0:57:03.839,0:57:08.000
that they

0:57:04.880,0:57:09.040
know about um in terms of and the

0:57:08.000,0:57:12.480
technologies that

0:57:09.040,0:57:14.400
that are being used to serve site um

0:57:12.480,0:57:16.240
and so a lot of that is not actually in

0:57:14.400,0:57:18.000
the control of a merchant on shopify

0:57:16.240,0:57:19.520
shopify has its own infrastructure its

0:57:18.000,0:57:20.880
own architecture it's only the way that

0:57:19.520,0:57:25.200
it delivers stuff

0:57:20.880,0:57:27.119
and um yeah stuff a lot of that isn't

0:57:25.200,0:57:28.640
in emergency control and it the reason

0:57:27.119,0:57:29.359
they're on shopify is that they let

0:57:28.640,0:57:31.760
shopify

0:57:29.359,0:57:33.520
um worry about that sort of stuff um and

0:57:31.760,0:57:34.720
i wouldn't necessarily say that the way

0:57:33.520,0:57:37.520
that supply is doing it

0:57:34.720,0:57:37.920
is wrong um it's just that they've got

0:57:37.520,0:57:42.559
that

0:57:37.920,0:57:44.240
constraint and google says well

0:57:42.559,0:57:45.839
typically we see really fast sites

0:57:44.240,0:57:48.240
having this other approach

0:57:45.839,0:57:49.359
therefore we mark you down a little bit

0:57:48.240,0:57:51.200
um and

0:57:49.359,0:57:52.880
it doesn't actually make a difference to

0:57:51.200,0:57:55.599
the customer experience

0:57:52.880,0:57:57.119
and that's really what i think is the

0:57:55.599,0:58:00.000
most important thing

0:57:57.119,0:58:00.880
for um for merchants to be caring about

0:58:00.000,0:58:02.400
is rather than

0:58:00.880,0:58:04.960
looking at that number and obsessing

0:58:02.400,0:58:08.880
about getting it as low as possible

0:58:04.960,0:58:12.079
it's loading up the actual device

0:58:08.880,0:58:13.920
in a fresh browser on a 3g mobile

0:58:12.079,0:58:15.520
and saying you know could i use this

0:58:13.920,0:58:17.760
would i buy from this

0:58:15.520,0:58:19.119
um what the actual experience is like

0:58:17.760,0:58:20.480
for an end customer is the most

0:58:19.119,0:58:22.960
important thing

0:58:20.480,0:58:25.040
and often you can get that without a

0:58:22.960,0:58:26.559
whole bunch of data and analytics it's

0:58:25.040,0:58:30.160
good to think about these different

0:58:26.559,0:58:31.040
things and um google lighthouse can

0:58:30.160,0:58:33.040
often give you

0:58:31.040,0:58:34.640
some really good tips and be like hey

0:58:33.040,0:58:36.400
this is the low hanging fruit to improve

0:58:34.640,0:58:37.440
performance and you can tackle that and

0:58:36.400,0:58:38.880
that's going to mean it's going to be

0:58:37.440,0:58:40.480
faster to your customers

0:58:38.880,0:58:42.400
um yeah but yeah i think it's really

0:58:40.480,0:58:43.040
dangerous to be obsessing about getting

0:58:42.400,0:58:46.640
your score

0:58:43.040,0:58:47.839
up to 90 or anything like that when um

0:58:46.640,0:58:50.000
there are other things you could be

0:58:47.839,0:58:53.359
doing and there's always there's always

0:58:50.000,0:58:53.839
trade-offs yeah yeah yeah there's always

0:58:53.359,0:58:55.839
trailers

0:58:53.839,0:58:57.760
the core web vitals thing is interesting

0:58:55.839,0:59:01.599
because they've boiled it down even

0:58:57.760,0:59:04.480
further to these three specific metrics

0:59:01.599,0:59:06.079
um i think it's largest contentful paint

0:59:04.480,0:59:07.920
cumulative layout shift and first step

0:59:06.079,0:59:08.880
but delay and i'm trying to better

0:59:07.920,0:59:11.200
understand i don't

0:59:08.880,0:59:12.960
fully understand all the details around

0:59:11.200,0:59:14.240
that but they're really boiling it down

0:59:12.960,0:59:17.280
to these metrics that

0:59:14.240,0:59:18.079
impact user experience and they're

0:59:17.280,0:59:21.119
measuring the

0:59:18.079,0:59:21.680
data in the field on a 28-day rolling

0:59:21.119,0:59:24.240
period

0:59:21.680,0:59:26.319
actual users what they're experiencing

0:59:24.240,0:59:28.640
so i feel like they're

0:59:26.319,0:59:30.799
and and also there's a pass veil there's

0:59:28.640,0:59:32.640
a pass fail so it's not like

0:59:30.799,0:59:34.720
well you have x out of 100 and you want

0:59:32.640,0:59:36.720
to get more there's like a very clear

0:59:34.720,0:59:38.400
you're either failing it or passing it

0:59:36.720,0:59:39.119
and almost everybody's failing it which

0:59:38.400,0:59:41.599
is

0:59:39.119,0:59:43.440
it's just like in and of itself is kind

0:59:41.599,0:59:44.319
of funny because if everybody fails your

0:59:43.440,0:59:47.760
test like how

0:59:44.319,0:59:51.119
meaningful is your test um but uh

0:59:47.760,0:59:52.559
those those metrics are interesting

0:59:51.119,0:59:54.240
it'll be interesting to see where that

0:59:52.559,0:59:55.839
goes they're introducing it as a ranking

0:59:54.240,0:59:57.839
signal in like may

0:59:55.839,1:00:00.799
um you know who knows how big of a

0:59:57.839,1:00:04.000
ranking signal it'll be um

1:00:00.799,1:00:04.480
but you know it's it's um i think a lot

1:00:04.000,1:00:06.240
of people

1:00:04.480,1:00:08.079
approach it the way you're describing is

1:00:06.240,1:00:10.160
like uh

1:00:08.079,1:00:11.760
you know you can only spend so much time

1:00:10.160,1:00:14.000
worrying about that

1:00:11.760,1:00:15.599
yeah yeah i mean the the current

1:00:14.000,1:00:16.160
lighthouse scores of looking at things

1:00:15.599,1:00:18.319
like

1:00:16.160,1:00:20.400
time to first bite so how long it takes

1:00:18.319,1:00:21.359
for the first piece of data to hit your

1:00:20.400,1:00:24.400
browser

1:00:21.359,1:00:26.000
um which is not something a user cares

1:00:24.400,1:00:27.599
about but a user does care about

1:00:26.000,1:00:29.680
when's the first time that they can

1:00:27.599,1:00:32.799
actually see

1:00:29.680,1:00:35.760
an image or a button on a screen um

1:00:32.799,1:00:36.400
they care about after this page starts

1:00:35.760,1:00:39.599
loading

1:00:36.400,1:00:42.319
does it shift around on me so yeah

1:00:39.599,1:00:43.280
yeah and that just gives you the uh the

1:00:42.319,1:00:46.480
impression

1:00:43.280,1:00:48.400
of so much slowness um as

1:00:46.480,1:00:50.400
a user so i think that's the sort of

1:00:48.400,1:00:52.480
stuff that that actually matters so

1:00:50.400,1:00:53.680
um any sort of tool that that measures

1:00:52.480,1:00:57.520
those kind of metrics

1:00:53.680,1:01:00.400
um i would prefer either

1:00:57.520,1:01:02.400
yeah and actually another benefit to

1:01:00.400,1:01:03.839
doing stuff in flow like the loyalty

1:01:02.400,1:01:04.960
program example some of those other

1:01:03.839,1:01:07.040
examples

1:01:04.960,1:01:08.480
um is that you've got maybe one less

1:01:07.040,1:01:10.400
thing on the front end right

1:01:08.480,1:01:12.240
like like you know as opposed to a

1:01:10.400,1:01:13.200
loyalty thing that has a bunch of front

1:01:12.240,1:01:15.040
end stuff

1:01:13.200,1:01:16.720
if you're doing that all in in flow

1:01:15.040,1:01:18.640
that's all happening really performantly

1:01:16.720,1:01:20.480
in the background in the background

1:01:18.640,1:01:22.480
um that's another little benefit there

1:01:20.480,1:01:24.000
as well yeah i think i think app

1:01:22.480,1:01:26.319
developers have um

1:01:24.000,1:01:28.079
sort of just let front end developers

1:01:26.319,1:01:30.160
take the blame for all the slowness on

1:01:28.079,1:01:31.440
and on websites for a long time

1:01:30.160,1:01:34.720
but i i think we're going to have to get

1:01:31.440,1:01:36.319
a bit about that um

1:01:34.720,1:01:38.160
there are yeah there are apps that you

1:01:36.319,1:01:40.319
install them and they add

1:01:38.160,1:01:41.520
um another version of jquery to the

1:01:40.319,1:01:43.200
front end of theme and you know i've

1:01:41.520,1:01:45.599
seen sites that have literally 10

1:01:43.200,1:01:47.119
different versions of jquery loading on

1:01:45.599,1:01:49.520
every single page

1:01:47.119,1:01:51.599
um yeah and it's kind of just

1:01:49.520,1:01:54.079
irresponsible as an app developer so

1:01:51.599,1:01:55.119
and there are techniques that you can

1:01:54.079,1:01:58.640
use that

1:01:55.119,1:02:02.400
um you can make sure that your app is

1:01:58.640,1:02:04.960
loading um asynchronously

1:02:02.400,1:02:06.960
only on the pages that it needs don't

1:02:04.960,1:02:09.599
load jquery if it's already on the page

1:02:06.960,1:02:11.359
if you really need it ideally you know

1:02:09.599,1:02:13.920
don't need it at all yeah

1:02:11.359,1:02:15.200
um and yeah there's just so many things

1:02:13.920,1:02:15.760
you can do as an app developer to make

1:02:15.200,1:02:17.839
that

1:02:15.760,1:02:20.000
not painful and to actually have no

1:02:17.839,1:02:23.039
impact on that initial page load as well

1:02:20.000,1:02:24.799
it's it's yeah not that difficult to to

1:02:23.039,1:02:26.480
build an app that does that but i think

1:02:24.799,1:02:28.079
yeah historically app developers being

1:02:26.480,1:02:29.039
like our focus is on the back end and

1:02:28.079,1:02:32.160
the app stuff and

1:02:29.039,1:02:32.880
fraying and whatever um so i do think

1:02:32.160,1:02:35.280
that needs

1:02:32.880,1:02:37.520
needs to change yeah well it's kind of

1:02:35.280,1:02:39.520
the nature of an app ecosystem is that

1:02:37.520,1:02:41.119
as an app developer you're focused on

1:02:39.520,1:02:43.039
the business domain you're focused on

1:02:41.119,1:02:44.640
and that's where you're creating

1:02:43.039,1:02:47.280
value and stuff like that so then

1:02:44.640,1:02:49.760
there's these negative externalities

1:02:47.280,1:02:51.200
that you know are hard for you to worry

1:02:49.760,1:02:52.720
about until

1:02:51.200,1:02:55.200
they get surfaced up and like i think

1:02:52.720,1:02:56.720
there's this new performance dashboard

1:02:55.200,1:02:57.760
update that shopify is launching in the

1:02:56.720,1:03:00.960
summer which has

1:02:57.760,1:03:02.799
shows a a history log of when

1:03:00.960,1:03:04.079
performance changes and it shows like

1:03:02.799,1:03:05.839
which app

1:03:04.079,1:03:07.520
made an update and what you know things

1:03:05.839,1:03:09.440
like that so um

1:03:07.520,1:03:10.960
i think those are going to be helpful

1:03:09.440,1:03:12.720
yeah i think if you can do that and then

1:03:10.960,1:03:13.599
if in the app store there's a way to

1:03:12.720,1:03:15.359
sort of surface

1:03:13.599,1:03:16.880
that information and just i guess at

1:03:15.359,1:03:18.000
least if there can be a little green

1:03:16.880,1:03:19.920
tick that's like

1:03:18.000,1:03:21.119
minimal performance impacts um i think

1:03:19.920,1:03:23.200
that already caused a lot of app

1:03:21.119,1:03:26.720
developers to focus on a bit

1:03:23.200,1:03:28.319
um right i i think the increase in um

1:03:26.720,1:03:29.680
headless builds as well will help with

1:03:28.319,1:03:31.119
that because app developers are going to

1:03:29.680,1:03:32.720
have to be

1:03:31.119,1:03:35.359
building their apps in a way that offers

1:03:32.720,1:03:35.359
functionality

1:03:35.680,1:03:39.039
outside of the shopify theme context and

1:03:38.640,1:03:43.280
that

1:03:39.039,1:03:45.599
has a more api sort of approach where

1:03:43.280,1:03:46.720
front-end developers can choose what

1:03:45.599,1:03:49.039
they want to pull in

1:03:46.720,1:03:50.079
and when right so i think that'll help

1:03:49.039,1:03:52.000
as well

1:03:50.079,1:03:53.520
right are you getting involved in more

1:03:52.000,1:03:55.760
headless builds

1:03:53.520,1:03:56.559
uh we have we have a number of clients

1:03:55.760,1:03:58.960
that have

1:03:56.559,1:04:00.640
um have headless stuff i think when we

1:03:58.960,1:04:03.680
build apps we're almost

1:04:00.640,1:04:04.240
always building them as a we expose an

1:04:03.680,1:04:06.720
api

1:04:04.240,1:04:08.400
to the front end um and again it's

1:04:06.720,1:04:10.319
easier to do that if you're not

1:04:08.400,1:04:12.480
a one-click install app and merchants

1:04:10.319,1:04:14.480
expect it to be up and running um

1:04:12.480,1:04:15.839
because everyone's theme is so different

1:04:14.480,1:04:17.359
um

1:04:15.839,1:04:19.039
and because we're working directly with

1:04:17.359,1:04:21.280
merchants um and

1:04:19.039,1:04:23.280
at their theme dev teams we can sort of

1:04:21.280,1:04:25.599
afford to take that approach i guess and

1:04:23.280,1:04:26.400
build an api that we expose to the front

1:04:25.599,1:04:27.920
end

1:04:26.400,1:04:30.319
but then it's up to the front end devs

1:04:27.920,1:04:32.799
to actually build out what they want

1:04:30.319,1:04:33.520
and call our apis when they need that

1:04:32.799,1:04:35.599
data

1:04:33.520,1:04:36.640
um which leads to a much nicer

1:04:35.599,1:04:38.559
experience for

1:04:36.640,1:04:39.760
the for the customers in terms of

1:04:38.559,1:04:41.680
performance like you're not even

1:04:39.760,1:04:43.839
touching our app until you need it

1:04:41.680,1:04:45.039
um yeah but it's obviously it's you

1:04:43.839,1:04:47.520
can't do that if you've

1:04:45.039,1:04:48.160
got a one-click install app on the app

1:04:47.520,1:04:50.799
store

1:04:48.160,1:04:51.920
um yeah but i i think that is going to

1:04:50.799,1:04:55.520
become more and more

1:04:51.920,1:04:58.480
common so um yeah yeah yeah

1:04:55.520,1:04:59.440
yeah i caught the uh podcast with uh the

1:04:58.480,1:05:00.960
shogun

1:04:59.440,1:05:02.400
founder on the stuff they're doing

1:05:00.960,1:05:03.760
around headless which was super

1:05:02.400,1:05:06.000
interesting and

1:05:03.760,1:05:06.880
um be interesting to see where that goes

1:05:06.000,1:05:08.799
but um

1:05:06.880,1:05:10.079
i know we're over our time gavin thank

1:05:08.799,1:05:13.359
you so much it's been fun

1:05:10.079,1:05:15.520
catching up um where uh where's the best

1:05:13.359,1:05:17.599
place for people to find you online

1:05:15.520,1:05:19.440
uh yeah on twitter is probably the best

1:05:17.599,1:05:21.920
at gavin ballard very simple

1:05:19.440,1:05:24.640
um and if you want to email me then i'm

1:05:21.920,1:05:24.640
just gavin at

1:05:25.160,1:05:28.160
gavinballad.com