90

I've had a link on my webpage to one of my Stack Overflow answers for a long time now. For fun, I track it with Google Analytic events, so I know for sure that I've received more than 1000 clicks. Yet I haven't even gotten a booster badge for it.

Here's a screenshot for the click events from Google Analytics:

Enter image description here

I doubt that there are less than 1000 unique IP addresses there.

Here's the webpage with the link. See side panel (or below article if you're on mobile).

https://programming.guide/java/do-interfaces-inherit-from-object.html

It's linked on every Java article on that site. The link looks as follows:

<a href="https://stackoverflow.com/a/33627846/276052" onclick="trackOutboundLink('https://stackoverflow.com/a/33627846/276052'); return false;">In Java, difference between default, public, protected, and private</a>

I know it's an answer (.../a/...) link and not a question link, but according to this previous question these have counted in the past, and there is a record of @balpha stating that they should count.

What gives?

11
  • 2
    You seem to be linking an answer, not a question. The Publicist badge requires: "Share a link to a question later visited by 1000 unique IP addresses."
    – Ron Maupin
    Commented Dec 4, 2019 at 23:22
  • 2
    No, I think links to answers should count: meta.stackexchange.com/a/123544/147319
    – aioobe
    Commented Dec 4, 2019 at 23:23
  • 5
    I have never seen it work that way, and the only badges I have received for sharing are specific to the questions, and none for answers. I would have a lot more if it counted for answers. See the second answer on that question for how to link it where it counts.
    – Ron Maupin
    Commented Dec 4, 2019 at 23:25
  • 5
    @RonMaupin As indicated by the answer there, it was changed in 2012 to include share links for answers. The second answer on that question is irrelevant, because it was posted before that change was made.
    – animuson StaffMod
    Commented Dec 5, 2019 at 3:49
  • 1
    @animuson, I'm just saying that it may be the intention that it work that way, but it actually does not.
    – Ron Maupin
    Commented Dec 5, 2019 at 4:25
  • 3
    @RonMaupin I've asked for the descriptions to be changed earlier this year. I've also updated the outdated answer. The less confusion, the better :)
    – Glorfindel Mod
    Commented Dec 5, 2019 at 6:17
  • 6
    Whelp, this is indeed broken for answers specifically. We'll get it fixed up and I'll report back. It's non-trivial to fix the query since the correct version is much more expensive, but I see the issue. Thanks for the report!
    – Nick Craver Mod
    Commented Dec 7, 2019 at 0:01
  • 6
    As Nick mentioned, we found a bug in the query. I'm currently working on a fix for it and am hoping to get it out this week.
    – Taryn Staff
    Commented Dec 10, 2019 at 21:52
  • @animuson Well, it looks like it is now fixed because I suddenly got a whole bunch of badges for it.
    – Ron Maupin
    Commented Dec 12, 2019 at 22:51
  • @Glorfindel, it now works, but it did not work before now.
    – Ron Maupin
    Commented Dec 12, 2019 at 22:54
  • 12
    Thanks for reporting this, I just landed a whole slew of badges including golds across the network. I've always had a nagging feeling those links weren't actually working. On the other hand it's slightly disturbing how long they retain visitor IP addresses.
    – Caleb
    Commented Dec 13, 2019 at 5:30

1 Answer 1

113
+50

Thanks for reporting this. The query was broken and has been for a little while. It should now be fixed along with some improvements to it.

The original queries for the sharing badges Announcer, Booster, and Publicist were supposed to count the total number of unique IP Addresses that visited from a link shared to a question.

In order to calculate this we would use the PostId from the link shared and join back to the Posts table to aggregate the total visits under each question. This process worked great for questions shared, but as you found out there was an issue when answers were shared. There was a bug that was introduced into the code during an earlier optimization that wasn't properly looking for the ParentId when an answer was shared. As a result, answers were not being included in the awarding of badges.

After a lot of testing this week, we determined that the easiest and most efficient way to fix this is to award these badges based on the PostId that is shared instead of basing it on the question.

This means that if you share a link to a question, an answer, or even multiple answers on the same question that is then visited by enough unique IP Addresses you could receive badges for any of those shared links, so you technically could be awarded multiple badges for the same question.

