-
-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Separate page metrics by hostname #478
Conversation
Closes #160 Problem ======= The issue I am aiming to solve is that some people (myself included) use subdomains, and want the data for the main site (e.g. j3rn.com) to also include data about the subdomains (e.g. blog.j3rn.com) such that they can have a holistic overview of an entire property. Proposed Solution ================= I modified the "page" queries (top pages, entry pages, etc) to: 1. `GROUP BY` hostname 2. Combine the hostname and path to form the `name` field (whereas it was previously just the path). This worked relatively well with the existing React code, and only a small change (outbound links) was needed. I've tested this locally to my own satisfaction. I'm very open to feedback on any ways this can be improved!
Hey @ukutaht! Thanks for taking the time to review my PR! I'd be happy to implement the changes as you've described, but I also had an alternative idea for you!
Here's a mockup of the whole idea:
Of course, I'd be happy to persist these preferences in localStorage 😁 What do you think? |
I think it looks neat and would be nice if it automatically detects whether the However, @metmarkosaric and I have planned this space to be used for a different function. The area where you've placed So this is why I still think it should be hidden in the modal popup or in a more subtle UI interaction. |
Hi there, @ukutaht How about adding a To summarize:
What do you guys think? If it sounds good to you, I can work out a new PR or work over this here one. |
The hostname capability is important to me as well. IMHO, displaying the hostnames is better whenever multiple hostnames coexist. |
Thanks for the suggestion @bmenant. I can see how it solves your problem, although I'm not convinced it's the best place for it. What if you want to see entry/exit pages also broken down by the full URL including hostname? I have a suggestion: how about making the It would be a fairly hidden feature that people need to learn but I think that's appropriate since it's a niche use-case. Maybe you can tell that we're obsessed with keeping the dashboard clean for the average use-case. WDYT? @vermorel ? |
@ukutaht Sounds like this label would change the group by clause, right? The dropdown’s title could be group by for example? Then, I understand that for each
With your suggestion in mind, I understand I can click that dropdown, select Hostname, find the hostname I want, and click on it to filter the whole dashboard by this hostname. Sounds a little slow at first, but a power user could just “hack the dashboard url” and instantly see results for a given hostname. 👍 LGTM P.S. I totally understand your obsession, keep it on! ;-) |
Yes that's exactly right, the label is the group by whereas entry/exit/top pages are completely different queries on the backend.
That's right. I think in the future we'll also have a global Naming is always debatable, I like the direction you're thinking in but instead of a plus sign they could be formatted as:
|
thanks! mostly because for 95%+ of our audience that would be noise that is not necessary to have as they only have one single domain. we're trying keep Plausible as nice and minimal as possible. for your example it doesn't look too bad but imagine sites with longer domain names or sites with longer page paths. Top Pages report as it is right now would become less useful for all of them and it would simply repeat the same domain/page path 9 times. Top Pages is one of the most important things they look at so we cannot make it less useful for the majority of our audience Other sites with similar usecase also want to be able to see all traffic combined but then also to be able to split and view a specific subdomain on its own so the feature has to satisfy those needs too |
looks better for sure! how do you imagine the people that only want to select worth exploring how it will look if |
@metmarkosaric I would respectfully but firmly disagree. On the contrary, I observe that the majority of the people who actually run at least 1 website, run multiple websites. I would strongly support the first option (which include the hostname) as proposed @baptisteArno. Right now, this feature is the No1 feature which prevents us from moving to plausible. |
thanks @vermorel! sure, people have multiple websites often but why would you want to put irrelevant websites on the same dashboard? i've only heard a handful of requests for this feature out of 15,000+ sites that use Plausible |
Yeah, great idea, it could be presented as a colored tag. I'll make a proposition any time soon! |
@baptisteArno your suggestion works great for people who specifically install their tracker on multiple subdomains of a single top-level domain. Any ideas for the third group in this list?
|
The third group should have a dashboard for each domain. There's no point in having different domains on the same Plausible dashboard IMO. => If their domains are related in some way then it's a misconception from their side. Do you have an example in mind where it would make sense to have a unique dashboard for different domain names? |
Not myself, obviously, but some examples:
These are all technically the same application, but a user may want to track them in combination for some use cases, but be able to split down to per-hostname stats to determine if one performs better than the other/how things vary. |
Ok, these are legit use cases. Are the pages views are currently being collected on a "discordapp.com" site if you install a "discord.com" tracker? @ukutaht |
They would, yes. As long as the user has a unified data-domain value, the actual hostname doesn't matter - and (the full path including hostname) is still saved as part of the event data in Clickhouse. They'd however all show up grouped just by the pathname in the current setup, with no way for a user to differentiate which hostname they came from. |
Ok, then I can't think about a more intelligent solution than dynamically displaying the page views based on these conditions:
What do you think? |
I think in theory that's fine, but personally I think having the option to split by hostname or not on the fly is still vital. And it should probably stay consistent in the format (whether it shows the subdomains style, or the external style), in my opinion. |
Ok, and any sort of filtering option should be available only after we found a way to properly list all the page views grouped by pathname and hostname. |
Honestly I don't think this is that complex a feature from a technical standpoint, I think the main thing is just to hear out what exactly the behavior should be. Grouping by hostname when required, should just be a single change to the Clickhouse query (I can't recall how much the urls get stripped/standardized, but theoretically this is true). |
Just wanted to point out I still find the suggestion by @ukutaht as the best answer in term of usability and functionality. Also, I would like to give another use-case (ours)... It’s a private platform where we’ve got hundreds of subdomains and domains plugged onto a single service platform. Internally, each domain or subdomain relates to a project, campaign or operation (whatever you call them). Each campaign might have its own theme and features... but the mere mechanism and structure are for the most parts the same from a campaign to another. The closest example I can think of is the campaigning platform application of SumOfUs: Champaign. At a platform scale, there are times we want everything to be grouped by domains (surge of visits on the “I’ve got a problem” page, for example, which would hint at a potential issue on our platform). There’re times we want to compare how different domains (campaign/operation/project) perform. At a campaign/project/operation scale, we usually want to filter by domain. |
So @ukutaht should we reopen this to implement your solution or open a new issue? |
There is an active discussion here: #160. No need to open a new issue :) |
Closes #160
Changes
Goal
The issue I am aiming to solve is that some people (myself included) use subdomains, and want the data for the main site (e.g. j3rn.com) to also include data about the subdomains (e.g. blog.j3rn.com) such that they can have a holistic overview of an entire property.
Proposed Solution
I modified the "page" queries (top pages, entry pages, etc) to:
GROUP BY
hostnamename
field (whereas it was previously just the path).This worked relatively well with the existing React code, and only a small change (outbound links) was needed.
I've tested this locally to my own satisfaction. I'm very open to feedback on any ways this can be improved!
Please describe the changes made in the pull request here.
Below you'll find a checklist. For each item on the list, check one option and delete the other.
Tests
Changelog
Documentation