1 00:00:00,000 --> 00:00:16,280 Hello. So, I started the recording. So, since it's 10 a.m., we're about to start with this 2 00:00:16,280 --> 00:00:23,680 session. Today we have Richard Stark, who is a Matomo Supporting Member and Matomo Analytics 3 00:00:23,680 --> 00:00:29,080 Expert. In his talk, Matomo Tips and Tricks, he will tell us more about the collection 4 00:00:29,080 --> 00:00:37,320 of Matomo features which you might not know about. So, let's hear Richard for more. 5 00:00:37,320 --> 00:00:42,180 Good evening from New Zealand. Thank you, everybody, for joining this MatomoCamp session 6 00:00:42,180 --> 00:00:48,980 for Tips and Tricks. All right. So, for those of you who've never heard of me before, hi, 7 00:00:48,980 --> 00:00:54,660 I'm Richard. I am part of the Matomo Support Team based here in New Zealand. For those 8 00:00:54,660 --> 00:00:57,840 of you who maybe have sent us some emails over the past couple of months, maybe a year 9 00:00:57,840 --> 00:01:04,380 or so, you might have seen my name pop up in your email inbox, maybe now and then. So, 10 00:01:04,380 --> 00:01:08,100 if this is not the first time, thank you so much for joining us. If it is the first time 11 00:01:08,100 --> 00:01:12,760 hearing about me, it's great to meet you all. All right. So, as you saw in the previous 12 00:01:12,760 --> 00:01:19,800 slide, my session for today is titled Matomo Tips and Tricks. I've really tried to include 13 00:01:19,800 --> 00:01:26,960 a bunch of different tips and tricks for everybody, kind of from the everyday users of Matomo, 14 00:01:26,960 --> 00:01:33,040 as well as tips and tricks for those responsible for managing the Matomo setup or for Matomo 15 00:01:33,040 --> 00:01:38,720 administrators. All right. So, I've broken down the tips and tricks into four different 16 00:01:38,720 --> 00:01:48,640 categories. They are, number one, UI tips. Number two, performance tips. Number three, 17 00:01:48,640 --> 00:01:55,160 useful CLI or command line interface commands and how to figure out what options to use. 18 00:01:55,160 --> 00:02:02,040 And number four, useful free plugins that are not installed by default in Matomo. And 19 00:02:02,040 --> 00:02:06,280 then at the end of the session, we'll have a short Q&A session. So, please feel free 20 00:02:06,280 --> 00:02:10,480 to pop any questions you might have in the chat room during the session. We do have a 21 00:02:10,480 --> 00:02:17,160 dedicated chat room available for this live session on chat.matomocamp.org. I have asked 22 00:02:17,160 --> 00:02:21,480 the moderator to grab a few of the more interesting questions to answer at the end just to make 23 00:02:21,480 --> 00:02:25,720 sure we don't miss any of those. But you're also more than welcome to repeat your questions 24 00:02:25,720 --> 00:02:30,360 at the end if they do get missed. If we do have enough time, we'll also be opening up 25 00:02:30,360 --> 00:02:35,920 the floor to any questions at that time that you may have just randomly. So, let's get 26 00:02:35,920 --> 00:02:41,120 started. Number one, we've got some UI tips. So, the first tip I've got for you today is 27 00:02:41,120 --> 00:02:46,600 called Zen Mode. So, for those of you who have never used Zen Mode before, what it basically 28 00:02:46,600 --> 00:02:52,240 does is it provides you with an uninterrupted view of your Matomo reports or your Matomo 29 00:02:52,240 --> 00:02:58,080 dashboard. And it can be really, really useful for situations where you want to have a dashboard 30 00:02:58,080 --> 00:03:03,880 on a dedicated screen or a dedicated vice for sharing reports. For example, if you might 31 00:03:03,880 --> 00:03:07,880 have a dedicated screen in your office for looking at dashboards or pretty numbers and 32 00:03:07,880 --> 00:03:13,720 charts, that is the perfect thing to use for this. It can also be quite useful if you wanted 33 00:03:13,720 --> 00:03:21,600 to embed, for example, the entire Matomo UI into an iFrame. So, toggling Zen Mode on and 34 00:03:21,600 --> 00:03:27,780 off can then allow you to quite easily navigate between the different reports within the iFrame. 35 00:03:27,780 --> 00:03:31,240 And then when you want to bring that into sort of the full screen mode, you can quickly 36 00:03:31,240 --> 00:03:36,840 toggle the Zen Mode and you have that awesome uninterrupted view of your dashboard or for 37 00:03:36,840 --> 00:03:42,720 your reports. So, if you've never seen what the Zen Mode looks like before, I will get 38 00:03:42,720 --> 00:03:46,960 to show a screen which hopefully a lot of you are familiar with. This is what the standard 39 00:03:46,960 --> 00:03:51,760 UI in Matomo looks like. I'm pretty sure this is something that a lot of you see probably 40 00:03:51,760 --> 00:03:56,980 on a daily basis, maybe less so often for other people. But what Zen Mode basically 41 00:03:56,980 --> 00:04:01,840 does is this. It gets rid of the top menu bar. It gets rid of the menus on the left 42 00:04:01,840 --> 00:04:08,640 hand side. And in the screenshot here, I've kind of added the screenshot including the 43 00:04:08,640 --> 00:04:13,000 URL bar at the top. But obviously, if you did want to have this on a nice big screen, 44 00:04:13,000 --> 00:04:17,280 you can go into full screen and you can have that really awesome uninterrupted view of 45 00:04:17,280 --> 00:04:22,440 your Matomo reports. So, if you've never used it before, there's actually two different 46 00:04:22,440 --> 00:04:27,760 ways that we can get to Zen Mode, how we can toggle it on and off. So, the one option, 47 00:04:27,760 --> 00:04:32,960 of course, is to just click on our small little toggle button at the top of the page over 48 00:04:32,960 --> 00:04:38,040 here. The other option, which is my preferred option, is just to hit the Z key on your keyboard. 49 00:04:38,040 --> 00:04:42,280 That allows you to quickly switch between Zen Mode on and off. 50 00:04:42,280 --> 00:04:48,200 All right. So, my next tip for you today is the search function shortcut. So, the search 51 00:04:48,200 --> 00:04:55,040 function shortcut helps you kind of quickly navigate within the Matomo UI using your keyboard 52 00:04:55,040 --> 00:05:00,680 and keyboard arrows. So, what it does is it allows you to search for and switch between 53 00:05:00,680 --> 00:05:06,240 websites and segments quite quickly without having to touch your mouse. It also doubles 54 00:05:06,240 --> 00:05:12,080 as a search tool to look for more information on the Matomo.org site. For example, you can 55 00:05:12,080 --> 00:05:16,200 quickly search up for user guides or maybe you have a question or two that hopefully 56 00:05:16,200 --> 00:05:21,800 is answered in an FAQ. So, most of you have probably seen the search bar up in the top 57 00:05:21,800 --> 00:05:27,700 left hand side of the Matomo UI before, but if you wanted to quickly access this search 58 00:05:27,700 --> 00:05:30,920 feature, you just hit the F key on your keyboard. 59 00:05:30,920 --> 00:05:37,000 All right. The next UI tip for today is themes. So, for those of you who've kind of used 60 00:05:37,000 --> 00:05:42,440 Matomo for a long time and have never really tried themes before, it's really something 61 00:05:42,440 --> 00:05:49,480 that you can use to kind of customize the look, the feel, and the layout of the Matomo 62 00:05:49,480 --> 00:05:56,160 UI. There are actually several different themes available pretty much for every Matomo user 63 00:05:56,160 --> 00:06:01,760 in the world that you can quickly install and activate on your Matomo to get a really 64 00:06:01,760 --> 00:06:06,360 custom looking field. So, some of the default ones you can see up on the screen now. For 65 00:06:06,360 --> 00:06:11,200 example, we've got modern, we've got the minimalist themes, we've got the dark themes, but then 66 00:06:11,200 --> 00:06:16,240 we also have some other themes that are specific just to customizing fonts. Some that give 67 00:06:16,240 --> 00:06:21,680 you really cool visualizations, some spark lines, things like that. 68 00:06:21,680 --> 00:06:27,120 The really great thing about themes, though, is that you're really not just limited to 69 00:06:27,120 --> 00:06:33,760 these few themes that are available. The themes are completely customizable. You can customize 70 00:06:33,760 --> 00:06:39,240 them to your heart's content, and it really requires very little skill. If you have a 71 00:06:39,240 --> 00:06:45,000 basic understanding of CSS or maybe a little bit of less, you can customize as much as 72 00:06:45,000 --> 00:06:51,600 you want and then upload those themes directly to your Matomo UI. So, if you've never installed 73 00:06:51,600 --> 00:06:56,600 or activated themes before, you're probably wondering, how do I download and install themes? 74 00:06:56,600 --> 00:07:02,600 Now obviously, we can have a look on the website directly at themes.matomo.org, but you can 75 00:07:02,600 --> 00:07:08,120 also directly have a look at the themes from within your Matomo UI. So, to do that, we 76 00:07:08,120 --> 00:07:13,560 just go to the administration icon, we go to platform and marketplace, and then we click 77 00:07:13,560 --> 00:07:18,240 on the drop down menu and we select themes. From here, you can select any of the themes 78 00:07:18,240 --> 00:07:22,200 that are available to download, but you'll also have a nice little button up at the top 79 00:07:22,200 --> 00:07:28,560 of the screen that lets you upload your custom themes in a zip file format that you can then 80 00:07:28,560 --> 00:07:32,600 install and activate on your Matomo instance. 81 00:07:32,600 --> 00:07:40,920 Alright, the next section is performance tips. So, one of the biggest performance improvements 82 00:07:40,920 --> 00:07:47,720 that you can make to your Matomo instance is to disable browser archiving and then set 83 00:07:47,720 --> 00:07:54,760 up a crontab for archiving. So, you might be wondering, why do we recommend disabling 84 00:07:54,760 --> 00:08:00,120 browser archiving? Now, for the majority of users out there that have very small websites 85 00:08:00,120 --> 00:08:04,540 or websites that might have only a few hundred visits a day, it's definitely not worth the 86 00:08:04,540 --> 00:08:11,380 effort going ahead and setting up those crontabs and disabling browser archiving, but for those 87 00:08:11,380 --> 00:08:15,360 of you that are tracking a little bit more, you know, maybe a few thousand hits a day 88 00:08:15,360 --> 00:08:20,560 or maybe tens of thousands of hits a day, this is probably one of the biggest improvements 89 00:08:20,560 --> 00:08:27,600 that you can make to the performance of Matomo that you can see very quick and tangible results. 90 00:08:27,600 --> 00:08:35,240 So, when we have browser archiving enabled, almost every time a user views a report, Matomo 91 00:08:35,240 --> 00:08:41,280 needs to process the report that they're trying to request. It needs to go and fetch all that 92 00:08:41,280 --> 00:08:45,480 raw data, needs to crunch all the numbers, needs to put everything into pretty charts 93 00:08:45,480 --> 00:08:51,700 and numbers and lines and present it onto the screen. And it does this on the fly or 94 00:08:51,700 --> 00:08:56,640 basically in real time. So, you can imagine if you're loading a report that has a lot 95 00:08:56,640 --> 00:09:04,480 of data or reports that cover a long period of time, this can sometimes really slow down 96 00:09:04,480 --> 00:09:08,560 your experience with Matomo and can sometimes take quite a long time for those reports to 97 00:09:08,560 --> 00:09:17,600 load. This sort of effect can really be compounded when users are not aware of this. And it, 98 00:09:17,600 --> 00:09:21,560 you know, they might be going around jumping through a bunch of different reports wondering 99 00:09:21,560 --> 00:09:26,480 why the heck is this thing taking so long? What I mean there by compounding is if a user 100 00:09:26,480 --> 00:09:30,480 clicks on one report, it takes three or four seconds to load and they don't see anything 101 00:09:30,480 --> 00:09:33,960 on the screen. They decide, hey, I'm going to have a look at this report. That report 102 00:09:33,960 --> 00:09:37,960 does the same. They can go through five or six or seven different reports in a matter 103 00:09:37,960 --> 00:09:44,520 of seconds and every single one of those reports, once you start loading them in the user interface, 104 00:09:44,520 --> 00:09:48,760 those requests have already been sent. The Matomo server is working on them in the background 105 00:09:48,760 --> 00:09:53,880 to try and process all that data. Now, the good thing is, is when they go back to those 106 00:09:53,880 --> 00:09:59,100 other reports that they've already requested the data for, it should load relatively quickly. 107 00:09:59,100 --> 00:10:03,660 The problem is if they come back and do that again in one or two hours later, it's going 108 00:10:03,660 --> 00:10:10,040 to need to do that whole process over again. So by pre-processing all of those reports 109 00:10:10,040 --> 00:10:16,960 using what we call a crontab for the core archive command and setting up a schedule 110 00:10:16,960 --> 00:10:22,020 and disabling that browser archiving, we can be a hundred percent certain that all of those 111 00:10:22,020 --> 00:10:28,760 reports can load really, really quickly and your Matomo users can have a great experience. 112 00:10:28,760 --> 00:10:33,040 So this setting can actually be changed directly within the general settings of your Matomo 113 00:10:33,040 --> 00:10:42,240 instance, but it can also be set up by setting the specific config setting in your config.ini.php. 114 00:10:42,240 --> 00:10:45,840 But of course, if you're not familiar with messing around with the files directly on 115 00:10:45,840 --> 00:10:53,080 the Matomo server, disabling this within the UI is just perfect. All right. It is still 116 00:10:53,080 --> 00:10:58,680 important, however, to understand that there are going to be some cases where Matomo will 117 00:10:58,680 --> 00:11:05,780 still need to process reports when they're requested from the browser. This is specifically 118 00:11:05,780 --> 00:11:11,580 important when you're requesting, for example, a date range report because a date range report 119 00:11:11,580 --> 00:11:17,400 cannot be pre-processed. The other thing as well, if you have users who have created segments 120 00:11:17,400 --> 00:11:24,920 and those segments have been configured to be processed from in real time or on the fly, 121 00:11:24,920 --> 00:11:31,200 those segments will also be triggering some browser archiving requests. All right. The 122 00:11:31,200 --> 00:11:35,760 next tip that we've got for you has to do with segments. So what we talk about with 123 00:11:35,760 --> 00:11:42,560 segments when it comes to performance is we're talking about how far back segments are processed 124 00:11:42,560 --> 00:11:48,600 by default on your Matomo server. So when you have a segment in Matomo, if you're creating 125 00:11:48,600 --> 00:11:54,360 a segment or editing a segment, the default that Matomo is going to process that segment 126 00:11:54,360 --> 00:12:00,620 for is what we call the beginning of time. And that basically means that Matomo is going 127 00:12:00,620 --> 00:12:07,420 to process that segment from the very first day that you have raw data. Now, for a lot 128 00:12:07,420 --> 00:12:14,360 of people, this can mean that they're having to process segment data going back two or 129 00:12:14,360 --> 00:12:20,420 three or even more years, five or six years into the past. So this can have a really big 130 00:12:20,420 --> 00:12:25,640 impact on performance, especially for those people who have a lot of historical or a lot 131 00:12:25,640 --> 00:12:33,520 of raw data. So by changing this to a different time frame, for example, you can change it 132 00:12:33,520 --> 00:12:39,240 to automatically process only back 30 days. You can do it for 60 days or three months 133 00:12:39,240 --> 00:12:45,600 or six months or even a year. You can really customize and prevent your Matomo server from 134 00:12:45,600 --> 00:12:53,040 working too much on reports that you might not need to use. So to change this setting, 135 00:12:53,040 --> 00:12:57,880 we basically need to add the following to our config file. Now, if you're wondering 136 00:12:57,880 --> 00:13:01,440 how the heck are you going to remember this, all of this information is available. You 137 00:13:01,440 --> 00:13:06,080 can have a look in your config file. You can have a search for it on the Matomo website. 138 00:13:06,080 --> 00:13:11,140 You can hopefully find some more information about how to set this config file. Otherwise, 139 00:13:11,140 --> 00:13:14,560 if you wanted to look for this specific one, you can maybe take a screenshot or have a 140 00:13:14,560 --> 00:13:18,960 look at this recording afterwards, and then you can implement this into your config file 141 00:13:18,960 --> 00:13:23,600 settings. And of course, like you can see in the slide that's on the screen, there's 142 00:13:23,600 --> 00:13:27,840 a few different ways that we can set this up. For example, the one at the top is the 143 00:13:27,840 --> 00:13:34,260 segment creation time. So basically that means that no historical data for that segment is 144 00:13:34,260 --> 00:13:39,320 going to be processed from before the date was created. So for a lot of people that are 145 00:13:39,320 --> 00:13:44,240 tracking maybe tens of thousands or even millions of hits every single month, this might be 146 00:13:44,240 --> 00:13:50,200 the most beneficial one. You can also have a smaller timeframe. For example, the one 147 00:13:50,200 --> 00:13:57,140 at the bottom is the last 93. So that's roughly about three months historical data. So now 148 00:13:57,140 --> 00:14:03,560 that I've told you how to disable browser archiving and to change how far back Matomo 149 00:14:03,560 --> 00:14:11,300 goes back to process all of the segment data, you're probably wondering how do I get historical 150 00:14:11,300 --> 00:14:17,080 data when I've configured this setting in Matomo? And that brings us really nicely into 151 00:14:17,080 --> 00:14:24,560 our next segment, and that is useful CLI commands. Now, CLI is an acronym for command line interface, 152 00:14:24,560 --> 00:14:29,940 and that might sound really scary, but Matomo, when you install it onto your server, has 153 00:14:29,940 --> 00:14:36,000 a really cool what we call the console script. And the console script allows you to run some 154 00:14:36,000 --> 00:14:41,800 really specific commands directly on your Matomo server that allow you to do things 155 00:14:41,800 --> 00:14:47,160 or accomplish tasks that you want to do. So we've got a couple of different CLI commands 156 00:14:47,160 --> 00:14:51,040 that we're going to talk about today. We're going to talk about how to invalidate specific 157 00:14:51,040 --> 00:14:58,040 date ranges. So this is very useful for archiving specific segments further back than what we've 158 00:14:58,040 --> 00:15:03,080 just recently changed in our settings. We're also going to have a look at invalidating 159 00:15:03,080 --> 00:15:07,640 specific segments. And then number three, which is something that you might not have 160 00:15:07,640 --> 00:15:15,320 been aware of, is invalidating specific plugins. So if you don't know, Matomo 4 actually ships 161 00:15:15,320 --> 00:15:21,380 with a new feature that allows plugins that support that new feature to automatically 162 00:15:21,380 --> 00:15:26,000 archive reports going back a certain number of months. So for example, if you've just 163 00:15:26,000 --> 00:15:30,480 installed a brand new plugin or you've just purchased a premium plugin and you go ahead 164 00:15:30,480 --> 00:15:35,560 and install that onto your Matomo server, the great thing is that Matomo is going to 165 00:15:35,560 --> 00:15:43,280 go back and automatically archive the last six months of data for that new plugin. So 166 00:15:43,280 --> 00:15:50,200 that means that you have instant access to a great wealth of historical report data for 167 00:15:50,200 --> 00:15:57,260 that new plugin. However, sometimes it's still going to be necessary to archive reports going 168 00:15:57,260 --> 00:16:02,320 further back than what we've just set up in our settings. This is especially useful when 169 00:16:02,320 --> 00:16:06,800 you just installed a plugin. You want to have a look at, you know, what was the data for 170 00:16:06,800 --> 00:16:11,560 this plugin a year ago or two years ago or even further back than that, as far back as 171 00:16:11,560 --> 00:16:20,520 what you have raw data. So that is when the core invalidate report data console command 172 00:16:20,520 --> 00:16:24,940 comes in. So as you can see in the example on the screen, in this example, we're running 173 00:16:24,940 --> 00:16:32,520 the invalidate report data console command. So this command always requires a dates option. 174 00:16:32,520 --> 00:16:37,980 As you can see in the example, we've got, for example, from the 1st of June up until 175 00:16:37,980 --> 00:16:44,880 today. So that will basically invalidate all report data for your entire Matomo instance 176 00:16:44,880 --> 00:16:51,560 going from the 1st of June till today. You can also use other types of date formats such 177 00:16:51,560 --> 00:16:57,760 as the last 30 or last 7 or last 90, you know, things like that to kind of just get a general 178 00:16:57,760 --> 00:17:05,760 date range invalidated. So some of you, if you're having a look at this, might be remembering 179 00:17:05,760 --> 00:17:11,440 that we do have what we call the invalidate reports plugin. That also allows you, as you 180 00:17:11,440 --> 00:17:16,920 can see in this example, to invalidate segments. The biggest difference, of course, between 181 00:17:16,920 --> 00:17:22,680 the plugin and the console command is that the plugin is kind of like what we would consider 182 00:17:22,680 --> 00:17:29,600 a sledgehammer when you're trying to invalidate report data. It doesn't necessarily differentiate 183 00:17:29,600 --> 00:17:35,560 between different specific dates or specific plugins. It's kind of an all or nothing deal. 184 00:17:35,560 --> 00:17:41,480 And that's where it really comes in handy, knowing how to work with these CLI commands. 185 00:17:41,480 --> 00:17:46,880 And you can combine a lot of these different options together to get some really specific 186 00:17:46,880 --> 00:17:52,520 ranges or specific report data that you're looking for. So as you can see in the example 187 00:17:52,520 --> 00:18:00,040 over here, we've just put the plain text name of our segment. And in the next one, you'll 188 00:18:00,040 --> 00:18:06,360 see that we can now also invalidate some very specific plugins. So this is really where 189 00:18:06,360 --> 00:18:14,600 the CLI commands are a lot more useful than just invalidating report data in the UI. So 190 00:18:14,600 --> 00:18:20,160 when we combine all of these together, we get the ability to not only invalidate reports 191 00:18:20,160 --> 00:18:29,440 for a specific date range and for a specific segment, but also for a very specific plugin. 192 00:18:29,440 --> 00:18:35,160 So this is really, really useful. And once you've done all this, of course, it then becomes 193 00:18:35,160 --> 00:18:40,400 necessary to reprocess that data. And that brings us to the very last step in this specific 194 00:18:40,400 --> 00:18:47,200 section. And that is reprocessing the report data that we've just invalidated using the 195 00:18:47,200 --> 00:18:53,600 force date range option. So in this example, we're looking at the last one that we used, 196 00:18:53,600 --> 00:18:59,200 the core invalidate report data, where we set the dates as the first of June to the 197 00:18:59,200 --> 00:19:05,460 last of June. And when we run this last core archive command with the force date range 198 00:19:05,460 --> 00:19:11,040 similar to or exactly matching what we've just invalidated, Matomo is going to only 199 00:19:11,040 --> 00:19:19,880 go ahead and process that specific date range for that specific plugin. So some plugins 200 00:19:19,880 --> 00:19:25,880 do actually have their own console commands that can be used for archiving, which we'll 201 00:19:25,880 --> 00:19:30,480 talk about in a minute. But what a lot of you may be wondering is like, oh, do I have 202 00:19:30,480 --> 00:19:35,000 to take a screenshot of this page? Do I have to memorize all of this information that's 203 00:19:35,000 --> 00:19:39,840 in front of me right now so that I know how to use it? And the great news is no, you don't 204 00:19:39,840 --> 00:19:45,640 have to memorize or take a screenshot of any of this data because all of this is directly 205 00:19:45,640 --> 00:19:51,200 available when you run the console commands directly on your Matomo server. And we can 206 00:19:51,200 --> 00:19:58,240 find this information by using the dash dash help option that the dash dash help option 207 00:19:58,240 --> 00:20:03,640 when you're working with CLI commands is your absolute best friend. If you've ever forgotten 208 00:20:03,640 --> 00:20:09,920 what the specific command is or what type of input you need to give for a specific option, 209 00:20:09,920 --> 00:20:15,280 the dash dash help option is going to show that. So here, for example, in this slide, 210 00:20:15,280 --> 00:20:21,280 we've got the help output for the core archive command. So as you can see on the screen, 211 00:20:21,280 --> 00:20:26,600 hopefully the text isn't too small. We can see all of the potential options that we could 212 00:20:26,600 --> 00:20:32,280 add to this to kind of really narrow down and get some very specific commands that we 213 00:20:32,280 --> 00:20:38,040 can use for our server. So as I mentioned earlier, we do have some plugins that might 214 00:20:38,040 --> 00:20:45,160 have some very specific commands. A good example of a plugin that has its own archiving command 215 00:20:45,160 --> 00:20:50,640 is the custom reports plugin. So with the custom reports console command, it allows 216 00:20:50,640 --> 00:20:56,280 you to actually go in and specifically just archive the custom reports for a specific 217 00:20:56,280 --> 00:21:04,000 date range without needing to first invalidate that data. Now, a lot of you might be wondering, 218 00:21:04,000 --> 00:21:08,640 do I need to have a look at that? Do I need to go look at a guide for that sort of information? 219 00:21:08,640 --> 00:21:13,200 And here's the next really great tip is that no, you really don't have to know that information 220 00:21:13,200 --> 00:21:20,400 beforehand. The console command, if you just type in console on an SSH or in a terminal 221 00:21:20,400 --> 00:21:26,120 window in the Matomo root directory and you add the dash dash list option, it's going 222 00:21:26,120 --> 00:21:31,840 to give you a full list of all of the console commands that you can run directly on your 223 00:21:31,840 --> 00:21:37,460 Matomo server. And now that you've got this great list of console commands, you can then 224 00:21:37,460 --> 00:21:43,200 run those specific commands each with their own dash dash help or dash help option to 225 00:21:43,200 --> 00:21:48,140 get a list of all the optional parameters or required parameters that that specific 226 00:21:48,140 --> 00:21:56,120 plugin requires. So the important thing to remember whenever you're working on this thing 227 00:21:56,120 --> 00:22:01,680 is that just because a command works on one Matomo server doesn't necessarily mean that 228 00:22:01,680 --> 00:22:06,640 it works on every other Matomo server. And the reason for this is that every plugin that 229 00:22:06,640 --> 00:22:13,120 you install has the ability to add options to that list. So in other words, we're talking 230 00:22:13,120 --> 00:22:19,200 about all of these console commands can be or are in a lot of cases server specific. 231 00:22:19,200 --> 00:22:24,240 So if you're ever curious about how to run these console commands, how do I figure out 232 00:22:24,240 --> 00:22:29,000 how to use all of this stuff, use the list command, use the help command and build your 233 00:22:29,000 --> 00:22:37,020 command from there. Alright, so our next section is going to be useful free plugins and these 234 00:22:37,020 --> 00:22:43,760 are specifically plugins that are not installed in Matomo by default, but are available to 235 00:22:43,760 --> 00:22:49,000 be downloaded and installed directly from within your Matomo instance without requiring 236 00:22:49,000 --> 00:22:54,840 any additional information. All you basically have to do is click download and install from 237 00:22:54,840 --> 00:23:00,400 your Matomo instance. And we're going to start with the first one on my list at least and 238 00:23:00,400 --> 00:23:07,320 in my opinion, one of the best free plugins that you can install called the Queued Tracking 239 00:23:07,320 --> 00:23:14,440 plugin. So the Queued Tracking plugin, it improves the performance and the stability 240 00:23:14,440 --> 00:23:20,920 of your Matomo server by reducing the load on the Matomo database during tracking. It 241 00:23:20,920 --> 00:23:27,720 also at the same time really greatly improves the speed of tracking requests sent to your 242 00:23:27,720 --> 00:23:33,560 Matomo server. So how this works does take a little bit of an explanation. So we're going 243 00:23:33,560 --> 00:23:37,840 to do that now. So hopefully you'll see a graphic on your screen and what we're looking 244 00:23:37,840 --> 00:23:42,560 at here is what we would consider a normal tracking request. So you can see up at the 245 00:23:42,560 --> 00:23:49,040 top there, the browser sends that HTTP tracking request. That tracking request then gets received 246 00:23:49,040 --> 00:23:55,040 by the Matomo server and needs to be processed. It's then inserted directly into the Matomo 247 00:23:55,040 --> 00:24:01,000 database into that raw visits log and then once it's inserted, we send that response 248 00:24:01,000 --> 00:24:10,000 to the browser. Now the Queued Tracking plugin, this behavior changes in a few key ways. So 249 00:24:10,000 --> 00:24:15,320 as we can see on the next graphic, as soon as the Matomo server, so here at the top again 250 00:24:15,320 --> 00:24:21,640 we can see the HTTP tracking request. As soon as that is received by the server, it's put 251 00:24:21,640 --> 00:24:27,180 into a queue and then immediately the Matomo server responds to that browser or to that 252 00:24:27,180 --> 00:24:31,480 device or that application to say, great, I've got that tracking request, you can carry 253 00:24:31,480 --> 00:24:36,780 on. Once that tracking request is then placed into the queue, there's a few different things 254 00:24:36,780 --> 00:24:42,720 that can happen. Now, number one, you can either set up your Matomo instance to automatically 255 00:24:42,720 --> 00:24:49,000 process all of the requests that are in the queue when the queue reaches a certain threshold, 256 00:24:49,000 --> 00:24:54,440 but it can also be set up to be run on a schedule. So for example, you can process all of the 257 00:24:54,440 --> 00:24:59,880 requests in the queue once every minute or once every two or three minutes. And what 258 00:24:59,880 --> 00:25:05,480 this really does is that like you saw in the beginning, it not only improves the tracker 259 00:25:05,480 --> 00:25:12,740 performance, but it also enables your Matomo server to handle very large traffic peaks 260 00:25:12,740 --> 00:25:17,000 without bringing down your database server. And the way that it does this is that instead 261 00:25:17,000 --> 00:25:22,480 of sending, you know, small little individual single tracking requests every single time 262 00:25:22,480 --> 00:25:27,500 one of those tracking requests is received to the database server, it can process all 263 00:25:27,500 --> 00:25:33,480 of the tracking requests in that queue as a batch tracking request. So it really helps 264 00:25:33,480 --> 00:25:38,720 your Matomo server and it really makes a lot more stable and capable of handling those 265 00:25:38,720 --> 00:25:41,080 very large tracking peaks. 266 00:25:41,080 --> 00:25:47,760 All right, the next one on the list is the tracking spam prevention plugin. So the tracking 267 00:25:47,760 --> 00:25:53,600 spam prevention plugin gives you some really good options that you can enable to prevent 268 00:25:53,600 --> 00:26:00,040 spam tracking requests being sent or logged in your Matomo server. So it does this by 269 00:26:00,040 --> 00:26:04,640 giving you a couple of options. The first option it gives you is blocking requests from 270 00:26:04,640 --> 00:26:10,160 cloud providers. So this is really useful, for example, if you have a malicious or a 271 00:26:10,160 --> 00:26:15,440 bad actor that's sending you a lot of tracking requests from a server somewhere specifically 272 00:26:15,440 --> 00:26:19,920 in the world. And the problem might be that they're using a lot of different servers, 273 00:26:19,920 --> 00:26:25,380 you can't block all of those IP ranges. Well, the great news is the tracking spam prevention 274 00:26:25,380 --> 00:26:29,840 plugin is going to really help you in that. 275 00:26:29,840 --> 00:26:34,600 Number two is that it can automatically block requests from headless browsers. Headless 276 00:26:34,600 --> 00:26:40,320 browsers are notorious for people that try to send these sorts of requests because the 277 00:26:40,320 --> 00:26:44,760 load that it puts in the device sending those requests is a lot lower than a fully fledged 278 00:26:44,760 --> 00:26:46,940 browser. 279 00:26:46,940 --> 00:26:53,360 Number three, it can restrict the number of actions in a single visit or the maximum number 280 00:26:53,360 --> 00:26:59,560 of actions that Matomo will track in a single visit. This is especially useful to prevent 281 00:26:59,560 --> 00:27:05,600 spam visits that might or that can sometimes track hundreds or even thousands of actions 282 00:27:05,600 --> 00:27:10,360 in a single visit. We've seen some examples with people that we've provided support to 283 00:27:10,360 --> 00:27:17,400 in the past from the Matomo team, where they've had individual visits tracked over 10,000 284 00:27:17,400 --> 00:27:22,880 actions in a single visit in a matter of minutes or even hours. And the great way is that you 285 00:27:22,880 --> 00:27:29,440 can automatically block this or cap the number of tracking requests that can be tracked in 286 00:27:29,440 --> 00:27:31,800 a single instance. 287 00:27:31,800 --> 00:27:39,640 And number four, it can exclude specific countries or it can allow you to only include specific 288 00:27:39,640 --> 00:27:45,520 countries. So this is really useful. For example, if you have a website that is specifically 289 00:27:45,520 --> 00:27:51,680 targeting or specifically only working in a single country or in a single group of countries 290 00:27:51,680 --> 00:27:56,840 to automatically exclude any tracking requests from countries outside of that, but it can 291 00:27:56,840 --> 00:28:01,960 also be useful to very quickly and easily exclude specific countries if you notice that 292 00:28:01,960 --> 00:28:07,680 you're getting a lot of spam or non-legitimate tracking requests from those countries. 293 00:28:07,680 --> 00:28:13,560 All right. The next plugin on the list, which is an absolute must-have, is the marketing 294 00:28:13,560 --> 00:28:20,080 campaigns reporting. So by default, Matomo will give you the option or will give you 295 00:28:20,080 --> 00:28:26,360 the ability to track campaigns. And it comes with a really useful campaign URL builder 296 00:28:26,360 --> 00:28:32,360 directly in the Matomo UI. However, a lot of people, or let me rather say, most people 297 00:28:32,360 --> 00:28:38,480 probably already have campaigns set up that they're using to drive traffic to their site 298 00:28:38,480 --> 00:28:43,720 using campaign links that are oftentimes set up in their ad networks or with specific social 299 00:28:43,720 --> 00:28:50,000 networks. And the marketing campaigns reporting plugin extends that default capability, that 300 00:28:50,000 --> 00:28:57,000 default campaigns reporting, to give you access to all of the possible campaign parameters 301 00:28:57,000 --> 00:29:02,840 used by these platforms, as well as providing support for some of these campaign tracking 302 00:29:02,840 --> 00:29:10,020 parameters without needing to use any of the Matomo-specific campaign parameters. We have 303 00:29:10,020 --> 00:29:14,560 a really great blog post available on our blog that you can go and read up about the 304 00:29:14,560 --> 00:29:18,560 marketing campaigns reporting, and I would definitely recommend installing it on your 305 00:29:18,560 --> 00:29:23,880 Matomo server. All right. The next one on the list is probably a little bit more for 306 00:29:23,880 --> 00:29:30,060 the Matomo administrators out there. So that's called the Log Viewer. So the Log Viewer is 307 00:29:30,060 --> 00:29:35,200 kind of more just a quality of life or convenience plugin that you can install to have a quick 308 00:29:35,200 --> 00:29:41,440 look at the Matomo application logs. So this can really save you some time and effort instead 309 00:29:41,440 --> 00:29:46,840 of having to SSH into your server and grep some logs or download your logs from your 310 00:29:46,840 --> 00:29:52,920 syslog server, you can just log into Matomo, go to your administration UI, and have a look 311 00:29:52,920 --> 00:30:01,240 at the logs directly. All right. And the next one on our list is the Custom Alerts plugin. 312 00:30:01,240 --> 00:30:05,720 So the Custom Alerts plugin is really great, especially if you're not somebody who's looking 313 00:30:05,720 --> 00:30:12,160 at the reports every single day. And what the Custom Alerts plugin allows you to do is 314 00:30:12,160 --> 00:30:19,960 to get notified when something changes or something specific happens in your Matomo 315 00:30:19,960 --> 00:30:25,160 instance or on the websites that you're tracking. For example, you can set up an alert when 316 00:30:25,160 --> 00:30:30,840 your website gets more than 300 views in a day. You can have another alert set up, for 317 00:30:30,840 --> 00:30:37,280 example, if a specific product sells less than 100 items in a specific timeframe. But 318 00:30:37,280 --> 00:30:43,760 alerts can be set up in other ways as well. For example, you can set up alerts as percentages. 319 00:30:43,760 --> 00:30:49,760 So you can set up an alert, for example, that notifies you if the traffic to your website 320 00:30:49,760 --> 00:30:56,720 drops by more than 50 percent in a given timeframe. And obviously, a 50 percent drop over a given 321 00:30:56,720 --> 00:31:01,840 timeframe probably indicates that something big has changed or something has happened. 322 00:31:01,840 --> 00:31:09,320 You can also set it up for if you have zero visits. Now, obviously, zero visits would be a pretty bad 323 00:31:09,320 --> 00:31:13,640 outcome for you. You want to be sure that you're getting all of the tracking data and 324 00:31:13,640 --> 00:31:18,640 that nothing is wrong with that tracking data. So for those types of alerts, you can actually 325 00:31:18,640 --> 00:31:24,920 set them up not only as an email alert, but also as an SMS alert. So if you're setting 326 00:31:24,920 --> 00:31:29,560 up an SMS alert, you'll need to make sure that you also set up the Mobile Messaging 327 00:31:29,560 --> 00:31:35,080 Plugin. Now, the Mobile Messaging Plugin is included in Matomo Core, but it might not 328 00:31:35,080 --> 00:31:39,480 be activated on your Matomo server. So if you want to set up SMS alerts with a Custom 329 00:31:39,480 --> 00:31:45,520 Alerts Plugin, you'll need to go ahead and activate that plugin as well. And the last 330 00:31:45,520 --> 00:31:53,040 plugin on our list for today is the IP2 Company Plugin. This one kind of explains itself. 331 00:31:53,040 --> 00:32:00,400 What it does is it adds the functionality to your Matomo server to easily see if visits 332 00:32:00,400 --> 00:32:07,880 to your website or app are connecting from any known IP ranges for specific companies. 333 00:32:07,880 --> 00:32:13,320 So this is really useful, especially if your website or even your marketing campaigns are 334 00:32:13,320 --> 00:32:20,160 specifically targeting a certain market segment or even a very specific company. It also provides 335 00:32:20,160 --> 00:32:24,080 you some reports for these as well, so you can see which companies are visiting your 336 00:32:24,080 --> 00:32:31,640 website or using your application more than others. And all of these plugins can be found 337 00:32:31,640 --> 00:32:39,320 on the Matomo Plugins website at plugins.matomo.org. There is a massive list of plugins that didn't 338 00:32:39,320 --> 00:32:43,960 make the cut, unfortunately, for this session today. So if you're ever curious, if you wanted 339 00:32:43,960 --> 00:32:48,800 to know how you can extend the capability of your Matomo server, have a look at the 340 00:32:48,800 --> 00:32:56,080 list of plugins available there. And alternatively, you can also find them in the Marketplace 341 00:32:56,080 --> 00:33:01,360 section of your Matomo server. From there, you can directly install and activate and 342 00:33:01,360 --> 00:33:07,680 start using these awesome plugins. All right. And that brings us to the end of the last 343 00:33:07,680 --> 00:33:13,240 segment for this MatomoCamp session. So we're going to move on to some question and answers 344 00:33:13,240 --> 00:33:19,400 now. So if you haven't yet had an opportunity to send some questions through to the chat, 345 00:33:19,400 --> 00:33:24,360 just going to take a minute. The moderator has sent some questions through to us on the 346 00:33:24,360 --> 00:33:28,280 chat on this side as well. So we'll just have a quick look through those questions and see 347 00:33:28,280 --> 00:33:37,100 if we can answer some of them. How is it like to work for the Matomo or InnerCraft team? 348 00:33:37,100 --> 00:33:43,220 This is a question from Ronan. Honestly, it's been probably one of the best work experiences 349 00:33:43,220 --> 00:33:48,260 that I've ever had in my life. The team is amazing. It's awesome to work in a group of 350 00:33:48,260 --> 00:33:56,240 people that are conscious about open source software, conscious about being open and sharing. 351 00:33:56,240 --> 00:34:02,140 And it's really just a great company culture overall. What are the next big features the 352 00:34:02,140 --> 00:34:10,200 team is working on? So yeah, there's not a lot of big secrets when it comes to what sort 353 00:34:10,200 --> 00:34:14,660 of features we're working on. If you want to know what features we're working on next, 354 00:34:14,660 --> 00:34:19,940 you can probably have a look at the GitHub issues page. And you can kind of see, kind 355 00:34:19,940 --> 00:34:24,060 of looking at those milestones in the GitHub page, you can kind of get a feeling of what 356 00:34:24,060 --> 00:34:29,960 features are going to be worked on next. What is the priority for those sorts of things? 357 00:34:29,960 --> 00:34:35,680 Can we add new shortcuts with Matomo? This is actually something I'm not 100% sure. And 358 00:34:35,680 --> 00:34:40,620 I don't think we have the option to have keyboard shortcuts, but that's definitely something 359 00:34:40,620 --> 00:34:48,700 that I'll have a look at and ask the team about as well. Do we have any plans to develop 360 00:34:48,700 --> 00:34:55,260 more documentation about how to make more attractive teams? So I'm not sure who asked 361 00:34:55,260 --> 00:35:00,740 that question specifically, but we do actually have a developer's guide available on our 362 00:35:00,740 --> 00:35:08,940 developer documentation on how to create themes. Obviously, there's not necessarily very specific 363 00:35:08,940 --> 00:35:16,100 examples of what you can do. The main reason for that is that it's kind of really open. 364 00:35:16,100 --> 00:35:21,220 If you know a little bit about CSS, you know a little bit about LESS, you can go happy 365 00:35:21,220 --> 00:35:26,700 and hack away all day every day and create really cool customized themes. Something that 366 00:35:26,700 --> 00:35:33,540 I may not have mentioned earlier is that you're not just limited to using CSS or LESS, you 367 00:35:33,540 --> 00:35:40,020 can also include JavaScript files in your plugins to kind of extend it even further 368 00:35:40,020 --> 00:35:49,540 than what CSS or LESS would allow you to do. All right, Lenaro asks in the chat room, does 369 00:35:49,540 --> 00:35:58,620 the spam prevention work retroactive to filter out already made spam visits? No. So the tracking 370 00:35:58,620 --> 00:36:03,320 spam prevention plugin doesn't work retroactively. So this is something that you would need to 371 00:36:03,320 --> 00:36:11,260 install to prevent future spam tracking requests. If you do have very specific spam tracking 372 00:36:11,260 --> 00:36:16,820 requests, the best way to get rid of that data or those spam tracking requests is to 373 00:36:16,820 --> 00:36:23,740 use the GDPR tools available within Matomo. And that can be kind of useful, especially 374 00:36:23,740 --> 00:36:28,660 if they've, for example, all of the tracking requests came from a certain IP address or 375 00:36:28,660 --> 00:36:35,220 if they came from a certain country or they track certain specific things to your Matomo 376 00:36:35,220 --> 00:36:40,380 instance, you can use those GDPR tools to very quickly and easily delete all of that 377 00:36:40,380 --> 00:36:49,700 data. All right, that's some of the questions that we've got on the, are we having any plans 378 00:36:49,700 --> 00:36:57,100 to make the config.ini.php file accessible from the UI? No, I don't think we've got any 379 00:36:57,100 --> 00:37:04,100 plans to make that config file editable from within the UI, but it is possible to view 380 00:37:04,100 --> 00:37:12,340 the config file from the UI. Not necessarily just limited to the config.ini.php, but there 381 00:37:12,340 --> 00:37:17,180 is a section under the diagnostics tab that you can actually go and have a look at all 382 00:37:17,180 --> 00:37:25,060 of the settings that are currently set either in the global config file or the config.ini.php 383 00:37:25,060 --> 00:37:30,460 within your Matomo instance. The reason why we wouldn't necessarily make it directly editable 384 00:37:30,460 --> 00:37:38,100 from the UI is because a lot of the settings that you set in the config.ini.php can override 385 00:37:38,100 --> 00:37:48,060 some of the settings that you might set in your user interface. All right, just having 386 00:37:48,060 --> 00:37:54,620 a look for a couple more questions. Do you have any tips for solving upgrade issues? 387 00:37:54,620 --> 00:37:59,620 Sometimes the upgrade fails and the database and core are not the same version. There have 388 00:37:59,620 --> 00:38:04,460 been several questions on this in the forum, but there isn't a good solution. That's a 389 00:38:04,460 --> 00:38:08,660 really great question and it's actually something that I helped one or two customers with in 390 00:38:08,660 --> 00:38:13,180 the last couple of weeks as well. It might be really useful from our end just to put 391 00:38:13,180 --> 00:38:18,540 that into an FAQ. It's something that I've kind of been planning to do as well, but yes, 392 00:38:18,540 --> 00:38:24,140 there is actually a way that you can roll back the version that is stored in the database 393 00:38:24,140 --> 00:38:30,740 so that Matomo can rerun all of those database upgrade commands. So stay tuned. I don't know 394 00:38:30,740 --> 00:38:37,180 if you have any way that you can kind of keep an eye on some of the FAQs. Otherwise, feel 395 00:38:37,180 --> 00:38:43,760 free to shoot us an email at support at matomo.org just asking about that information about those 396 00:38:43,760 --> 00:38:48,100 specific steps. And if we don't yet have that FAQ out there, we'll be more than happy to 397 00:38:48,100 --> 00:38:54,980 send that information on to you. Could you give a general definition of what archiving 398 00:38:54,980 --> 00:39:03,720 means? Yeah. So archiving is basically the process that Matomo uses to kind of process 399 00:39:03,720 --> 00:39:08,580 all of that raw data. So as you can imagine, if you're sending hundreds of thousands of 400 00:39:08,580 --> 00:39:16,180 tracking requests or hits to your Matomo interface, that data on its own isn't really useful other 401 00:39:16,180 --> 00:39:22,940 than just to kind of look at in reality. So what archiving does is it takes that raw data 402 00:39:22,940 --> 00:39:28,780 and it parses through every single piece of that raw data, and that is used to then generate 403 00:39:28,780 --> 00:39:39,480 the reports that you view in your Matomo instance. All right. Anyone else got a couple more questions 404 00:39:39,480 --> 00:39:56,540 for us? All right. That looks like all the questions for today. So that means that we're 405 00:39:56,540 --> 00:40:01,200 actually almost out of time. I really just wanted to say thank you, everyone, for joining. 406 00:40:01,200 --> 00:40:05,780 Thank you so much for the awesome questions that you asked. I hope that everybody learned 407 00:40:05,780 --> 00:40:10,680 something new today that will help give you success with Matomo. And I'd also like to 408 00:40:10,680 --> 00:40:17,640 give a massive thank you to the volunteers that have made MatomoCamp possible. This 409 00:40:17,640 --> 00:40:22,460 really is a community-driven event, and none of this would be possible without the awesome 410 00:40:22,460 --> 00:40:29,700 contribution of the volunteers as well as the sponsors. Have a great day, everyone. 411 00:40:29,700 --> 00:40:38,220 Bye.