arp242 / goatcounter

Easy web analytics. No tracking of personal data.
https://www.goatcounter.com
Other
4.45k stars 177 forks source link

consider making the tracking pixel visible #560

Closed anarcat closed 2 years ago

anarcat commented 2 years ago

After an interesting discussion with a reader (following this post), I found out that at least one of my readers uses lynx to visit my website, which I find utterly fascinating. It made me turn my tracking pixel into something a little more explicit, so that instead of looking like this in lynx:

[count?p=index&t=Anarcat]

it will look like this:

tracking pixel to count visitors when Javascript is disabled

... which is done with this HTML, obviously:

    <script data-goatcounter="https://analytics.anarc.at/count" async src="//analytics.anarc.at/count.js"></script>
    <noscript>
    <img src="https://analytics.anarc.at/count?p=<TMPL_VAR PAGE>&t=<TMPL_VAR TITLE>" alt="tracking pixel to count visitors when Javascript is disabled" />
    </noscript>

but this got me thinking: what if we were more explicit with this tracking pixel for people that do load images? Since we value privacy, wouldn't that be a good way to show people they are being tracked?

And while we're add it, why not make it look like a super old school "visitor counter"?? :)

LorenzoAncora commented 2 years ago

Hi @anarcat, nice on paper but bad idea in practice! 😃

it will look like this: tracking pixel to count visitors when Javascript is disabled

Let's try to avoid getting blocked by adblockers, privacy extensions and so on: the words "tracking", "pixel", "counter", "visitors" could easily lead to GoatCounter being blocked and showing a notification to the visitor. Webmasters don't want to alarm or annoy their visitors. Also, webmasters don't want to include those keywords in their pages, because it could hinder SEO.

I found out that at least one of my readers uses lynx to visit my website, which I find utterly fascinating. It made me turn my tracking pixel into something a little more explicit [...] but this got me thinking: what if we were more explicit with this tracking pixel for people that do load images? Since we value privacy, wouldn't that be a good way to show people they are being tracked? And while we're add it, why not make it look like a super old school "visitor counter"?? :)

This is your personal choice, which may not be liked by other existing/future end users of GoatCounter. Valuing privacy doesn't mean shifting the attention towards it, distracting the user from the effective content of the website, all websites should have a legal page where their tracking and data retention policies are explained and that often suffices. In addition, we are in 2022 and there isn't a valid reason to browse the world wide web with text-only browsers, except for experimentation, also because they are physically incapable of respecting the existing web standards (which are designed for modern web browsers). Regarding web accessibility - as I know people will mistake text-only for accessible -, it suffices to use the hidden HTML attribute or the aria-hidden ARIA+HTML attribute. 👋🏻

anarcat commented 2 years ago

On 2022-02-01 01:26:57, Lorenzo Ancora wrote:

Hi @anarcat, nice on paper but bad idea in practice! 😃

it will look like this: tracking pixel to count visitors when Javascript is disabled

Let's try to avoid getting blocked by adblockers, privacy extensions and so on: the words "tracking", "pixel", "counter", "visitors" could easily lead to GoatCounter being blocked and showing a notification to the visitor.

I don't think an alt tag (or lacing one) is what will keep goatcounter from being blocked by ad blockers.

Webmasters don't want to alarm or annoy their visitors. Also, webmasters don't want to include those keywords in their pages, because it could hinder SEO.

"webmasters" are free to do whatever they want, and i really don't see why that could hinder SEO. what do you base that on?

I found out that at least one of my readers uses lynx to visit my website, which I find utterly fascinating. It made me turn my tracking pixel into something a little more explicit [...] but this got me thinking: what if we were more explicit with this tracking pixel for people that do load images? Since we value privacy, wouldn't that be a good way to show people they are being tracked? And while we're add it, why not make it look like a super old school "visitor counter"?? :)

This is your personal choice, which may not be liked by other existing/future end users of GoatCounter.

well that's a general statement that could be made about basically anything and everything.