The badge descriptions have been updated to say

Share a link to a post...

We are also in the process of awarding the badges with the new queries, so you might get some notifications in your inbox.

With the change in the logic it does mean that some users were awarded badges that would no longer qualify - since we're no longer aggregating up to the question. These numbers were very small, so we are not going to be revoking any badges due to the change in logic.

We also identified a small number of users who will receive duplicate badges on the initial rollout of the new logic - meaning they were awarded for a question with the old logic, but now are being awarded for an answer - the duplicate badges will be removed over the next few days after the corrected badges are awarded.

19
  • Am I understanding well that the badge will be awarded once per Q&A block? Then it is a bit confusing that the description focuses on the post while multiple posts on the same Q&A won't qualify to multiple badges. Commented Dec 12, 2019 at 22:38
  • 9
    @fedorquisaysReinstateMonica That was the original logic, but not now. It's now per post - question or answer, so you technically could earn a badge for a question as well as an answer on the question or even multiple answers on a question - if you share all the things.
    – Taryn Staff
    Commented Dec 12, 2019 at 22:42
  • I just got around 100 (!) Announcer badges on SO alone. I do add many links to my posts, so this makes sense. Does it matter whether the complete link or the short permalink is used? Commented Dec 12, 2019 at 23:30
  • 2
    @ErwinBrandstetter We use the share link from the post, so if you include your UserId to your answer, and it gets enough clicks it will count. But that also tells you how long it's possibly been broken.
    – Taryn Staff
    Commented Dec 12, 2019 at 23:33
  • 1
    Meaning a full link (like dba.stackexchange.com/questions/105736/…) is not counted for these badges, only the "share link" (= short permalink) (like dba.stackexchange.com/a/105828/3684) does? That might be documented under the tag descriptions. Commented Dec 12, 2019 at 23:35
  • 6
    @ErwinBrandstetter Correct, the full link does not count. It's the share link that includes your UserId.
    – Taryn Staff
    Commented Dec 12, 2019 at 23:37
  • 1
    @Taryn: I would drown in badges right now it those would count, too. :D Commented Dec 12, 2019 at 23:38
  • 1
    "We are also in the process of awarding the badges with the new queries, so you might get some notifications in your inbox.": you can say that again. +23 Publicist badges, +93 Booster badges, +959 Announcer badges. Yes... yes, I did get some notifications in my inbox. (stackoverflow.com/users/6309/vonc?tab=activity). Feel free to remove any duplicate you might find.
    – VonC
    Commented Dec 13, 2019 at 7:42
  • Is it possible that you're counting the person who shared the link as being the last person to edit it? I got the badge for this answer, and from looking at the linked questions, the only one that I seem to have had any input in was this one, where all I did was edit the title. I didn't share the link myself. Commented Dec 13, 2019 at 11:02
  • 1
    @DaveyDaveDave Nope, we count the from the share link on the post. My guess is at some point you shared a link to that answer and it's gotten a lot of visits.
    – Taryn Staff
    Commented Dec 13, 2019 at 12:52
  • @VonC You just got all the badges. We'll be doing the clean-up of the dups later today. We wanted to make sure everything was awarded correctly first.
    – Taryn Staff
    Commented Dec 13, 2019 at 12:53
  • 1
    @Taryn Sure. I meant to say "Feel free to remove any duplicate you might find whenever you see fit".
    – VonC
    Commented Dec 13, 2019 at 13:17
  • 7
    Huh, I just learned that the "Share" link includes my user id - that's not really what I expected from that link :-( ! I use the sharing links also on other websites where I don't want to link back to my SO profile (for privacy reasons). Kinda unexpected that SO leaks my data to those sites in such a short innocuos link.
    – oliver
    Commented Dec 13, 2019 at 14:45
  • 4
    @oliver There is a message on the Share popup that says your UserId is included. It's easily removable from the end of the link before sharing.
    – Taryn Staff
    Commented Dec 13, 2019 at 14:47
  • 4
    @oliver I've also filed a feature request to anonymize/hash the user ID so you can still earn the publicity badges without leaking your user ID. Commented Dec 13, 2019 at 16:23

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .