So, hello and welcome everybody.
You might today have heard already a lot about Matomo, from different angles, from different
use cases, from beginner-friendly content to topics that are focusing quite on experts.
And I guess a lot of questions about the topic of Matomo, beginning from usability to technical
questions, a lot of questions might have arised.
So that's why today we have a Q&A session, where you can ask these questions you have
about Matomo to these speakers we have here today.
So the way this works is quite similar to the talks we have already had today.
You can see obviously the live streamer if you're watching.
And we have a chat room for this where you can ask any question you have about Matomo.
And I will then forward this question to one of the five speakers we have here in the room.
So to give you a bit of time to collect your questions and post them in the chat room,
I can start by quickly introducing our speakers here.
So let's start with Ronan.
Ronan is a Matomo analytics expert since 2010, and he's mostly focusing on training and doing
consulting for all types of companies, institutions, always around about Matomo analytics.
Stefan Koning, our second expert here, is also an expert mostly on focusing on digital analytics
and conversion rate optimization.
He has a lot of experience with Matomo and he will be able to answer your analytics related
questions.
Then we have Thomas Zernig, he's a CEO and web analytics expert from the border between
Austria and Germany.
And you might know him from the German Matomo explanation videos he does, or from the Power
of the Extension Matomo helper, which might some of you will be using.
And he will be able to answer your question about how to use Matomo and how to solve issues
using the user interface.
And we also have here as our fourth speaker, Stefan Giel.
He is part of the Matomo team since 2010.
And he is working full time on the Matomo core development in the last years.
So he is part of the core development team and expert for all the code related questions
in Matomo.
And besides this, he is also maintaining the Matomo translation and device detector, the
separate project, which converts user agents into the nice device information reports we
can see in Matomo.
And lastly, we also have Peter Bolleke.
He's part of the Matomo community from the very beginning in 2008.
And since then, he's supporting companies with all operations around Matomo.
And he can answer all kinds of technical questions around Matomo.
And yeah, I hope everyone can see the screen.
And let's just wait a few minutes for questions.
Maybe in the meantime, while people are typing questions, some of you, if anyone of you wants
to do a quick introduction or talk about some topic, they can talk about it now.
Maybe a question to all.
How do you learn something about Matomo or what is your entry point or what was your
entry point?
Or where do you can ask questions beyond this Matomo camp?
First of all, maybe not everyone knows that there is a forum, a board, where you can ask
questions, where you can ask questions in mother tongue, like Germany.
There is a good support in there.
And the other one is the Matomo support if you take the Matomo Cloud version.
And maybe the other ones have also some tips how to get more knowledge about Matomo.
A good point.
I forgot to introduce myself, of course.
I'm Lukas Winkler, and most of you will know me from the Matomo forum.
I spend a lot of my time answering people's questions on the Matomo forum, but also maintaining
some other documentation and answering to GitHub issues.
And this is also kind of the answer to your question.
If you have any questions about Matomo, if it's a general question, something doesn't
work on your setup, something like this, the best way probably is the Matomo forum.
A lot of people already have asked their questions there, and it's a great way to slowly get
to the bottom of the issue.
If you know that the thing you're asking is definitively a bug, and you have definitive
steps how to reproduce them, you can skip the forum and go straight to GitHub and create
a bug issue.
And that way, ideally describe it in a lot of detail so people can reproduce it.
And this way, people can see it, it's quickly organized, and it's easier to fix them.
Okay.
While we did this introduction, there have been a lot of questions.
And I'll start with one question from Peter Jones.
He asks, we can add the users in the Matomo interface.
I wonder if it will be possible to use groups in the future.
This will be useful when there are hundreds of thousands of users.
Does anyone have to say something about this?
Maybe it's Stefan.
I personally don't know about this suggestion.
I'm not even sure if someone has even suggested it until now.
But indeed, there are Matomo instances with a large amount of users, and some kind of
grouping might be useful, especially to give access rights to a site to many people at
once.
There had been a couple of requests for a more extensive permission management in Matomo.
And yeah, some of them were, I guess, asking for groups, but there currently aren't any
plans.
Then again, as a workaround until then, all of the user management features can be also
accessed via the API.
So if the issue is just having to manually add hundreds of users to a site, then of course,
you can easily automate this with a script in the programming language of your choice
and add the users there.
I hope this roughly answers your question.
There's a bit of a delay, so I will go on.
And if you have any follow up to this, simply ask again.
So Valentin asks, which killer feature from Google Analytics do you think should be included
in Matomo?
Secondary dimensions.
There is the custom report, it's a very great plugin for Matomo Cloud, or you can pay for
the on-premise version.
But I missed something like secondary dimension in time to filter in time, not to make the
custom report and then maybe the data takes a little bit longer to process.
So I wish, I think I added a feature request to the second dimension feature, but on the
technical side, it's a very huge feature and I think it's very complicated to integrate
into Matomo.
I think the data visualization part is as well missing somehow, highly asked by a Google
Analytics user who was Google Data Studio.
You will have a conference tomorrow from Baptiste Tivand about how to use Metabase with Matomo
Analytics, but it's still something which is kind of tacky, so you cannot put it within
the end of a marketer.
So I think working more on the integration of Matomo with a third party data visualization
system or to have its own more sexy data visualization system is of paramount importance for Matomo.
One feature that could be included that Valentin suggested that, now that I read it, also find
a good idea is simply a live view that shows the number of hits in the last five minutes
to get a really close how many people are accessing the website right now view, which
incidentally, now that I'm looking at the reports for the Matomo camp, might also be
something interesting to see.
In addition to I agree with Thomas as well, definitely secondary dimensions, but also
a decent way to import and add additional data into Matomo to combine it with the data
set that you already have in the thing that would make a lot of sense as well.
Okay, I see an interesting another question from Peter Jones.
They have an older PVIC instance, but are trying to migrate it to Matomo.
What are your experiences of migrating PVIC data into Matomo?
Maybe something for Peter or Stefan.
Well, I can take on this one.
It is possible.
It depends on how much data do you have in the instance.
So also with low amounts of data and also with high amounts of data, it's definitely
possible.
But it can with a higher amount of data take some time because a lot of scheme changes
for the MySQL database are necessary.
And also things can break because the version jump from two or three to four is a major
one.
So a lot of things in the database scheme have been optimized and have been changed
also.
So you should definitely make sure to have a real good backup before you start doing
that migration.
And then think also about some outage of your Matomo instance while you're updating, at
least with a bigger amount of data you have in your instance.
Lock around could be, for example, like you could just leave the tracker running or writing
into a log file.
And then after your migration is complete, you can import this log file with the replay
log functionality of the log importer.
So you don't lose too much data.
So the replay logging probably is the best solution for importing nearly this data that
would have come into the instance while you had this outage.
But all in all, you have to make sure that you have a few hours of outage in your Matomo
instance.
So your users have to know and the stakeholders have to know.
But all in all, I also updated, I think, 20 to 30 big instances to Matomo from Pivik or
from the early versions, and everything went perfectly well.
One minor thing I also want to add is something a lot of, even if it's a small instance, something
a lot of people are struggling with, if they have a really old Pivik version, is that this
really old version, of course, also runs with a really old version of PHP, and there might
not even be a version of PHP that is really old Pivik version is compatible with.
And the newest Matomo version is compatible with.
So if it's a really old version, it might be useful to do a few intermediate jumps of
a few intermediate versions of Matomo.
And maybe if the compatibility requirements also require it, also intermediate versions
of PHP to make sure the migration runs as smooth as possible.
A lot of people might not know it, but on builds.matomo.org, the download page, you can
download every single Matomo version, I think that has been released since 2008.
So this way you can easily update to another old version before you do the next jump.
Another question from Juliet is, is there a possibility to aggregate that data directly
in Matomo?
So the number of users grouped by a certain custom variable, for instance.
She says I'm mostly using the API and then aggregate that data with Python pandas.
Personally, I can't say much helpful things about it.
Don't really have much experience with any use case where you would have to aggregate
data.
Of course, the way you are doing it, using the API and then doing any data processing
afterwards, of course, always works, but might not be the most ideal one.
Probably Juliet, it would be good to elaborate a bit on that, what you're trying to achieve,
because in the custom dimension reports, you have everything grouped by the custom dimension
in the sense of that every custom dimension has its own row in that report.
If you're trying to group all other reports in the dashboard, for example, for those custom
dimensions, combinations or a single custom dimension, this is probably not possible in
the dashboard at least.
So going with an external solution like Python pandas or Tableau Power BI Metabase or something
like that would be the way to go, at least for the moment.
One quick note to Peter's previous explanation for replaying the logs by Chris is if one
tries to go this way and jump the downtime of the upgrade by afterwards replaying the
server logs that reach the Matomo server, one of course has to pay attention that all
requests sent to Matomo are GET requests, not POST requests, otherwise, of course, the
data won't be written in the reports in the server logs.
Mikael has another question about database speed.
He says that the database speed is a big issue and is it possible or has someone tried to
use Solr or any other database for quicker queries?
Maybe Stefan or I can say something about it.
As far as I know, there aren't any plans to support other databases because it's hard
to start supporting other databases when you have a software that should be available for
every user on a hosted system and MySQL is simply the mostly supported database.
Indeed, the main issue, I think, is if you wanted to add support for another database
and it doesn't matter if it's something like Postgres SQL or something completely different,
it would always mean you'd have to rewrite a huge portion of Matomo.
And in this case, it might even be quicker to simply export the data from Matomo.
And if you're already rewriting it from scratch, do the queries in this database directly.
And of course, the other thing is if you would rewrite a huge portion of Matomo to support
other databases that are maybe more specialized for analytics data, is that either both versions
that would differ quite a lot, usually would need to be maintained in the future, which
is really hard to do, or the MySQL, only MySQL compatible version would have to be dropped.
But this would mean that nearly everyone who can at the moment simply install Matomo on
their server using MySQL, MariaDB or something like this, would have major issues continuing
to use Matomo in the future.
So because of all of this, I think it won't change in the near future, that Matomo will
be MySQL and MariaDB only.
An interesting question by Peter Makers is, are there any ideas about integrating a website
carbon calculator, which measures how much impact your website has on the planet?
It could be a unique selling point for potential new users.
If no one else has something to say about this.
I think this is one of the use cases, which would be a really nice Matomo plugin, because
it's something only a few people would be interested in, but it would be a nice feature
for them, and it's something you can quite easily put around a Matomo without having
to modify something of the core code.
So this would be a nice, simple plugin.
And if someone gets around to programming it, it would be really nice if they could
publish it on the marketplace, I think.
In the meantime, maybe a question about translation.
How does the translation process work in Matomo?
If Matomo isn't completely translated in the language I speak, or if I notice a type or
a sentence that doesn't really make sense in Matomo, how can I fix this?
How can I report this?
Maybe Stefan has something to say about this.
We recently switched our translation platform to Contribute2, and all our translations are
currently hosted on Weblate.
It's another open source software to maintain translations.
And everyone can suggest or change the translations there to any language.
And from there, the translations are automatically pushed to our GitHub repository and will later
be included in any new release of Matomo or any of our plugins.
OK, then a bit more analytics-based question from Arribas is, they are currently using
Matomo in order to save page data, but would we like to be able to categorize the pages
based on the department?
The data for this is already in the page.
And could you please let us know how to proceed?
I can take this one.
It's basically what you could do is, if the information is already there, you should be
able to store those kind of input within custom dimensions and then basically also be able
to segment on this later on as well in Matomo.
I would recommend to start measuring it together with the default page view tracking and also
add some certain custom dimension tracking with the given values that you have for the
given departments and store it there.
And then you are able to filter it, segment it, or create custom reports with it, as you
wish.
Yeah, it should be easily doable with the tag manager.
Typically, you could just say, OK, there's this element on the page which is on the future
on the footer who has those given HTML attribute.
So I'm taking out this given attribute that I insert within the custom dimension field
in the Matomo custom variable, configuration variable within the tag manager.
And every time that the page is going to be loaded, as this given element is on the page,
it's going to grab it and put it as a custom dimension.
And then it will slice your categories accordingly.
Perhaps also as an important comment on exactly this problem is, from the performance view
of things, you should always try to put as much business complexity in the tracking runtime.
So try to put as much complexity as possible from your data reporting and dashboard reporting
and your segment definitions, et cetera.
Try to put it into the tag manager, because if you have to filter for a custom dimension,
it is very quick, it is very performant, very effective, and also the underlying MySQL queries.
If you, for example, have your segment definition grouping 100 page URLs to try to define your
branch or something else, some page grouping via segment, it will be very ineffective and
slow.
So try always to do as much as possible in the tag manager with custom dimensions, track
some events with extra data, and so your performance stays good.
I just noticed that I missed a question a bit above for Melanie.
They have problems aggregating certain reports where monthly reports have fewer data than
the daily reports in the internal search report.
And which actions could we take to analyze the problem?
So I think this is something that's hard to do a general guess, but how can one approach
such an issue?
What is the easy way to get in the direction of the issue?
How to start troubleshooting?
So perhaps I will just start on trying to answer that.
The troubleshooting probably starts with making clear which part of the system makes this
error.
So probably one thing to keep in mind is that the archiving could fail on the monthly archives.
Mostly this is the case when the memory limit is reached.
So you will have to search in the server log files for errors in the archiving process.
When you have a look, so if you're using the cron drop, so you should make sure that you
disable the browser archiving.
I think we can attach some links to that page later on in the chat also that you can make
sure that you enable the cron drop for the asynchronous archiving of data.
And then you can also read on that page how to log the things that this cron drop writes
to the console, how to log it into a file and then analyze that file for errors in the
monthly archive generation.
That's probably in 90% of the cases the problem that the archiving job is failing for some
reason.
That's in general I think a good advice.
If there are weird issues with the reports, maybe check the output of the archiving process
if you're using a cron drop to regularly call it.
Because it can be quite verbose and there are some parameters which you can add to make
it even more verbose.
And sometimes you can find something weird or some warnings in there which are a good
hint in which direction to look.
A short question from Niklas who has problems with the heatmaps before I will just quickly
recommend you to send a quick email about it to the premium plugin support team.
They can help you with this probably quite easily.
Then another question from Chris because we talked about get and post requests previously.
If there is a way to switch all requests to get.
I can say something on that and by default the Matomo tracking uses send beacon from
the browser which uses a post request.
You can either disable this with the method disable always use beacon or something like
that or you can force the request method with set request method.
Those should be JavaScript tracking options you can send with a tracking code.
The only thing to keep in mind there is of course there is a limit of how much data can
be sent in the get request.
Matomo also the old versions automatically switch to a post request if the older data
that would be sent would be too large.
I think it's quite a lot of data that would need to be sent for it to be too large for
a get.
But if the website you're tracking has enormously long URLs or something like this, this is
something to maybe keep in mind.
Just to mention it, this will always be the case if you are tracking heatmaps and stuff
like that because it tries to send all the HTML body with a tracking request and that
is required to send with post as get won't work.
Another question by Valentin, which was a bit answered in the chat already, I just want
to mention it here on stream for the recording.
If it is possible to set the custom time for a scheduled task, for example, to choose that
the scheduled task should always run in the night when there are fewer Matomo website
visitors that the server has less load or something like this.
And as far as I know, there isn't yet a feature like this.
It might be something that could be added and that a lot of people might be interested
in.
A workaround that Tasman is suggested is, of course, you can run the Matomo scheduled
task individually.
So if this is something you care about, you could set up a separate Chrome jobs for all
the scheduled tasks in Matomo.
One question by T Scott is, are there plans to introduce filtering much like what exists
in Google Analytics because segments don't cover all visits, which doesn't suit their
purpose?
As far as I know, there is actually an issue on GitHub, but I don't know the current state
of it.
But I guess it isn't planned currently.
Yeah, I'm sharing the same answer.
I don't have the answer here.
So for the guys who are not familiar with Google Analytics, typically in Matomo, you
get a different way of working.
So they have like within the global settings, you can exclude by IP address and by adding,
for example, the spam tracking prevention, you can exclude by countries, but you don't
have as much flexibility as the Google Analytics filter, which are including those two dimensions
that I just mentioned, including as well user agent, I forgot in Google Analytics, you have
all the other dimensions, possibility to use as filter to come in, to filter out or include
out within Google Analytics.
And it's true that currently Matomo does not offer them all.
And I don't know if they have plan of doing it.
Yeah, I posted a link to the GitHub issue Stefan referred to.
If you're interested in this topic, I'd recommend you to look it up there.
In the meantime, while I'm looking for the chapter, one question I think would always
be interesting to hear is, how can one contribute to Matomo?
Either how can I report, notice a bug in Matomo, how can I report it, or if I know how to program,
how can I even fix it myself?
Okay, so it follows up, I think, a bit to the thing I mentioned in the beginning.
So if you just have a vague issue and are not sure what is exactly going wrong, the
easiest thing is to ask on the forum.
And that way, find out a bit closer what exactly is the issue, what is going wrong.
If you know exactly what is going wrong and how someone can reproduce it, then you can
go directly to GitHub and create a GitHub issue for it.
Of course, adding steps how to reproduce it makes it a lot easier to understand the issue,
makes it a lot easier to fix it because oftentimes it's obvious for the person writing a GitHub
issue to know, it's obvious for them what they are talking about, but if you're not
up to date on what they are doing, it's quite hard to understand it.
And adding steps to exactly reproduce the issue makes it a lot easier to understand
the issue, and that way also a lot easier for a developer to debug it and then fix it.
And of course, if you're a developer yourself and know how to fix it, then the easiest thing
is of course to change the code, create a pull request with the change and contribute
it to Matomo yourself.
If you're a developer but don't know, not that familiar with Matomo, then you can also
go to the Matomo developer page, which has a great page about how to get started with
the code base of Matomo and how to set up a local Matomo development instance, which
makes it a lot easier to contribute code changes.
More analytics-related question about funnels, maybe for Stefano or Ronan, do you see the
question yourself?
I'll repeat it for people watching the recording.
Talking about funnel refills, how is it working?
If you have a funnel like this, where the first step is entry, then going to a conversion
directly, does it get refills in the steps afterwards before the goal conversion?
Maybe Ronan or Stefano have something to say about it.
I'm not that familiar with it.
I can't really help here.
Otherwise, the question would again be to ask the support team.
Well, you can of course set your goal in there and the conversion will be set in the second
step when it's directly being achieved.
It depends whether the fifth step is also being set as a conversion in your goal configuration.
You can set it, set Matomo to make a conversion multiple times or to do it only once within
a given visit.
So that kind of things matter in your goal configuration, but as soon as someone moves
across additional steps, it depends on whether certain steps are required or not to check
whether the steps have been achieved and it really depends on your goal configuration
settings there.
A question by Marcel that I think a lot of people are asking is they have a website and
they want to collect the reader feedback, so feedback by the people visiting the website,
something like how did the story make you feel?
It makes sense to collect this data in Matomo to connect it to the other data and could
this be realistically implemented on top of Matomo or with Matomo as a data store?
Of course, you could program something like this rather easily yourself if you do the
user interface part yourself and then send the data, for example, as a custom event or
something like this, but by chance, we have a talk tomorrow where Thomas Pearson is talking
about a plugin they developed which does quite exactly this, which adds a feedback feature
to a website using Matomo.
So you might want to listen to this talk tomorrow.
Yeah, I added the link within the chat.
I think don't focus yourself on the form which is on the page link that I show you because
I think that's in the link that you sent, you're like eight different buttons.
I think that you can add with this plugin custom layout in order to have more than two
buttons and to have eight like yours.
The best thing is, yes, of course, to ask Thomas, but they work since probably two years
on this plugin.
So that's going to be a premium feature.
So that's more the part where your hype go down, let's say.
But it's always good to discuss with him to see, in fact, how they did it and the spirit
behind.
And I had the chance to assist to several conferences of demo that he made and it's
very impressive and great feature.
Maybe in the meantime, also a more marketing related or user related question that I get
a lot of times is now that there is Matomo tech manager, what are the differences between
using Matomo the regular way and using Matomo tech manager?
So I could say a few words about that.
So basically or generally both things are working and will work in the future.
So that's the important thing to know at first.
But mostly also with bigger teams working on Matomo, also more than one analyst.
And if you have more than one requirement collected for tracking capabilities and everything,
the tech manager makes more sense than the legacy tracking code.
The reason for that is probably if you want to extend your tracking concept and you want
to have more tracking features, collect custom dimensions, events, and have some behavioral
stuff included into the tracking code.
For example, if it's just a simple thing like tracking clicks on a call to action button
or some kind of other interaction stuff, you would always have to have a release cycle
and close contact to the developer of the website to just give him the code and prepare
everything.
And he has to include it in the website.
And then you have to release a new version of the website to include the new version
of the tracking code.
And then in worst case, you have made an error anywhere or you need more data.
You have a stakeholder that called with a feature request in the last second and you
didn't bring it into the current sprint or something like that.
So it's quite a nightmare to maintain this kind of code.
With a tech manager code, it's mostly or most of the things you can do within the tech manager
configuration in the generic user interface.
So this is not a free ticket for everyone to do everything with tags and release new
container versions and stuff because you can't break the site with that.
So there should be a workflow for that.
But basically, it is your time to market for the tracking is much better than with the
legacy code.
And also the maintainability is much better.
And you can feed information that you can't collect from the HTML directly.
You can gather via the data layer.
So that's the single point of connection between you and the developer or the CMS is the data
layer.
You have to ask the developer to pass over information that you can get from the HTML
and then you can pass it over to the tech manager and process everything with it.
So it makes things in life much easier here.
I also just noticed if you're really interested in this topic, you might want to leave the
session right now and go to the other livestream room because Thomas Persson is currently talking
about TomoTag Manager and the basics of it.
In addition, you have also everything in one place.
Every tracking script, you know where the tracking script is implemented and so on.
And if you do a relaunch, you don't have to make a list of all the tracking scripts in
page path 500 and so on.
And so you can only open the tech manager container and see which scripts you are using.
Sometimes it's easier to troubleshoot everything with the development or debug view.
And you have some templates, some you can fill in so you don't have to code something
if you're not familiar with coding.
And so you can use some templates to integrate some external services.
And if you want to roll back, you have a version control and I think it's easier to roll back
a tech manager version than a release version.
So I think in time, you can easily roll back a version in tech manager and like to say,
you have to go to the developer and say, okay, can you reverse please the last version?
And so it's easier.
And yeah, sometimes you can see you have also documented who changes what.
But okay, in the development, you have this too.
But there you have the user permission management in one place.
And I think some of this are all very good features.
And I think in mind, I would never integrate tracking scripts without a container without
Matomo tech manager or something else, something some other tech managers.
Hey, I think I have answered most of the questions.
Of course, the Matomo camp doesn't end now.
We still have a rest of the day and a full day tomorrow.
And if you have any more questions, just feel free to ask them in the chat.
People will still be here.
People will still be able to answer.
And maybe if you want to talk to other people, again, the advertisement in the breaks or
maybe after the last talk today, you can go to meet.matomocamp.org and talk to other attendees
of Matomo camp.
Maybe some of us will be there.
I'm not sure.
Well, thank you very much for all the questions that you ask.
And we hope that you are having a great Matomo camp.
Thank you very much.
Have a nice evening, guys.
You too.
Bye bye.