Valuing privacy doesn't mean shifting the attention towards it, distracting the user from the effective content of the website, all websites should have a legal page where their tracking and data retention policies are explained and that often suffices.

sure. i'm not saying this should be mandatory, i think it would be a nice option to have.

In addition, we are in 2022

we're in 2022? really! i have to update my planner, dang. :p

you know people have been making that argument about "we are in XXXX" for decades now, right?

and there isn't a valid reason to browse the world wide web with text-only browsers, except for experimentation,

that is incorrect. people have legitimate reasons to use text-only browsers. you might not be aware of them, but it doesn't whisk them out of existence.

and this is besides the point here: having an "alt" tag on images is a requirement of web standards, last i checked, so that should probably be encouraged.

also because they are physically incapable of respecting the existing web standards (which are designed for modern web browsers).

i fail to see how that's necessarily the case. there is a myriad of text-only browsers, from old-school things like "lynx" to screen readers, to "read it later" services. all of those are still valid uses of the web, and are still in active use, some quite modern, even.

the web is more than Google and Chrome.

Regarding web accessibility - as I know people will mistake text-only for accessible -, it suffices to use the hidden HTML attribute or the aria-hidden ARIA+HTML attribute. 👋🏻

i am not sure hidden would do what we want here, as it might not trigger the counter at all. aria-hidden i am less familiar with, but true: it could improve accessibilty.

either way, those two are pretty much the exact opposite of what i had in mind, which was to make the counter explicitly visible, as an option.

i see you have strong opinions against it, but that doesn't mean it should just be discarded as an option.

-- A ballot is like a bullet. You don't throw your ballots until you see a target, and if that target is not within your reach, keep your ballot in your pocket.

LorenzoAncora commented 2 years ago

i see you have strong opinions against it, but that doesn't mean it should just be discarded as an option.

I only did technical considerations. My tone is neutral. I never expressed opinions, for those you'll have to ask explicitly and I'll be happy to share.

I don't think an alt tag (or lacing one) is what will keep goatcounter from being blocked by ad blockers.

You aren't in adblocker and anti-trackers developer's mind. There isn't anything blocking them from parsing descriptions and there is no way to prove some aren't already doing it. In addition, many security solutions have extensions to flag pages which use tracking pixels, so it is better to not trigger their heuristics. There is no good reason to risk.

"webmasters" are free to do whatever they want, and i really don't see why that could hinder SEO. what do you base that on?

Webmasters - professionals or not - are the end users of this and other tracking software. I've already explained what could hinder SEO, but I'll repeat because it isn't obvious: bad or suspicious keywords in image descriptions. Search engines like Google, Bing, DDG, ... use extremely complex algorithms (including AI) to rank webpages basing on the presence or absence of certain keywords in their body. If a page is coherent and not suspicious it will rank up, otherwise competitors will have the upper hand. Webmasters want tracking to be as much invisible as possible, especially in the EU where there is GDPR and they are already forced to show very annoying privacy-related banners. Unless the webpage is about tracking, let's keep tracking-related keywords out of it as much as possible.

well that's a general statement that could be made about basically anything and everything. [...] we're in 2022? really! i have to update my planner, dang. :p

Yes pal, time is a tyrant and technologies are subject to obsolescence, some fall others rise. Nobody's like it, but so it is. In the meantime, webmasters should be free to make their own choices, which includes making tracking explicit, implicit or invisible. It isn't on us to judge.

and this is besides the point here: having an "alt" tag on images is a requirement of web standards, last i checked, so that should probably be encouraged.

Sure, but the correct description is "blank image" or "padding".

that is incorrect. people have legitimate reasons to use text-only browsers. you might not be aware of them, but it doesn't whisk them out of existence. [...] i fail to see how that's necessarily the case. there is a myriad of text-only browsers, from old-school things like "lynx" to screen readers, to "read it later" services. all of those are still valid uses of the web, and are still in active use, some quite modern, even. the web is more than Google and Chrome.

