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
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