The tracking offered by GoatCounter is aimed at web browsers, not raw web clients. Modern websites are designed for standard-compliant web browsers and the text-only web browsers - which aren't screen readers and have no common implementation - lack the prerequisites to respect the current web standards. If users want to experiment with obsolete or immature technology, they can do it in their LAN, also because text-only browsers are often developed by too few individuals to guarantee security in the world wide web. Simpler doesn't mean safer or easier to support, those things are unlinked from the kind of rendering.

i am not sure hidden would do what we want here, as it might not trigger the counter at all. aria-hidden i am less familiar with, but true: it could improve accessibilty.

hidden only prevents rendering the pixel (not downloading) so the counter will work when it is specified, unless experimental technologies like lazy-loading are used; aria-hidden improves accessibility when HTML5 isn't used and does the same thing but only for screen readers and similar devices. Text-only browsers aren't standard-compliant and have no obligation to honour these attributes but they will generally respect the hidden attribute. Please not that there is absolutely no way to guarantee the correct representation of any HTML element in text-only browsers as they are meant to produce an approximation of a graphical rendering on a software device (the console) which lacks appropriate rendering capabilities. They can be used to browse some documentation, maybe submit a basic web form or check a database interface but nothing more. Users won't be able to access online banking, audio or video streaming, chats, ... or even correctly represent anything based on mid to complex JavaScript (nowadays 96,3% of websites).

There is no valid reason to make the tracking pixel visible or indexable by search engines, as both changes could reduce SEO value and reduce the time users spend on exploring the main contents of the website. Tracking should be invisible unless the webmaster desires otherwise, also because there are dedicated laws on how tracking should be reported depending on each country's policy which could make its visibility redundant.


Commenting on the second proposal, offering the option to generate a dynamic view counter (without tracking-related keywords) could be a good idea and I doubt anyone would be against that, but it should be implemented as optional feature. Tracking pixels are meant to be as much hidden as possible, so let's make sure it is so by default.

arp242 commented 2 years ago

And while we're add it, why not make it look like a super old school "visitor counter"?? :)

This already exists actually: https://www.goatcounter.com/help/visitor-counter

The two could be combined, but I don't see a lot of practical value as such since there visitor counter already exists, and it'd have to be opt-in. You'd save a network request, but it's all so minimal that I don't think it's worth fretting about, even in cases with high-latency/low-bandwidth connections the difference will be minimal, if noticeable at all.

As for:

what if we were more explicit with this tracking pixel for people that do load images? Since we value privacy, wouldn't that be a good way to show people they are being tracked?

The problem is that I don't know your site's layout. You can have body >img { float: left } or a million other weird things on your site, and then it looks all weird or may even break your site. Even an alt text can render in weird ways.

So it would have to be opt-in, and if it's opt-in then it seems to me that people might as well just add something manually if they want, either with just some text or image somewhere, or with the "visitor counter".

Let's try to avoid getting blocked by adblockers, privacy extensions and so on: the words "tracking", "pixel", "counter", "visitors" could easily lead to GoatCounter being blocked and showing a notification to the visitor.

This ship sailed a long time ago and not much that can be done about it.

GoatCounter is named GoatCounter because I really wanted to avoid the words "analytics" and "tracking", because I felt GoatCounter was (and is) quite a different thing from the sort of "tracking" that people complain about. For the first few months you couldn't find those words anywhere on the site or code base. This proved fairly useless, and many people have views on this that I find rather unnuanced.

Anyway, most adblockers already have GoatCounter in their lists, and have for years now.

anarcat commented 2 years ago

that's super interesting, thanks. i didn't know about the visitor counter thing, definitely a nice addition.

i think that answers my question, and we can close this issue, thanks again!

LorenzoAncora commented 2 years ago

This ship sailed a long time ago and not much that can be done about it. [...] Anyway, most adblockers already have GoatCounter in their lists, and have for years now.

@arp242 pessimism is no good: as long as there are no generic tracking-related keywords the probability to be blocked by the anti-tracking protection bundled in some web browsers and antiviruses is statistically low, making so the collected statistics are useful. At most, GoatCounter will figure in optional block lists of some browser extensions, but this is rightful and correct. 👋🏻